File:  [Repository] / OSAS / OSA_system / OSAS_project.py
Revision 1.7: download - view: text, annotated - select for diffs - revision graph
Wed Jun 23 05:36:08 2004 UTC (20 years ago) by dwinter
Branches: MAIN
CVS tags: HEAD
added viewer selection in combine text and images (preliminary)

    1: """ Begin March,17 2004, Class OSAS_viewerTemplateSet contains all layout information for the viewenvironment"""
    2: 
    3: from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate
    4: from Acquisition import Implicit
    5: from OFS.Folder import Folder
    6: from Products.PageTemplates.PageTemplateFile import PageTemplateFile
    7: from urllib import quote
    8: from Products.PageTemplates.PageTemplate import PageTemplate
    9: import os
   10: from Globals import package_home
   11: 
   12: 
   13: def copyContent(self,filename):
   14:         """copycontent to path"""
   15: 	text= self.document_src({'raw':1})
   16:         #text= self.read()
   17: 	#text=getattr(self,'source.html') 
   18:         if not os.path.exists(self.templatePath+"/"+self.aq_parent.getId()):
   19:             os.mkdir(self.templatePath+"/"+self.aq_parent.getId())
   20: 	    os.chmod(self.templatePath+"/"+self.aq_parent.getId(),0755)
   21:         path=self.templatePath+"/"+self.aq_parent.getId()+"/"+filename
   22:         fh=file(path,"w")
   23:         
   24:         fh.write(text)
   25:         fh.close()
   26:         os.chmod(path,0664)
   27:         return path
   28: 
   29: def getPath(self,filename):
   30:     """get path"""
   31:     return self.templatePath+"/"+self.aq_parent.getId()+"/"+filename
   32: 
   33: class OSAS_thumbTemplate(ZopePageTemplate):
   34:     """pageTemplate Objekt"""
   35:     meta_type="OSAS_thumbTemplate"
   36: 
   37:     _default_content_fn = os.path.join(package_home(globals()),
   38:                                        'zpt/OSAS_thumbTemplateDefault.zpt')
   39: 
   40:     manage_options=ZopePageTemplate.manage_options+(
   41:         {'label':'Copy to Filesystem','action':'copyContent'},
   42:        )
   43: 
   44:     def getPath(self):
   45:         """get path"""
   46:         return getPath(self,'thumbtemplate.templ')
   47:     
   48:     ## def changeECHO_pageTemplateWeightForm(self):
   49: ##         """change"""
   50: ##         pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_pageTemplateWeight.zpt').__of__(self)
   51: ##         return pt()
   52: 
   53: ##     def changeECHO_pageTemplateWeight(self,weight,content_type,RESPONSE=None):
   54: ##         """change"""
   55: ##         self.weight=weight
   56: ##         self.content_type=content_type
   57: 
   58: ##         if RESPONSE is not None:
   59: ##             RESPONSE.redirect('manage_main')
   60:         
   61: 
   62:     def copyContent(self):
   63:         """copycontent to path"""
   64: 
   65:         return "copied to:"+copyContent(self,'thumbtemplate.templ')
   66:         
   67:     
   68: def manage_addOSAS_thumbTemplateForm(self):
   69:     """Form for adding"""
   70:     pt=PageTemplateFile('Products/ECHO_content/zpt/AddOSAS_thumbTemplate.zpt').__of__(self)
   71:     return pt()
   72: 
   73: 
   74: 
   75: 
   76: def manage_addOSAS_thumbTemplate(self, id,title=None, text=None,
   77:                            REQUEST=None, submit=None):
   78:     "Add a Page Template with optional file content."
   79: 
   80:     
   81:     id = str(id)
   82:     if REQUEST is None:
   83:         self._setObject(id, OSAS_thumbTemplate(id, text))
   84:         ob = getattr(self, id)
   85:        
   86:         if title:
   87:             ob.pt_setTitle(title)
   88:         return ob
   89:     else:
   90:         file = REQUEST.form.get('file')
   91:         headers = getattr(file, 'headers', None)
   92:         if headers is None or not file.filename:
   93:             zpt = OSAS_thumbTemplate(id)
   94:         else:
   95:             zpt = OSAS_thumbTemplate(id, file, headers.get('content_type'))
   96: 
   97:         self._setObject(id, zpt)
   98:         ob = getattr(self, id)
   99: 
  100: 
  101:         try:
  102:             u = self.DestinationURL()
  103:         except AttributeError:
  104:             u = REQUEST['URL1']
  105: 
  106:         if submit == " Add and Edit ":
  107:             u = "%s/%s" % (u, quote(id))
  108:         REQUEST.RESPONSE.redirect(u+'/manage_main')
  109:     return ''
  110: 
  111: class OSAS_thumbRuler(ZopePageTemplate):
  112:     """pageTemplate Objekt"""
  113:     meta_type="OSAS_thumbRuler"
  114: 
  115:     _default_content_fn = os.path.join(package_home(globals()),
  116:                                        'zpt/OSAS_thumbRulerDefault.zpt')
  117: 
  118:     manage_options=ZopePageTemplate.manage_options+(
  119:         {'label':'Copy to Filesystem','action':'copyContent'},
  120:        )
  121: 
  122:     def getPath(self):
  123:         """get path"""
  124:         return getPath(self,'thumbruler.tmpl')
  125:     
  126:     ## def changeECHO_pageTemplateWeightForm(self):
  127: ##         """change"""
  128: ##         pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_pageTemplateWeight.zpt').__of__(self)
  129: ##         return pt()
  130: 
  131: ##     def changeECHO_pageTemplateWeight(self,weight,content_type,RESPONSE=None):
  132: ##         """change"""
  133: ##         self.weight=weight
  134: ##         self.content_type=content_type
  135: 
  136: ##         if RESPONSE is not None:
  137: ##             RESPONSE.redirect('manage_main')
  138:         
  139: 
  140:     def copyContent(self):
  141:         """copycontent to path"""
  142: 
  143:         return "copied to:"+copyContent(self,'thumbruler.tmpl')
  144: 
  145: def manage_addOSAS_thumbRulerForm(self):
  146:     """Form for adding"""
  147:     pt=PageTemplateFile('Products/ECHO_content/zpt/AddOSAS_thumbRuler.zpt').__of__(self)
  148:     return pt()
  149: 
  150: 
  151: 
  152: 
  153: def manage_addOSAS_thumbRuler(self, id,title=None, text=None,
  154:                            REQUEST=None, submit=None):
  155:     "Add a Page Template with optional file content."
  156: 
  157:     
  158:     id = str(id)
  159:     if REQUEST is None:
  160:         self._setObject(id, OSAS_thumbRuler(id, text))
  161:         ob = getattr(self, id)
  162:        
  163:         if title:
  164:             ob.pt_setTitle(title)
  165:         return ob
  166:     else:
  167:         file = REQUEST.form.get('file')
  168:         headers = getattr(file, 'headers', None)
  169:         if headers is None or not file.filename:
  170:             zpt = OSAS_thumbRuler(id)
  171:         else:
  172:             zpt = OSAS_thumbRuler(id, file, headers.get('content_type'))
  173: 
  174:         self._setObject(id, zpt)
  175:         ob = getattr(self, id)
  176: 
  177: 
  178:         try:
  179:             u = self.DestinationURL()
  180:         except AttributeError:
  181:             u = REQUEST['URL1']
  182: 
  183:         if submit == " Add and Edit ":
  184:             u = "%s/%s" % (u, quote(id))
  185:         REQUEST.RESPONSE.redirect(u+'/manage_main')
  186:     return ''
  187: 
  188: class OSAS_digiLibTemplate(ZopePageTemplate):
  189:     """pageTemplate Objekt"""
  190:     meta_type="OSAS_digiLibTemplate"
  191: 
  192:     _default_content_fn = os.path.join(package_home(globals()),
  193:                                        'zpt/OSAS_digiLibTemplateDefault.zpt')
  194: 
  195:     manage_options=ZopePageTemplate.manage_options+(
  196:         {'label':'Copy to Filesystem','action':'copyContent'},
  197:        )
  198: 
  199:     def getPath(self):
  200:         """get path"""
  201:         return getPath(self,'digilibtemplate.templ')
  202:     
  203:     ## def changeECHO_pageTemplateWeightForm(self):
  204: ##         """change"""
  205: ##         pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_pageTemplateWeight.zpt').__of__(self)
  206: ##         return pt()
  207: 
  208: ##     def changeECHO_pageTemplateWeight(self,weight,content_type,RESPONSE=None):
  209: ##         """change"""
  210: ##         self.weight=weight
  211: ##         self.content_type=content_type
  212: 
  213: ##         if RESPONSE is not None:
  214: ##             RESPONSE.redirect('manage_main')
  215:         
  216: 
  217:     def copyContent(self):
  218:         """copycontent to path"""
  219: 
  220:         return "copied to:"+copyContent(self,'digilibtemplate.templ')
  221:         
  222:     
  223: def manage_addOSAS_digiLibTemplateForm(self):
  224:     """Form for adding"""
  225:     pt=PageTemplateFile('Products/ECHO_content/zpt/AddOSAS_digiLibTemplate.zpt').__of__(self)
  226:     return pt()
  227: 
  228: 
  229: 
  230: 
  231: def manage_addOSAS_digiLibTemplate(self, id,title=None, text=None,
  232:                            REQUEST=None, submit=None):
  233:     "Add a Page Template with optional file content."
  234: 
  235:     
  236:     id = str(id)
  237:     if REQUEST is None:
  238:         self._setObject(id, OSAS_digiLibTemplate(id, text))
  239:         ob = getattr(self, id)
  240:        
  241:         if title:
  242:             ob.pt_setTitle(title)
  243:         return ob
  244:     else:
  245:         file = REQUEST.form.get('file')
  246:         headers = getattr(file, 'headers', None)
  247:         if headers is None or not file.filename:
  248:             zpt = OSAS_digiLibTemplate(id)
  249:         else:
  250:             zpt = OSAS_digiLibTemplate(id, file, headers.get('content_type'))
  251: 
  252:         self._setObject(id, zpt)
  253:         ob = getattr(self, id)
  254: 
  255: 
  256:         try:
  257:             u = self.DestinationURL()
  258:         except AttributeError:
  259:             u = REQUEST['URL1']
  260: 
  261:         if submit == " Add and Edit ":
  262:             u = "%s/%s" % (u, quote(id))
  263:         REQUEST.RESPONSE.redirect(u+'/manage_main')
  264:     return ''
  265: 
  266: class OSAS_topTemplate(ZopePageTemplate):
  267:     """pageTemplate Objekt"""
  268:     meta_type="OSAS_topTemplate"
  269: 
  270:     _default_content_fn = os.path.join(package_home(globals()),
  271:                                        'zpt/OSAS_topTemplateDefault.zpt')
  272:     manage_options=ZopePageTemplate.manage_options+(
  273:         {'label':'Copy to Filesystem','action':'copyContent'},
  274:        )
  275: 
  276:     def getPath(self):
  277:         """get path"""
  278:         return getPath(self,'toptemplate.templ')
  279: 
  280:     ## def changeECHO_pageTemplateWeightForm(self):
  281: ##         """change"""
  282: ##         pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_pageTemplateWeight.zpt').__of__(self)
  283: ##         return pt()
  284: 
  285: ##     def changeECHO_pageTemplateWeight(self,weight,content_type,RESPONSE=None):
  286: ##         """change"""
  287: ##         self.weight=weight
  288: ##         self.content_type=content_type
  289: 
  290: ##         if RESPONSE is not None:
  291: ##             RESPONSE.redirect('manage_main')
  292: 
  293:     def copyContent(self):
  294:         """copycontent to path"""
  295:         return "copied to:"+copyContent(self,'toptemplate.templ')
  296:         
  297: 
  298: def manage_addOSAS_topTemplateForm(self):
  299:     """Form for adding"""
  300:     pt=PageTemplateFile('Products/ECHO_content/zpt/AddOSAS_topTemplate.zpt').__of__(self)
  301:     return pt()
  302: 
  303: 
  304: 
  305: 
  306: def manage_addOSAS_topTemplate(self, id,title=None, text=None,
  307:                            REQUEST=None, submit=None):
  308:     "Add a Page Template with optional file content."
  309: 
  310:     
  311:     id = str(id)
  312:     if REQUEST is None:
  313:         self._setObject(id, OSAS_topTemplate(id, text))
  314:         ob = getattr(self, id)
  315:        
  316:         if title:
  317:             ob.pt_setTitle(title)
  318:         return ob
  319:     else:
  320:         file = REQUEST.form.get('file')
  321:         headers = getattr(file, 'headers', None)
  322:         if headers is None or not file.filename:
  323:             zpt = OSAS_topTemplate(id)
  324:         else:
  325:             zpt = OSAS_topTemplate(id, file, headers.get('content_type'))
  326: 
  327:         self._setObject(id, zpt)
  328:         ob = getattr(self, id)
  329: 
  330: 
  331:         try:
  332:             u = self.DestinationURL()
  333:         except AttributeError:
  334:             u = REQUEST['URL1']
  335: 
  336:         if submit == " Add and Edit ":
  337:             u = "%s/%s" % (u, quote(id))
  338:         REQUEST.RESPONSE.redirect(u+'/manage_main')
  339:     return ''
  340: 
  341: 
  342: class OSAS_viewerTemplateSet(Folder):
  343:     """Main viewerTemplateSet"""
  344: 
  345:     meta_type="OSAS_viewerTemplateSet"
  346:     
  347:     def __init__(self,id, title, startpage, xsl, templatePath):
  348:         """init"""
  349:         self.id=id
  350:         self.title=title
  351:         self.startpage=startpage
  352:         self.xsl=xsl
  353:         self.templatePath=templatePath
  354: 	self._setObject('digiLibTemplate',OSAS_digiLibTemplate(id='digiLibTemplate'))
  355:         self._setObject('thumbTemplate',OSAS_thumbTemplate(id='thumbTemplate'))
  356:         self._setObject('topTemplate',OSAS_topTemplate(id='topTemplate'))
  357: 	self._setObject('thumbruler',OSAS_thumbRuler(id='topRuler'))
  358: 
  359: 
  360:     manage_options = Folder.manage_options+(
  361:         {'label':'Main Config','action':'configOSAS_viewerTemplateSetForm'},
  362:         {'label':'Update Files at the Server','action':'copyAllFiles'},
  363:         )
  364: 
  365:     def copyAllFiles(self):
  366: 	    """copy all"""
  367: 	    fis=self.ZopeFind(self)
  368: 	    ret=""
  369: 	    for fi in fis:
  370: 		    if hasattr(fi[1],'copyContent'):
  371: 			    ret=ret+fi[1].copyContent()+"</br>"
  372: 	    return ret
  373: 
  374:     def getField(self,name):
  375: 	    """get Field"""
  376: 	    try:
  377: 		    return(getattr(self,name))
  378: 	    except:
  379: 		    return ""
  380:     def configOSAS_viewerTemplateSetForm(self):
  381:         """config"""
  382:         pt=PageTemplateFile('Products/OSA_system/zpt/changeOSAS_viewerTemplateSet.zpt').__of__(self)
  383:         return pt()
  384: 
  385:     def configOSAS_viewerTemplateSet(self,title, startpage, xsl, templatePath,RESPONSE=None):
  386:         """config"""
  387:         self.title=title
  388:         self.startpage=startpage
  389:         self.xsl=xsl
  390:         self.templatePath=templatePath
  391: 
  392: 	
  393: 	
  394:         if RESPONSE is not None:
  395:             RESPONSE.redirect('manage_main')
  396:         
  397:     
  398: 
  399: 
  400:     
  401: def manage_addOSAS_viewerTemplateSetForm(self):
  402:     """interface for adding the OSAS_root"""
  403:     pt=PageTemplateFile('Products/OSA_system/zpt/addOSAS_viewerTemplateSet.zpt').__of__(self)
  404:     return pt()
  405: 
  406: def manage_addOSAS_viewerTemplateSet(self,id,title, startpage, xsl,templatePath,RESPONSE=None):
  407:     """add the OSAS_root"""
  408:     newObj=OSAS_viewerTemplateSet(id,title, startpage, xsl,templatePath)
  409:     self._setObject(id,newObj)
  410:     if RESPONSE is not None:
  411:         RESPONSE.redirect('manage_main')
  412: 
  413: 
  414:     
  415: 

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