- move the ImperialPost python files to the python directory, unclude system pathfinding from CFPython

git-svn-id: svn://svn.code.sf.net/p/crossfire/code/trunk/maps@1992 282e977c-c81d-0410-88c4-b93c2d0d6712
master
temitchell 2003-02-02 20:05:42 +00:00
parent 7c8beb53ba
commit 9dcd72efa0
12 changed files with 735 additions and 1 deletions

55
python/CFBank.py 100644
View File

@ -0,0 +1,55 @@
# CFBank.py - CFBank class
#
# Copyright (C) 2002 Joris Bontje
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# The author can be reached via e-mail at jbontje@suespammers.org
#
#Updated to use new path functions in CFPython -Todd Mitchell
import shelve
import CFgetPaths
class CFBank:
bankdb_file = '%scrossfirebank' % (CFgetPaths.getPaths('localdir'))
bankdb = {}
def __init__(self):
self.bankdb = shelve.open(self.bankdb_file)
def deposit(self, user, amount):
if not self.bankdb.has_key(user):
self.bankdb[user]=amount
else:
temp=self.bankdb[user]
self.bankdb[user]=temp+amount
def withdraw(self, user, amount):
if self.bankdb.has_key(user):
if (self.bankdb[user] >= amount):
temp=self.bankdb[user]
self.bankdb[user]=temp-amount
return 1
return 0
def getbalance(self,user):
if self.bankdb.has_key(user):
return self.bankdb[user]
else:
return 0

70
python/CFBoard.py 100644
View File

@ -0,0 +1,70 @@
# CFBoard.py - CFBoard class
#
# Copyright (C) 2002 Joris Bontje
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# The author can be reached via e-mail at jbontje@suespammers.org
#
#Updated to use new path functions in CFPython -Todd Mitchell
import shelve
import CFgetPaths
class CFBoard:
boarddb_file = '%scrossfireboard' % (CFgetPaths.getPaths('localdir'))
boarddb = {}
total = 0
def __init__(self):
self.boarddb = shelve.open(self.boarddb_file)
def write(self, boardname, author, message):
if not self.boarddb.has_key(boardname):
self.boarddb[boardname]=[[author,message]]
else:
temp=self.boarddb[boardname]
temp.append([author,message])
self.boarddb[boardname]=temp
def list(self, boardname):
if self.boarddb.has_key(boardname):
elements=self.boarddb[boardname]
return elements
def delete(self, boardname, id):
if self.boarddb.has_key(boardname):
if id>0 and id<=len(self.boarddb[boardname]):
temp=self.boarddb[boardname]
temp.pop(id-1)
self.boarddb[boardname]=temp
return 1
return 0
def countmsg(self, boardname):
if self.boarddb.has_key(boardname):
return len(self.boarddb[boardname])
else:
return 0
def getauthor(self, boardname, id):
if self.boarddb.has_key(boardname):
if id>0 and id<=len(self.boarddb[boardname]):
author,message=self.boarddb[boardname][id-1]
return author

View File

@ -4,11 +4,12 @@
#Please do not put CFPython functions in this file, #Please do not put CFPython functions in this file,
#but rather place these in the calling file (don't ask me why - it just feels right) #but rather place these in the calling file (don't ask me why - it just feels right)
import CFgetPaths
import os.path import os.path
import shelve import shelve
import random import random
import CFgetPaths
class SlotMachine: class SlotMachine:
#sets up the file that holds all the slotmachine jackpots #sets up the file that holds all the slotmachine jackpots
#make sure this points to your writable var/crossfire directory #make sure this points to your writable var/crossfire directory

63
python/CFLog.py 100644
View File

