Crossfire Server, Trunk
CFBoard.py
Go to the documentation of this file.
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 boardname in self.boarddb:
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 boardname in self.boarddb:
47  elements=self.boarddb[boardname]
48  return elements
49 
50 
51  def delete(self, boardname, id):
52  if boardname in self.boarddb:
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 boardname in self.boarddb:
62  return len(self.boarddb[boardname])
63  else:
64  return 0
65 
66  def getauthor(self, boardname, id):
67  if boardname in self.boarddb:
68  if id>0 and id<=len(self.boarddb[boardname]):
69  author,message=self.boarddb[boardname][id-1]
70  return author
CFBoard.CFBoard.write
def write(self, boardname, author, message)
Definition: CFBoard.py:37
CFBoard.CFBoard.boarddb_file
boarddb_file
Definition: CFBoard.py:30
CFBoard.CFBoard.__init__
def __init__(self)
Definition: CFBoard.py:34
CFBoard.CFBoard.countmsg
def countmsg(self, boardname)
Definition: CFBoard.py:60
CFBoard.CFBoard.delete
def delete(self, boardname, id)
Definition: CFBoard.py:51
CFBoard.CFBoard.boarddb
dictionary boarddb
Definition: CFBoard.py:31
CFBoard.CFBoard.list
def list(self, boardname)
Definition: CFBoard.py:45
CFBoard.CFBoard
Definition: CFBoard.py:28
CFBoard.CFBoard.getauthor
def getauthor(self, boardname, id)
Definition: CFBoard.py:66