File:  [Repository] / OSAS / OSA_system / OSAS_addfiles.py
Revision 1.6: download - view: text, annotated - select for diffs - revision graph
Mon Oct 6 23:02:48 2003 UTC (20 years, 8 months ago) by dwinter
Branches: MAIN
CVS tags: HEAD
addcontextdata geht nun

    1: # Methoden und Classen zum Hinzufuegen von Dokumenten
    2: 
    3: from Products.ECHO_content import ECHO_collection
    4: import urllib
    5: import OSAS_add
    6: import string
    7: from OFS.Folder import Folder
    8: from AccessControl import ClassSecurityInfo
    9: from Globals import InitializeClass
   10: from Products.PageTemplates.PageTemplateFile import PageTemplateFile
   11: from Products.PageTemplates.PageTemplate import PageTemplate
   12: 
   13: class OSAS_add_Document(Folder):
   14:     """Hinzufuegen eines Dokumentes zum Storage"""
   15:     security=ClassSecurityInfo()
   16: 
   17:     def __init__(self,id):
   18:         """initialize a new instance"""
   19:         self.id = id
   20:         
   21:         
   22:     meta_type='OSAS_add_Document'    
   23:     manage_options = Folder.manage_options+(
   24:             {'label':'Main Config','action':'add_Document_config'},
   25:             )
   26:         
   27:      
   28:         
   29:     security.declarePublic('add_Document_config')
   30:     def add_Document_config(self):
   31:         """Main configuration"""
   32:         pt=PageTemplateFile('products/OSA_system/ChangeOSAS_addDocument.zpt').__of__(self)
   33:         return pt()
   34:     
   35:     security.declarePublic('change_OSAS_add_Document')
   36:     def change_OSAS_add_Document(self,RESPONSE=None):
   37:         """Change"""
   38: #        self.RootFolderName=RootFolderName
   39:         if RESPONSE is not None:
   40:             RESPONSE.redirect('manage_main')
   41: 
   42:     security.declarePublic('index_html')
   43:     def index_html(self):
   44:         """stantard aufruf"""
   45:         return OSAS_add.add(self,no_upload=1)
   46: 
   47: 
   48:     security.declarePublic('add2')
   49:     def add2(self):
   50:         """ anlegen naechster schritt"""
   51:         return OSAS_add.add2(self)
   52: 
   53:     def add3(self):
   54:         """Foldername"""
   55:         return OSAS_add.add3(self)
   56: 
   57:     def add4(self):
   58:         """Applet"""
   59:         return OSAS_add.add4(self)
   60: 
   61:     def add5(self):
   62:         """Foldername"""
   63:         return OSAS_add.add5(self)
   64: 
   65:     def add6(self):
   66:         """write new index.meta file"""
   67:         return OSAS_add.add6(self)
   68: 
   69: 
   70:     def addImages(self,path):
   71:         """Hinzufügen eines neuen Imagesfolders"""
   72:         return OSAS_add.addImages(self,path)
   73: 
   74:     def addImages2(self):
   75:         """Upload des neuen Imagefolders"""
   76:         return OSAS_add.addImages2(self)
   77: 
   78:     
   79: def manage_AddOSAS_add_DocumentForm(self):
   80:     """interface for adding the OSAS_add_Metadata"""
   81:     pt=PageTemplateFile('products/OSA_system/AddOSAS_document.zpt').__of__(self)
   82:     return pt()
   83: 
   84: def manage_AddOSAS_add_Document(self,id,RESPONSE=None):
   85:     """add the OSAS_root"""
   86:     newObj=OSAS_add_Document(id)
   87:     self.Destination()._setObject(id,newObj)
   88:     if RESPONSE is not None:
   89:         RESPONSE.redirect('manage_main')
   90: 
   91:             
   92: InitializeClass(OSAS_add_Document)
   93: 
   94: 
   95: class OSAS_add_Text(Folder):
   96:     """Hinzufuegen eines Text-Dokumentes zum Storage"""
   97:     security=ClassSecurityInfo()
   98: 
   99:     def __init__(self,id):
  100:         """initialize a new instance"""
  101:         self.id = id
  102:         
  103:         
  104:     meta_type='OSAS_add_Text'    
  105:     manage_options = Folder.manage_options+(
  106:             {'label':'Main Config','action':'add_Text_config'},
  107:             )
  108:         
  109:      
  110:         
  111:     security.declarePublic('add_Text_config')
  112:     def add_Text_config(self):
  113:         """Main configuration"""
  114:         pt=PageTemplateFile('products/OSA_system/ChangeOSAS_addText.zpt').__of__(self)
  115:         return pt()
  116:     
  117:     security.declarePublic('change_OSAS_add_Text')
  118:     def change_OSAS_add_Text(self,RESPONSE=None):
  119:         """Change"""
  120: #        self.RootFolderName=RootFolderName
  121:         if RESPONSE is not None:
  122:             RESPONSE.redirect('manage_main')
  123: 
  124:     def addText(self,path):
  125:         """Add a fulltext"""
  126:         return OSAS_add.addText(self,path)
  127: 
  128:     def addText2(self):
  129:         """Read the file and store it"""
  130:         return OSAS_add.addText2(self)
  131: def manage_AddOSAS_add_TextForm(self):
  132:     """interface for adding the OSAS_add_Metadata"""
  133:     pt=PageTemplateFile('products/OSA_system/AddOSAS_text.zpt').__of__(self)
  134:     return pt()
  135: 
  136: def manage_AddOSAS_add_Text(self,id,RESPONSE=None):
  137:     """add the OSAS_root"""
  138:     newObj=OSAS_add_Text(id)
  139:     self.Destination()._setObject(id,newObj)
  140:     if RESPONSE is not None:
  141:         RESPONSE.redirect('manage_main')
  142: 
  143:             
  144: InitializeClass(OSAS_add_Text)
  145: 
  146: class OSAS_add_contextData(Folder):
  147:     """Einfuegen eines Documentes in eine Collection"""
  148:     
  149:     security=ClassSecurityInfo()
  150: 
  151:             
  152:     meta_type='OSAS_add_contextData'    
  153: 
  154:     def __init__(self,id,collection):
  155:         self.id=id
  156:         self.collection=collection
  157: 
  158:     def getChilds(self,id,depth,items):
  159:         list=[]
  160:         for object in items:
  161:             if (depth==object[2])&(id==object[0]):
  162:                 list.append(object)
  163:         return list
  164: 
  165:     def printChilds(self,startItem,depth,items,enddepth):
  166: 
  167:         def spaces(depth):
  168:             tmp=""
  169:             k=0
  170:             while k<2*depth:
  171:                 k+=1
  172:                 tmp=tmp+"&nbsp;"+"&nbsp;"
  173:             return tmp
  174: 
  175:         def retLink(object):
  176:             return "<input type='checkbox' name='collection' value='%s'>%s</input>"% (string.join(object.getPhysicalPath(),"."),object.title)
  177:              
  178:         depth+=1
  179:         childs=self.getChilds(startItem,depth,items)
  180:         tmp=""
  181:         for child in childs:
  182:             if depth < enddepth:
  183:                 tmp=tmp+spaces(depth)
  184:                 
  185:                 tmp= tmp+retLink(child[1])+"<br>"+self.printChilds(child[1],depth,items,enddepth)+"<br>"
  186:             else:
  187:                 tmp=tmp+spaces(2*depth)
  188:                 tmp = tmp+retLink(child[1])+"<br>"
  189: 
  190:         return tmp
  191:                     
  192:     def generateTree(self,depth=3):
  193:         """Erzeugt HTML-Tree der Collection"""
  194:     
  195:         exec("items=self.getPhysicalRoot()."+self.collection+".getCollectionTree()")
  196:         #print items[0][0]
  197: 
  198:         childs=self.printChilds(items[0][0],0,items,3)
  199:         
  200:         return childs
  201: 
  202:     def getPartners(self):
  203:         """Zeige Partnerliste"""
  204:         exec("items=self.getPhysicalRoot()."+self.collection+".partners.getPartners()")
  205:         return items
  206:     def addContextData(self,path):
  207:         """Hinzufügen zu einer Sammlung"""
  208:         try:
  209:             urllib.urlopen(self.REQUEST['SERVER_URL']+path+"/index.meta")
  210:             pt=PageTemplateFile('products/OSA_system/contextDataMain.zpt').__of__(self)
  211:             return pt()
  212:         except:
  213:             return "index.meta file has to exist!"
  214: 
  215:     
  216:     
  217:     def addContextData2(self,path,collection,context,science,practice,source_type,period,label,description,content_type,responsible,credits):
  218:         """Hinzufuegen der Resource"""
  219:         splitted=path.split("/")
  220:         
  221:         id=splitted[len(splitted)-1]
  222:         title=splitted[len(splitted)-1]
  223:         metalink=self.REQUEST['SERVER_URL']+path+"/index.meta"
  224:         link="TOBEDONE"
  225:         """Hinzufügen der Ressource"""
  226: 
  227:         
  228:         exec("collection_object=self"+collection)
  229:         
  230:         ECHO_collection.manage_AddECHO_resource(collection_object,context,science,practice,source_type,period,id,title,label,description,content_type,responsible,link,metalink,credits,RESPONSE=None)
  231: 
  232:         getattr(collection_object,id).ECHO_getResourceMD()
  233: 
  234:         return self.REQUEST.RESPONSE.redirect(self.REQUEST['URL2']+'?path='+path)
  235:         
  236:     manage_options = Folder.manage_options+(
  237:             {'label':'Main Config','action':'add_contextData_config'},
  238:             )
  239:         
  240:      
  241:     def add_contextData_config(self):
  242:         """Main configuration"""
  243:         pt=PageTemplateFile('products/OSA_system/ChangeOSAS_add_contextData.zpt').__of__(self)
  244:         return pt()
  245:     
  246:     
  247:     def change_OSAS_add_contextData(self,collection,RESPONSE=None):
  248:         """Change"""
  249:         self.collection=collection
  250:         if RESPONSE is not None:
  251:             RESPONSE.redirect('manage_main')
  252:             
  253: def manage_AddOSAS_add_contextDataForm(self):
  254:     """interface for adding the OSAS_add_Metadata"""
  255:     pt=PageTemplateFile('products/OSA_system/AddOSAS_contextData.zpt').__of__(self)
  256:     return pt()
  257: 
  258: def manage_AddOSAS_add_contextData(self,id,collection,RESPONSE=None):
  259:     """add the OSAS_root"""
  260:     newObj=OSAS_add_contextData(id,collection)
  261:     self.Destination()._setObject(id,newObj)
  262:     if RESPONSE is not None:
  263:         RESPONSE.redirect('manage_main')
  264: 
  265:             
  266: InitializeClass(OSAS_add_contextData)
  267: 
  268: class OSAS_add_Presentation(Folder):
  269:     """Hinzufügen der Presentationsinformationen"""
  270:     security=ClassSecurityInfo()
  271: 
  272:     def __init__(self,id):
  273:         """initialize a new instance"""
  274:         self.id = id
  275:         
  276:         
  277:     meta_type='OSAS_add_Presentation'    
  278:     manage_options = Folder.manage_options+(
  279:             {'label':'Main Config','action':'add_Presentation_config'},
  280:             )
  281:         
  282:      
  283:         
  284:     security.declarePublic('add_Presentation_config')
  285:     def add_Presentation_config(self):
  286:         """Main configuration"""
  287:         pt=PageTemplateFile('products/OSA_system/ChangeOSAS_addPresentation.zpt').__of__(self)
  288:         return pt()
  289:     
  290:     security.declarePublic('change_OSAS_add_Presentation')
  291:     def change_OSAS_add_Presentation(self,RESPONSE=None):
  292:         """Change"""
  293: #        self.RootFolderName=RootFolderName
  294:         if RESPONSE is not None:
  295:             RESPONSE.redirect('manage_main')
  296: 
  297:     def addPresentation(self,path):
  298:         """Hinzufügen der Presenationsinformation"""
  299:         return OSAS_add.addPresentation(self,path)
  300: 
  301:     def addPresentation2(self):
  302:         """Eingabe von Metadateninformationen"""
  303:         return OSAS_add.addPresentation2(self)
  304:     
  305: def manage_AddOSAS_add_PresentationForm(self):
  306:     """interface for adding the OSAS_add_Metadata"""
  307:     pt=PageTemplateFile('products/OSA_system/AddOSAS_presentation.zpt').__of__(self)
  308:     return pt()
  309: 
  310: def manage_AddOSAS_add_Presentation(self,id,RESPONSE=None):
  311:     """add the OSAS_root"""
  312:     newObj=OSAS_add_Presentation(id)
  313:     self.Destination()._setObject(id,newObj)
  314:     if RESPONSE is not None:
  315:         RESPONSE.redirect('manage_main')
  316: 
  317:             
  318: InitializeClass(OSAS_add_Presentation)
  319: 
  320: class OSAS_combineTextImage(Folder):
  321:     """Hinzufügen der Combine Text und Image"""
  322:     security=ClassSecurityInfo()
  323: 
  324:     def __init__(self,id):
  325:         """initialize a new instance"""
  326:         self.id = id
  327:         
  328:         
  329:     meta_type='OSAS_combineTextImage'    
  330:     manage_options = Folder.manage_options+(
  331:             {'label':'Main Config','action':'combineTextImage_config'},
  332:             )
  333:         
  334:      
  335:         
  336:     security.declarePublic('combineTextImage_config')
  337:     def combineTextImage_config(self):
  338:         """Main configuration"""
  339:         pt=PageTemplateFile('products/OSA_system/ChangeOSAS_combineTextImage.zpt').__of__(self)
  340:         return pt()
  341:     
  342:     security.declarePublic('change_OSAS_combineTextImage')
  343:     def change_OSAS_combineTextImage(self,RESPONSE=None):
  344:         """Change"""
  345: #        self.RootFolderName=RootFolderName
  346:         if RESPONSE is not None:
  347:             RESPONSE.redirect('manage_main')
  348:             
  349:     security.declarePublic('combineTextImage')
  350:     def combineTextImage(self,path):
  351:         """Hinzufügen der Presenationsinformation"""
  352:         return OSAS_add.combineTextImage(self,path)
  353: 
  354:     def combineTextImage2(self,path):
  355:         """Eingabe von Metadateninformationen"""
  356:         return OSAS_add.combineTextImage2(self,path)
  357: 
  358:     
  359: def manage_AddOSAS_combineTextImageForm(self):
  360:     """interface for adding the OSAS_add_Metadata"""
  361:     pt=PageTemplateFile('products/OSA_system/AddOSAS_combineTextImage.zpt').__of__(self)
  362:     return pt()
  363: 
  364: def manage_AddOSAS_combineTextImage(self,id,RESPONSE=None):
  365:     """add the OSAS_root"""
  366:     newObj=OSAS_combineTextImage(id)
  367:     self.Destination()._setObject(id,newObj)
  368:     if RESPONSE is not None:
  369:         RESPONSE.redirect('manage_main')
  370: 
  371:             
  372: InitializeClass(OSAS_combineTextImage)

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>