--- OSAS/OSA_system/OSAS_ids.py 2003/12/28 17:11:05 1.4 +++ OSAS/OSA_system/OSAS_ids.py 2007/03/05 17:58:06 1.10 @@ -1,19 +1,33 @@ """Generate and organize the institutes internal IDs -DW 2003, itgroup """ +DW 2003, itgroup + +needs PgSQL +needs manual configuration at the moment + +""" from AccessControl import ClassSecurityInfo -from Globals import InitializeClass +from Globals import InitializeClass,package_home from Products.PageTemplates.PageTemplateFile import PageTemplateFile from Products.PageTemplates.PageTemplate import PageTemplate from OFS.SimpleItem import SimpleItem #from pyPgSQL import PgSQL -import pgdb as PgSQL +import psycopg as PgSQL +try: + import psycopg2 as PgSQL +except: + try: + import psycopg as PgSQL + except: + import pgdb as PgSQL + from Products.PageTemplates.PageTemplate import PageTemplate from Products.PageTemplates.PageTemplateFile import PageTemplateFile import random import types import time +import os.path class OSAS_idGenerator(SimpleItem): """Object zum Erzeugen und Registrieren von ID's""" @@ -22,6 +36,8 @@ class OSAS_idGenerator(SimpleItem): """init""" self.id=id self.title=title + + self.dsn = "dbname=osas_ids user=archiver" meta_type="OSAS_idGenerator" @@ -39,7 +55,7 @@ class OSAS_idGenerator(SimpleItem): if self.idExists(id): return "ERROR: id - %s - already exists" %id - conn=PgSQL.connect("127.0.0.1:osas_ids:dwinter") + conn=PgSQL.connect(self.dsn) curs=conn.cursor() curs.execute("INSERT INTO institutesIds (id,date,name) VALUES ('%s','%s','%s')" % (id,date,name)) @@ -50,7 +66,7 @@ class OSAS_idGenerator(SimpleItem): def idExists(self,id): """Existiert eine ID""" - conn=PgSQL.connect("127.0.0.1:osas_ids:dwinter") + conn=PgSQL.connect(self.dsn) curs=conn.cursor() founds=curs.execute("SELECT id FROM institutesIds WHERE id='%s'"%id) @@ -63,7 +79,7 @@ class OSAS_idGenerator(SimpleItem): def index_html(self): """ID generator""" - pt=PageTemplateFile("Products/OSA_system/OSAS_ids.zpt").__of__(self) + pt=PageTemplateFile(os.path.join(package_home(globals()),"zpt","OSAS_ids.zpt")).__of__(self) return pt() def giveIdsOut(self,number,RESPONSE=None): @@ -76,7 +92,7 @@ class OSAS_idGenerator(SimpleItem): if RESPONSE: self.REQUEST.SESSION['ids']=ids - pt=PageTemplateFile("Products/OSA_system/OSAS_printIDs.zpt").__of__(self) + pt=PageTemplateFile(os.path.join(package_home(globals()),"zpt","OSAS_printIDs.zpt")).__of__(self) return pt() else: return ids @@ -103,7 +119,7 @@ class OSAS_idGenerator(SimpleItem): self.REQUEST.SESSION['ids']=[ids] if RESPONSE: - pt=PageTemplateFile("Products/OSA_system/OSAS_registrationIdsDone.zpt").__of__(self) + pt=PageTemplateFile(os.path.join(package_home(globals()),"zpt","OSAS_registrationIdsDone.zpt")).__of__(self) return pt() else: return self.REQUEST.SESSION['ids'] @@ -163,7 +179,7 @@ class OSAS_idGenerator(SimpleItem): def manage_AddOSAS_idGeneratorForm(self): """Erzeuge idGenerator""" - pt=PageTemplateFile('Products/OSA_system/AddOSAS_idGenerator.zpt').__of__(self) + pt=PageTemplateFile(os.path.join(package_home(globals()),"zpt","AddOSAS_idGenerator.zpt")).__of__(self) return pt() def manage_AddOSAS_idGenerator(self,id,title=None,RESPONSE=None):