@ -0,0 +1,63 @@
# CFLog.py - CFLog class
#
# Copyright (C) 2002 Joris Bontje
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# The author can be reached via e-mail at jbontje@suespammers.org
#
#Updated to use new path functions in CFPython -Todd Mitchell
import shelve
import CFgetPaths
from time import localtime, strftime, time
class CFLog:
logdb_file = '%scrossfirelog' % (CFgetPaths.getPaths('localdir'))
logdb = {}
def __init__(self):
self.logdb = shelve.open(self.logdb_file)
def create(self, name):
date = strftime("%a, %d %b %Y %H:%M:%S CEST", localtime(time()))
count=1
self.logdb[name]=['unknown', date, count]
def update(self, name, ip):
date = strftime("%a, %d %b %Y %H:%M:%S CEST", localtime(time()))
count=0
if self.logdb.has_key(name):
oldip, olddate, count=self.logdb[name]
count+=1
self.logdb[name]=[ip, date, count]
def remove(self, name):
if self.logdb.has_key(name):
del self.logdb[name]
def exist(self, name):
if self.logdb.has_key(name):
return 1
else:
return 0
def info(self, name):
if self.exist(name):
ip, date, count=self.logdb[name]
return ip, date, count

56
python/CFMail.py 100644
View File

@ -0,0 +1,56 @@
# CFMail.py - CFMail class
#
# Copyright (C) 2002 Joris Bontje
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# The author can be reached via e-mail at jbontje@suespammers.org
#
#Updated to use new path functions in CFPython -Todd Mitchell
import shelve
import CFgetPaths
class CFMail:
maildb_file = '%scrossfiremail' % (CFgetPaths.getPaths('localdir'))
maildb = {}
total = 0
def __init__(self):
self.maildb = shelve.open(self.maildb_file)
def send(self, type, toname, fromname, message):
# type: 1=mailscoll, 2=newsletter, 3=mailwarning
if not self.maildb.has_key(toname):
self.maildb[toname]=[[type,fromname,message]]
else:
temp=self.maildb[toname]
temp.append([type,fromname,message])
self.maildb[toname]=temp
def receive(self, toname):
if self.maildb.has_key(toname):
elements=self.maildb[toname]
del self.maildb[toname]
return elements
def countmail(self, toname):
if self.maildb.has_key(toname):
return len(self.maildb[toname])
else:
return 0

View File

@ -0,0 +1,85 @@
# Script for say event of IPO message board
#
# Copyright (C) 2002 Joris Bontje
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# The author can be reached via e-mail at jbontje@suespammers.org
#
# help - gives information about usage
#
#Updated to use new path functions in CFPython -Todd Mitchell
import CFPython
import CFBoard
import sys
sys.path.append('%s/%s/python' %(CFPython.GetDataDirectory(),CFPython.GetMapDirectory()))
import string
board = CFBoard.CFBoard()
activator=CFPython.WhoIsActivator()
activatorname=CFPython.GetName(activator)
whoami=CFPython.WhoAmI()
boardname=CFPython.GetEventOptions(whoami,6) # 6 is say event
if (boardname):
text = string.split(CFPython.WhatIsMessage(), ' ', 1)
if text[0] == 'help' or text[0] == 'yes':
message='Help for %s\nList of commands:\n\n- list\n- write <message>\n- remove <id>\n'%boardname
CFPython.Write(message, activator)
elif text[0] == 'write':
if len(text)==2:
board.write(boardname, activatorname, text[1])
CFPython.Write('Added to %s'%boardname, activator)
else:
CFPython.Write('Usage "write <text>"', activator)
elif text[0] == 'list':
total = board.countmsg(boardname)
if total > 0:
CFPython.Write('Content of %s:'%boardname, activator)
elements = board.list(boardname)
element = []
id = 1
for element in elements:
author, message = element
CFPython.Write('<%d> (%s) %s'%(id,author,message), activator)
id=id+1
else:
CFPython.Write('%s is empty'%boardname, activator)
elif text[0] == 'remove':
if len(text)==2:
if board.getauthor(boardname,int(text[1]))==activatorname or CFPython.IsDungeonMaster(activator):
if board.delete(boardname, int(text[1])):
CFPython.Write('Removed from %s'%boardname, activator)
else:
CFPython.Write('Doesn\'t exist on %s'%boardname, activator)
else:
CFPython.Write('Access denied', activator)
else:
CFPython.Write('Usage "remove <id>"', activator)
else:
CFPython.Write('Do you need help?', activator)
else:
CFPython.Write('Board Error', activator)

