ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/maps/python/CFBoard.py
Revision: 1.1.1.1 (vendor branch)
Committed: Sun Feb 5 00:02:08 2006 UTC (18 years, 3 months ago) by root
Content type: text/x-python
Branch: UPSTREAM, MAIN
CVS Tags: post_fixaltar, last_stable, post_fixaltar2, rel-2_82, rel-2_81, rel-2_80, pre_coinconvert, UPSTREAM_2006_03_15, rel-3_0, rel-2_6, rel-2_7, rel-2_4, rel-2_5, rel-2_2, rel-2_0, rel-2_1, rel-2_72, rel-2_73, rel-2_71, rel-2_76, rel-2_77, rel-2_74, rel-2_75, rel-2_54, rel-2_55, rel-2_56, rel-2_79, UPSTREAM_2006_02_01, rel-2_53, pre_material_cfarch_normalize_run, rel-2_32, pre_fixconverter, post_coinconvert, pre_fixaltar2, pre_map_rename, UPSTREAM_2006_02_22, rel-2_90, rel-2_92, rel-2_93, rel-2_78, post_fixconverter, pre_fixaltar, rel-2_61, rel-2_43, rel-2_42, rel-2_41, HEAD
Changes since 1.1: +0 -0 lines
Log Message:
Initial Import

File Contents

# User Rev Content
1 root 1.1 # CFBoard.py - CFBoard class
2     #
3     # Copyright (C) 2002 Joris Bontje
4     #
5     # This program is free software; you can redistribute it and/or modify
6     # it under the terms of the GNU General Public License as published by
7     # the Free Software Foundation; either version 2 of the License, or
8     # (at your option) any later version.
9     #
10     # This program is distributed in the hope that it will be useful,
11     # but WITHOUT ANY WARRANTY; without even the implied warranty of
12     # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13     # GNU General Public License for more details.
14     #
15     # You should have received a copy of the GNU General Public License
16     # along with this program; if not, write to the Free Software
17     # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18     #
19     # The author can be reached via e-mail at jbontje@suespammers.org
20     #
21     #Updated to use new path functions in CFPython -Todd Mitchell
22    
23     import os.path
24     import shelve
25    
26     import Crossfire
27    
28     class CFBoard:
29    
30     boarddb_file = os.path.join(Crossfire.LocalDirectory(),'crossfireboard')
31     boarddb = {}
32     total = 0
33    
34     def __init__(self):
35     self.boarddb = shelve.open(self.boarddb_file)
36    
37     def write(self, boardname, author, message):
38     if not self.boarddb.has_key(boardname):
39     self.boarddb[boardname]=[[author,message]]
40     else:
41     temp=self.boarddb[boardname]
42     temp.append([author,message])
43     self.boarddb[boardname]=temp
44    
45     def list(self, boardname):
46     if self.boarddb.has_key(boardname):
47     elements=self.boarddb[boardname]
48     return elements
49    
50    
51     def delete(self, boardname, id):
52     if self.boarddb.has_key(boardname):
53     if id>0 and id<=len(self.boarddb[boardname]):
54     temp=self.boarddb[boardname]
55     temp.pop(id-1)
56     self.boarddb[boardname]=temp
57     return 1
58     return 0
59    
60     def countmsg(self, boardname):
61     if self.boarddb.has_key(boardname):
62     return len(self.boarddb[boardname])
63     else:
64     return 0
65    
66     def getauthor(self, boardname, id):
67     if self.boarddb.has_key(boardname):
68     if id>0 and id<=len(self.boarddb[boardname]):
69     author,message=self.boarddb[boardname][id-1]
70     return author