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>