View File

@ -0,0 +1,65 @@
# recieve.py - Script for apply event of mailbox
#
# Copyright (C) 2002 Joris Bontje
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# The author can be reached via e-mail at jbontje@suespammers.org
#
#Updated to use new path functions in CFPython -Todd Mitchell
import CFPython
import sys
sys.path.append('%s/%s/python' %(CFPython.GetDataDirectory(),CFPython.GetMapDirectory()))
import CFMail
import string
activator=CFPython.WhoIsActivator()
activatorname=CFPython.GetName(activator)
whoami=CFPython.WhoAmI()
mail = CFMail.CFMail()
total = mail.countmail(activatorname)
if total > 0:
elements = mail.receive(activatorname)
element = []
for element in elements:
type, fromname, message = element
if type==1:
msgob = CFPython.CreateObjectInside('scroll', whoami)
CFPython.SetName(msgob,'mailscroll F: '+fromname+' T: '+activatorname)
CFPython.SetMessage(msgob, message)
CFPython.SetValue(msgob, 0)
elif type==2:
msgob = CFPython.CreateObjectInside('note', whoami)
CFPython.SetName(msgob,'newspaper D: '+fromname)
CFPython.SetMessage(msgob, message)
CFPython.SetValue(msgob, 0)
elif type==3:
msgob = CFPython.CreateObjectInside('diploma', whoami)
CFPython.SetName(msgob,'mailwarning F: '+fromname+' T: '+activatorname)
CFPython.SetMessage(msgob, message)
CFPython.SetValue(msgob, 0)
else:
print 'ERROR: unknown mailtype\n'
if total == 1:
CFPython.Write('You got 1 mail.', activator)
elif total > 1:
CFPython.Write('You got %s mails.'%total, activator)
else:
CFPython.Write('You haven\'t got any mail.', activator)

148
python/IPO/say.py 100755
View File

