|
|
| version 1.7, 2004/06/08 17:04:39 | version 1.13, 2004/07/16 16:31:12 |
|---|---|
| Line 1 | Line 1 |
| from ECHO_collection import * | from Products.ECHO_content.ECHO_collection import * |
| from Products.PageTemplates.PageTemplateFile import PageTemplateFile | from Products.PageTemplates.PageTemplateFile import PageTemplateFile |
| from Products.PageTemplates.PageTemplate import PageTemplate | from Products.PageTemplates.PageTemplate import PageTemplate |
| from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate | from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate |
| try: | |
| from Products.zogiLib import zogiLib | from Products.zogiLib import zogiLib |
| except: | |
| print "Zogilib not installed, VLP_resource will not work" | |
| import xml.dom.minidom | |
| import urllib | |
| def getText(nodelist): | def getText(nodelist): |
| Line 18 class VLP_essay(Folder): | Line 24 class VLP_essay(Folder): |
| meta_type="VLP_essay" | meta_type="VLP_essay" |
| manage_options = Folder.manage_options+( | |
| {'label':'Main Config','action':'ConfigVLP_essayForm'}, | |
| ) | |
| def content_html(self,type='collection'): | |
| """template fuer content""" | |
| #templates = self.ZopeFind(self.aq_parent,obj_ids=[type+"_template"]) | |
| # | |
| #if templates: | |
| # return templates[0][1]() | |
| if hasattr(self,type+"_template"): | |
| obj=getattr(self,type+"_template") | |
| return obj() | |
| else: | |
| pt=PageTemplateFile('Products/ECHO_content/zpt/ECHO_%s_template_standard.zpt'%type).__of__(self) | |
| pt.content_type="text/html" | |
| return pt() | |
| def ConfigVLP_essayForm(self): | |
| """Form for adding""" | |
| pt=PageTemplateFile('Products/ECHO_content/vlp/ChangeVLP_essay.zpt').__of__(self) | |
| return pt() | |
| def ChangeVLP_essay(self,title,label,description,RESPONSE=None): | |
| """Change vlp_essay""" | |
| self.title=title | |
| self.label=label | |
| self.description=description | |
| if RESPONSE is not None: | |
| RESPONSE.redirect('manage_main') | |
| def __init__(self,id,title,label): | def __init__(self,id,title,label): |
| """init""" | """init""" |
| self.id=id | self.id=id |
| Line 182 class VLP_resource(ECHO_resource): | Line 221 class VLP_resource(ECHO_resource): |
| def show(self): | def show(self): |
| """show the rendered file""" | """show the rendered file""" |
| if self.REQUEST.get('p',None): | |
| self.REQUEST.set('pn',self.file2page(self.REQUEST.get('p',None))) | |
| pt=PageTemplateFile('Products/ECHO_content/vlp/library_template.zpt').__of__(self) | pt=PageTemplateFile('Products/ECHO_content/vlp/library_template.zpt').__of__(self) |
| pt.content_type="text/html" | pt.content_type="text/html" |
| return pt() | return pt() |
| Line 190 class VLP_resource(ECHO_resource): | Line 234 class VLP_resource(ECHO_resource): |
| def index_meta(self): | def index_meta(self): |
| """index_meta""" | """index_meta""" |
| pt=PageTemplateFile('Products/ECHO_content/vlp/index_meta.zpt').__of__(self) | pt=PageTemplateFile('Products/ECHO_content/vlp/index_meta.zpt').__of__(self) |
| pt.content_type="text/html" | pt.content_type="text/html" |
| return pt() | return pt() |
| def file2page(self,p): | |
| """converts filename to pagenumber""" | |
| dom=xml.dom.minidom.parse(urllib.urlopen(getattr(self,'index.xml').absolute_url())) | |
| for page in dom.getElementsByTagName('page'): | |
| if page.getAttribute('file')==p: | |
| return page.getAttribute('nr') | |
| return 0 | |
| def dir2index(self): | def dir2index(self): |
| """dir to index""" | """dir to index""" |
| Line 212 class VLP_resource(ECHO_resource): | Line 266 class VLP_resource(ECHO_resource): |
| for x in ret: | for x in ret: |
| if not (x[0]=="."): | if not (x[0]=="."): |
| temp.append(calculateName(x)) | temp.append((calculateName(x),os.path.splitext(x)[0])) |
| return temp | return temp |
| def firstPage(self,url=None): | def firstPage(self,url=None): |
| """showlink to the first image""" | """showlink to the first image""" |
| if self.REQUEST.get('pn')=="1": #erste seinte dann kein a tag | if self.REQUEST.get('pn')=="1": #erste seinte dann kein a tag |