Annotation of OSAS/OSA_system/OSAS_ids.old.py, revision 1.1
1.1 ! dwinter 1: """Generate and organize the institutes internal IDs
! 2: DW 2003, itgroup """
! 3:
! 4: from AccessControl import ClassSecurityInfo
! 5: from Globals import InitializeClass
! 6: from Products.PageTemplates.PageTemplateFile import PageTemplateFile
! 7: from Products.PageTemplates.PageTemplate import PageTemplate
! 8: from OFS.SimpleItem import SimpleItem
! 9: from pyPgSQL import PgSQL
! 10: #import pgdb as PgSQL
! 11: from Products.PageTemplates.PageTemplate import PageTemplate
! 12: from Products.PageTemplates.PageTemplateFile import PageTemplateFile
! 13:
! 14: import random
! 15: import types
! 16: import time
! 17:
! 18: class OSAS_idGenerator(SimpleItem):
! 19: """Object zum Erzeugen und Registrieren von ID's"""
! 20:
! 21: def __init__(self, id,title):
! 22: """init"""
! 23: self.id=id
! 24: self.title=title
! 25:
! 26: meta_type="OSAS_idGenerator"
! 27:
! 28: def getOSASId(self):
! 29: """erzeuge ID"""
! 30: id=self.generateId()
! 31: print "ID",id
! 32: while self.idExists(id):
! 33: id=self.generateId()
! 34: return id
! 35:
! 36: def registerID(self,id,date,name):
! 37: """registrieren der id"""
! 38:
! 39: if self.idExists(id):
! 40: return "ERROR: id - %s - already exists" %id
! 41:
! 42: <<<<<<< OSAS_ids.py
! 43: conn=PgSQL.connect("127.0.0.1 dbname=osas_ids user=dwinter")
! 44:
! 45: =======
! 46: conn=PgSQL.connect("127.0.0.1:osas_ids:dwinter")
! 47: >>>>>>> 1.4
! 48: curs=conn.cursor()
! 49:
! 50: curs.execute("INSERT INTO institutesIds (id,date,name) VALUES ('%s','%s','%s')" % (id,date,name))
! 51:
! 52: conn.commit()
! 53:
! 54: return "OK: id - %s - registered" %id
! 55:
! 56: def idExists(self,id):
! 57: """Existiert eine ID"""
! 58: conn=PgSQL.connect("127.0.0.1:osas_ids:dwinter")
! 59: curs=conn.cursor()
! 60:
! 61: founds=curs.execute("SELECT id FROM institutesIds WHERE id='%s'"%id)
! 62: conn.commit()
! 63:
! 64: if not founds==None:
! 65: return True
! 66: else:
! 67: return False
! 68:
! 69: def index_html(self):
! 70: """ID generator"""
! 71: pt=PageTemplateFile("Products/OSA_system/OSAS_ids.zpt").__of__(self)
! 72: return pt()
! 73:
! 74: def giveIdsOut(self,number,RESPONSE=None):
! 75: """Ausgabe von ID's"""
! 76: number=int(number)
! 77: ids=[]
! 78:
! 79: for i in range(number):
! 80: ids.append(self.getOSASId())
! 81:
! 82: if RESPONSE:
! 83: self.REQUEST.SESSION['ids']=ids
! 84: pt=PageTemplateFile("Products/OSA_system/OSAS_printIDs.zpt").__of__(self)
! 85: return pt()
! 86: else:
! 87: return ids
! 88:
! 89: def registerIdsOut(self,ids,name=None,IdDate=None,RESPONSE=None):
! 90: """Registriere IDS"""
! 91: #print "TYPES",type(ids)
! 92: #import datetime
! 93:
! 94: if not name:
! 95: name="Anon"
! 96:
! 97: if not IdDate:
! 98: IdDate=time.strftime("%Y%m%d",time.localtime())
! 99:
! 100: if type(ids) is types.ListType:
! 101:
! 102: for id in ids:
! 103: #print "id",id
! 104: self.registerID(id,IdDate,name)
! 105: self.REQUEST.SESSION['ids']=ids
! 106: else:
! 107: self.registerID(ids,IdDate,name)
! 108: self.REQUEST.SESSION['ids']=[ids]
! 109:
! 110: if RESPONSE:
! 111: pt=PageTemplateFile("Products/OSA_system/OSAS_registrationIdsDone.zpt").__of__(self)
! 112: return pt()
! 113: else:
! 114: return self.REQUEST.SESSION['ids']
! 115:
! 116:
! 117: def generateId(self):
! 118: """Zufällige ID"""
! 119: driEncode={ 0:'0',
! 120: 1:'1',
! 121: 2:'2',
! 122: 3:'3',
! 123: 4:'4',
! 124: 5:'5',
! 125: 6:'6',
! 126: 7:'7',
! 127: 8:'8',
! 128: 9:'9',
! 129: 10:'A',
! 130: 11:'B',
! 131: 12:'C',
! 132: 13:'D',
! 133: 14:'E',
! 134: 15:'F',
! 135: 16:'G',
! 136: 17:'H',
! 137: 18:'K',
! 138: 19:'M',
! 139: 20:'N',
! 140: 21:'P',
! 141: 22:'Q',
! 142: 23:'R',
! 143: 24:'S',
! 144: 25:'T',
! 145: 26:'U',
! 146: 27:'V',
! 147: 28:'W',
! 148: 29:'X',
! 149: 30:'Y',
! 150: 31:'Z'
! 151: }
! 152:
! 153: random.seed()
! 154: x=[]
! 155: for i in range(7):
! 156: x.append(random.randint(0,31))
! 157:
! 158: sum=0
! 159: for i in range(7):
! 160: sum+=(i+1)*x[i]
! 161: print i
! 162: c=sum % 31
! 163: id=""
! 164: for i in range(7):
! 165: id+=driEncode[x[i]]
! 166: id+=driEncode[c]
! 167: return id
! 168:
! 169: def manage_AddOSAS_idGeneratorForm(self):
! 170: """Erzeuge idGenerator"""
! 171: pt=PageTemplateFile('Products/OSA_system/AddOSAS_idGenerator.zpt').__of__(self)
! 172: return pt()
! 173:
! 174: def manage_AddOSAS_idGenerator(self,id,title=None,RESPONSE=None):
! 175: """add the OSAS_root"""
! 176: newObj=OSAS_idGenerator(id,title)
! 177: self._setObject(id,newObj)
! 178: if RESPONSE is not None:
! 179: RESPONSE.redirect('manage_main')
! 180:
! 181:
! 182:
! 183:
! 184:
! 185:
! 186:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>