@ -0,0 +1,148 @@
# Script for say event of IPO employees
#
# Copyright (C) 2002 Joris Bontje
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# The author can be reached via e-mail at jbontje@suespammers.org
#
#Updated to use new path functions in CFPython -Todd Mitchell
#
# help - gives information about usage
# pen - drops IPO Writing Pen on the floor
# literacy - drops IPO Scroll of Literacy on the floor
# mailscroll <friend> - drops mailscroll to <friend> on the floor
# mailwarning <foo> - drops mailwarning to <foo> on the floor
# Constant price values
priceWritingPen=100
priceScrollOfLiteracy=5000
priceMailScroll=5
import CFPython
import sys
sys.path.append('%s/%s/python' %(CFPython.GetDataDirectory(),CFPython.GetMapDirectory()))
import string
import CFLog
import CFBank
activator=CFPython.WhoIsActivator()
activatorname=CFPython.GetName(activator)
whoami=CFPython.WhoAmI()
x=CFPython.GetXPosition(activator)
y=CFPython.GetYPosition(activator)
log = CFLog.CFLog()
text = string.split(CFPython.WhatIsMessage())
bank = CFBank.CFBank()
if text[0] == 'help' or text[0] == 'yes':
message = 'How can I help you ? Here is a quick list of commands:\n\n- pen (%s platinum)\n- literacy (%s platinum)\n- mailscroll <friend> (%s platinum)\n- seen <friend> (free)\n'%(priceWritingPen,priceScrollOfLiteracy,priceMailScroll)
CFPython.Say(whoami,message)
elif text[0] == 'pen':
if (CFPython.PayAmount(activator, priceWritingPen*50)):
CFPython.Say(whoami, 'Here is your IPO Writing Pen')
id = CFPython.CreateObject('writing pen', (x, y))
CFPython.SetName(id, 'IPO Writing Pen')
CFPython.SetValue(id, 0)
else:
CFPython.Say(whoami, 'You need %s platinum for an IPO Writing Pen'%priceWritingPen)
elif text[0] == 'literacy':
if (CFPython.PayAmount(activator,priceScrollOfLiteracy*50)):
CFPython.Say(whoami, 'Here is your IPO Scroll of Literacy')
id = CFPython.CreateObject('scroll of literacy', (x, y))
CFPython.SetName(id, 'IPO Scroll of Literacy')
CFPython.SetValue(id, 0)
else:
CFPython.Say(whoami, 'You need %s platinum for an IPO Scroll of Literacy'%priceScrollOfLiteracy)
elif text[0] == 'mailscroll':
if len(text)==2:
if log.exist(text[1]):
if (CFPython.PayAmount(activator, priceMailScroll*50)):
CFPython.Say(whoami, 'Here is your mailscroll')
id = CFPython.CreateObject('scroll', (x, y))
CFPython.SetName(id, 'mailscroll T: '+text[1]+' F: '+ activatorname)
CFPython.SetValue(id, 0)
else:
CFPython.Say(whoami, 'You need %s platinum for a mailscroll'%priceMailScroll)
else:
CFPython.Say(whoami, 'I don\'t know any %s'%text[1])
else:
CFPython.Say(whoami, 'Usage "mailscroll <friend>"')
elif text[0] == 'mailwarning':
if (CFPython.IsDungeonMaster(activator)):
if len(text)==2:
if log.exist(text[1]):
CFPython.Say(whoami, 'Here is your mailwarning')
id = CFPython.CreateObject('diploma', (x, y))
CFPython.SetName(id, 'mailwarning T: '+text[1]+' F: '+ activatorname)
CFPython.SetValue(id, 0)
else:
CFPython.Say(whoami, 'I don\'t know any %s'%text[1])
else:
CFPython.Say(whoami, 'Usage "mailwarning <foo>"')
else:
CFPython.Say(whoami, 'You need to be DM to be able to use this command')
elif text[0] == 'seen':
if len(text)==2:
if log.exist(text[1]):
ip, date, count = log.info(text[1])
CFPython.Say(whoami, "I have seen '%s' joining %d times, last at %s, using IP: %s" % (text[1], count, date, ip))
else:
CFPython.Say(whoami, "I have never seen '%s' joining" % text[1])
else:
CFPython.Say(whoami, 'Usage "seen <friend>"')
elif text[0] == 'deposit':
if len(text)==2:
if (CFPython.PayAmount(activator, int(text[1])*50000)):
bank.deposit(activatorname, int(text[1]))
CFPython.Say(whoami, 'Deposited to bank account')
else:
CFPython.Say(whoami, 'You need %d platinum'%(int(text[1])*1000))
else:
CFPython.Say(whoami, 'Usage "deposit <amount kp>"')
elif text[0] == 'withdraw':
if len(text)==2:
if (bank.withdraw(activatorname, int(text[1]))):
CFPython.Say(whoami, 'Withdrawn from bank account')
id = CFPython.CreateObject('platinum coin', (x, y))
CFPython.SetQuantity(id, int(text[1])*1000)
else:
CFPython.Say(whoami, 'Not enough kp on your account')
else:
CFPython.Say(whoami, 'Usage "withdraw <amount kp>"')
elif text[0] == 'balance':
balance = bank.getbalance(activatorname)
CFPython.Say(whoami, 'Amount on bank: %d kp'%balance)
else:
CFPython.Say(whoami, 'Do you need help?')

83
python/IPO/send.py 100755
View File

