annotate MetaDataFolder.py @ 4:8291255b1868

adding new base level class MetaDataFolder.
author casties
date Wed, 27 Jul 2011 14:13:45 +0200
parents
children c1dbf78cc036
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
1 from OFS.Folder import Folder
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
2 from Products.PageTemplates.PageTemplateFile import PageTemplateFile
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
3 from Globals import package_home
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
4 from AccessControl import ClassSecurityInfo
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
5 import os.path
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
6 import logging
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
7
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
8 from MetaDataMapping import MetaDataMapping
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
9 from MetaData import MetaData
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
10
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
11 def normalizeBibField(bt, underscore=True):
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
12 """returns normalised bib type for looking up mappings"""
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
13 bt = bt.strip().replace(' ', '-').lower()
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
14 if underscore:
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
15 bt = bt.replace('_', '-')
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
16
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
17 return bt
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
18
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
19 def getBibdataFromDom(dom):
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
20 """returns dict with all elements from bib-tag"""
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
21 bibinfo = {}
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
22 bib = dom.find(".//meta/bib")
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
23 if bib is not None:
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
24 # put type in @type
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
25 type = bib.get('type')
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
26 bibinfo['@type'] = normalizeBibField(type)
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
27 # put all subelements in dict
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
28 for e in bib:
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
29 bibinfo[normalizeBibField(e.tag)] = getText(e)
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
30
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
31 return bibinfo
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
32
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
33 class MetaDataFolder(Folder):
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
34 """provides methods for managing complete metadata structures"""
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
35 meta_type='MetaDataFolder'
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
36 security=ClassSecurityInfo()
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
37 manage_options = Folder.manage_options+(
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
38 {'label':'Main Config','action':'changeMetadataFolderForm'},
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
39 {'label':'Import XML Schema','action':'importMetaDataExportXML'},
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
40 #{'label':'Select Fields for Display','action':'indicateDisplayFieldsForm'},
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
41 )
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
42
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
43 def __init__(self,id,title=''):
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
44 """initialize a new instance"""
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
45 self.id = id
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
46 self.title = title
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
47 self.metaDataServerUrl="" # muss mit change metadata gesetzt werden
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
48
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
49
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
50 def getMDFromPathOrUrl(self,path):
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
51 parsedurl = urlparse.urlparse(path)
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
52 if parsedurl[0] != "":
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
53 # has schema (e.g. http)
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
54 url=path
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
55 else:
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
56 # path only
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
57 if path.endswith("index.meta"):
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
58 url =self.metaDataServerUrl%path
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
59 else:
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
60 url=os.path.join(self.metaDataServerUrl%path,'index.meta')
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
61
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
62 #logging.debug("get Metadata: %s"%url)
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
63 md = getHttpData(url)
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
64 return md
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
65
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
66 def getBibMapping(self, bibtype):
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
67 """returns MetaDataMapping for bibtype"""
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
68 # try type as id
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
69 mapping = getattr(self.main.meta.bib, bibtype, None)
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
70 if mapping is None:
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
71 # try manually
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
72 mapFolder = self.main.meta.bib
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
73 for obj in mapFolder.objectValues():
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
74 if obj.meta_type == "MetadataMapping":
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
75 # real type is in title
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
76 mapType = obj.title
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
77 if mapType == bibtype:
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
78 # try type as is
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
79 return obj
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
80
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
81 if normalizeBibField(mapType, underscore=True) == normalizeBibField(bibtype, underscore=True):
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
82 # try normalized type without underscore
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
83 return obj
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
84
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
85 return mapping
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
86
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
87 def getBibFields(self, bibdata):
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
88 """returns dict with metadata description for bibdata"""
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
89 bibfields = {}
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
90 bibtype = bibdata['@type']
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
91 # get mapping from main/meta/bib
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
92 mapping = self.getBibMapping(bibtype)
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
93 if mapping is None:
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
94 logging.error("getBibFields: no mapping for type: %s"%bibtype)
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
95 return bibfields
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
96
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
97 # get field descriptions (copy so we can change it)
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
98 bibfields = mapping.getFields().copy()
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
99 # add field list
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
100 bibfields['@fieldList'] = mapping.getFieldList()
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
101
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
102 return bibfields
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
103
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
104 def getBibMappedData(self, bibdata, allFields=False):
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
105 """returns dict with metadata descriptions and data for bibdata"""
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
106 bibfields = self.getBibFields(bibdata)
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
107 mappedData = {}
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
108 mappedList = []
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
109 for bk in bibfields.keys():
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
110 # ignore descriptions without data
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
111 if not bibdata.get(bk, None):
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
112 continue
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
113
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
114 # field description (copy so we can change it)
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
115 bf = bibfields[bk].copy()
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
116 # add value
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
117 bf['value'] = bibdata[bk]
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
118 mappedData[bk] = bf
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
119 mappedList.append(bk)
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
120
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
121 if allFields and len(mappedData) < len(bibdata):
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
122 # add fields that were not in bibfields
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
123 for bk in bibdata.keys():
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
124 if bk in mappedData or not bibdata[bk]:
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
125 continue
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
126
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
127 mappedData[bk] = {'tag':bk, 'label':bk, 'value':bibdata[bk]}
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
128 mappedList.append(bk)
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
129
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
130 mappedData['@fieldList'] = mappedList
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
131 return mappedData
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
132
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
133 def getFormatted(self, template, path=None, dom=None, bibdata=None, allFields=False):
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
134 """returns string with document data formatted according to template.
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
135 gets data from server or dom or pre-parsed bibdata."""
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
136 logging.debug("getFormatted(template=%s)"%(template))
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
137
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
138 if dom is None and bibdata is None:
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
139 # get from server
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
140 md = self.getMDFromPathOrUrl(path.replace("/mpiwg/online",""))
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
141 #logging.debug("md:"+md)
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
142 #dom = amara.parse(md)
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
143 dom = ET.fromstring(md)
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
144
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
145 # get contents of bib tag
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
146 if bibdata is None:
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
147 bibdata = getBibdataFromDom(dom)
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
148
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
149 bibtype = bibdata['@type']
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
150
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
151 # get template
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
152 tp=getattr(self,"%s_%s"%(template, bibtype.lower()), None)
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
153 if tp is None:
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
154 logging.warning("getFormatted: no template for: %s_%s"%(template, bibtype))
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
155 # try generic
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
156 tp=getattr(self,"%s_generic"%(template), None)
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
157 if tp is None:
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
158 logging.error("getFormatted: no generic template either: %s"%(template))
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
159 return ""
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
160
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
161 # put bib field descriptions in mdHash
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
162 bibfields = self.getBibMappedData(bibdata, allFields=allFields)
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
163
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
164 return tp(mdmap=bibfields, md=bibdata)
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
165
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
166
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
167 def getFormattedMetaData(self, path=None, dom=None, bibdata=None):
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
168 """get the metadafrom server"""
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
169 logging.debug("getFormattedMetaData(path=%s)"%path)
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
170 return self.getFormatted('metadata_template', path=path, dom=dom, bibdata=bibdata)
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
171
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
172 def getFormattedMetaDataShort(self, path=None, dom=None, bibdata=None):
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
173 """get the metadafrom server"""
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
174 logging.debug("getFormattedMetaDataShort(path=%s)"%path)
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
175 return self.getFormatted('metadata_template', path=path, dom=dom, bibdata=bibdata)
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
176
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
177 def getFormattedMetaDataExtended(self,path=None, dom=None, bibdata=None):
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
178 """get the metadafrom server"""
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
179 logging.debug("getFormattedMetaDataExtended(path=%s)"%path)
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
180 return self.getFormatted('metadata_extended_template', path=path, dom=dom, bibdata=bibdata, allFields=True)
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
181
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
182 def getFormattedLabel(self,path=None, dom=None, bibdata=None):
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
183 """get the metadafrom server"""
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
184 logging.debug("getFormattedLabel(%s)"%path)
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
185 return self.getFormatted('label_template', path=path, dom=dom, bibdata=bibdata)
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
186
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
187 def getFormattedMetaDataShortFromServer(self,path):
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
188 """get the metadafrom server"""
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
189 logging.debug("getFormattedMetaDataShortFromServer(path=%s)"%path)
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
190 return self.getFormatted('metadata_template', path)
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
191
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
192 def getFormattedMetaDataExtendedFromServer(self,path):
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
193 """get the metadafrom server"""
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
194 logging.debug("getFormattedMetaDataExtendedFromServer(path=%s)"%path)
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
195 return self.getFormatted('metadata_extended_template', path=path, allFields=True)
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
196
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
197 def getFormattedLabelFromServer(self,path):
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
198 """get the metadafrom server"""
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
199 logging.debug("getFormattedLabelFromServer(%s)"%path)
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
200 return self.getFormatted('label_template', path)
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
201
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
202
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
203 changeMetaDataFolderForm = PageTemplateFile('zpt/changeMetaDataFolder',globals())
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
204
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
205 security.declarePublic('changeMetaDataFolder')
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
206 def changeMetaDataFolder(self,title,metaDataServerUrl,RESPONSE=None):
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
207 """Change MetaDataFolder"""
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
208 self.title = title
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
209 self.metaDataServerUrl=metaDataServerUrl
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
210 if RESPONSE is not None:
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
211 RESPONSE.redirect('manage_main')
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
212
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
213
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
214 manage_addMetaDataFolderForm = PageTemplateFile('zpt/addMetaDataFolderForm',globals())
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
215
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
216 def manage_addMetaDataFolder(self,id,title,RESPONSE=None):
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
217 """a MetaDataFolder objekt"""
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
218 newObj=MetaDataFolder(id,title)
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
219 self.Destination()._setObject(id,newObj)
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
220 if RESPONSE is not None:
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
221 RESPONSE.redirect('manage_main')
8291255b1868 adding new base level class MetaDataFolder.
casties
parents:
diff changeset
222