@ -0,0 +1,83 @@
# send.py - Script for close event of mailbox
#
# Copyright (C) 2002 Joris Bontje
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# The author can be reached via e-mail at jbontje@suespammers.org
#
#Updated to use new path functions in CFPython -Todd Mitchell
import CFPython
import sys
sys.path.append('%s/%s/python' %(CFPython.GetDataDirectory(),CFPython.GetMapDirectory()))
import CFMail
import string
from time import localtime, strftime, time
mail = CFMail.CFMail()
date = strftime("%a, %d %b %Y %H:%M:%S CEST", localtime(time()))
activator=CFPython.WhoIsActivator()
activatorname=CFPython.GetName(activator)
whoami=CFPython.WhoAmI()
idlist=[]
inv = CFPython.CheckInventory(CFPython.WhoAmI(),"mailscroll")
if inv != 0:
while inv!=0:
text=string.split(CFPython.GetName(inv))
if text[0]=='mailscroll' and text[1]=='T:' and text[3]=='F:':
idlist.append(inv)
toname=text[2]
fromname=text[4]
message='From: %s\nTo: %s\nDate: %s\n\n%s\n' % (fromname, toname, date, CFPython.GetMessage(inv)[:-1])
CFPython.Write('mailscroll to '+toname+' sent.', activator)
mail.send(1, toname, fromname, message)
elif text[0]=='mailscroll' and text[1]=='F:' and text[3]=='T:':
idlist.append(inv)
fromname=text[2]
toname=text[4]
message=CFPython.GetMessage(inv)[:-1]+'\n'
mail.send(1, toname, fromname, message)
else:
print "ID: %d"%inv
print "Name: "+CFPython.GetName(inv)
inv=CFPython.GetNextObject(inv)
inv = CFPython.CheckInventory(CFPython.WhoAmI(),"mailwarning")
if inv != 0:
while inv!=0:
text=string.split(CFPython.GetName(inv))
if text[0]=='mailwarning' and text[1]=='T:' and text[3]=='F:':
idlist.append(inv)
toname=text[2]
fromname=text[4]
message='From: %s\nTo: %s\nDate: %s\n\n%s\n' % (fromname, toname, date, CFPython.GetMessage(inv)[:-1])
CFPython.Write('mailwarning to '+toname+' sent.', activator)
mail.send(3, toname, fromname, message)
elif text[0]=='mailwarning' and text[1]=='F:' and text[3]=='T:':
idlist.append(inv)
fromname=text[2]
toname=text[4]
message=CFPython.GetMessage(inv)[:-1]+'\n'
mail.send(3, toname, fromname, message)
else:
print "ID: %d"%inv
print "Name: "+CFPython.GetName(inv)
inv=CFPython.GetNextObject(inv)
for inv in idlist:
CFPython.RemoveObject(inv)

View File

@ -0,0 +1,33 @@
# python_born.py - handler for global born event
#
# Copyright (C) 2002 Joris Bontje
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# The author can be reached via e-mail at jbontje@suespammers.org
#
#Updated to use new path functions in CFPython -Todd Mitchell
import CFPython
import sys
sys.path.append('%s/%s/python' %(CFPython.GetDataDirectory(),CFPython.GetMapDirectory()))
import CFLog
import string
activator = CFPython.WhoIsActivator()
name = CFPython.GetName(activator)
log = CFLog.CFLog()
log.create(name)

View File

@ -0,0 +1,42 @@
# python_login.py - handler for global login event
#
# Copyright (C) 2002 Joris Bontje
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# The author can be reached via e-mail at jbontje@suespammers.org
#
#Updated to use new path functions in CFPython -Todd Mitchell
import CFPython
import sys
sys.path.append('%s/%s/python' %(CFPython.GetDataDirectory(),CFPython.GetMapDirectory()))
import CFMail
import CFLog
import string
activator = CFPython.WhoIsActivator()
name = CFPython.GetName(activator)
ip = CFPython.WhatIsMessage()
mail = CFMail.CFMail()
log = CFLog.CFLog()
total = mail.countmail(name)
log.update(name, ip)
if total > 0:
CFPython.Write('You have some mail waiting for you', activator)
else:
CFPython.Write('No mail...', activator)

View File

@ -0,0 +1,33 @@
# python_remove.py - handler for global remove event
#
# Copyright (C) 2002 Joris Bontje
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# The author can be reached via e-mail at jbontje@suespammers.org
#
#Updated to use new path functions in CFPython -Todd Mitchell
import CFPython
import sys
sys.path.append('%s/%s/python' %(CFPython.GetDataDirectory(),CFPython.GetMapDirectory()))
import CFLog
import string
activator = CFPython.WhoIsActivator()
name = CFPython.GetName(activator)
log = CFLog.CFLog()
log.remove(name)