comparison managePurls/manageIndexMetaPURLs.py @ 36:be8640c08d99

Updatedri in harbestToPUrl ge?ndert. jetzt werden gegebenenfalls dris aus den index.meta gelesen und in die db geschrieben, falls sie noch nicht existieren. ausserdem wird in den daten isdri=TRUE gesetzt, wenn es ich bei der PURL um eine handelt die auf ein DRI in den index.meta verweist.
author dwinter
date Mon, 03 Mar 2014 17:32:06 +0100
parents bcd8076ff7ec
children 6a0873a913c5
comparison
equal deleted inserted replaced
35:d3ecbfd21e06 36:be8640c08d99
172 172
173 purl = self.generatePurl() 173 purl = self.generatePurl()
174 174
175 #erzeuge eine neue purl 175 #erzeuge eine neue purl
176 while self.exists(purl): 176 while self.exists(purl):
177 purl = self.gneratePurl() 177 purl = self.generatePurl()
178 178
179 179
180 seq= self.purlDB.insert('purls',path=path,purl=purl,is_index_meta=isIndexMeta, image_path=imagePath, 180 seq= self.purlDB.insert('purls',path=path,purl=purl,is_index_meta=isIndexMeta, image_path=imagePath,
181 server_url=server_url,validity=1,created_by=user,created_at=web.SQLLiteral("NOW()")) 181 server_url=server_url,validity=1,created_by=user,created_at=web.SQLLiteral("NOW()"))
182 182
184 return purl 184 return purl
185 185
186 #register a new path 186 #register a new path
187 187
188 188
189 def updatePurl(self,purl,isIndexMeta,path="",imagePath="",server_url="",user=""): 189 def updatePurl(self,purl,isIndexMeta,path="",imagePath="",server_url="",user="",isDri=False):
190 190
191 update= self.purlDB.update('purls',where="purl = '%s'"%web.sqlparam(purl),path=path,is_index_meta=isIndexMeta, image_path=imagePath, 191 update= self.purlDB.update('purls',where="purl = '%s'"%web.sqlparam(purl),path=path,is_index_meta=isIndexMeta, image_path=imagePath,
192 server_url=server_url,validity=1,last_change_by=user,last_change_at=web.SQLLiteral("NOW()"),isdri=isDri)
193
194
195 return update
196
197
198 def updatePurlForPath(self,purl,isIndexMeta,path="",imagePath="",server_url="",user=""):
199 """schreibt zu einem Pfad die entsprechende purl"""
200
201
202 update= self.purlDB.update('purls',where="path = '%s'"%web.sqlparam(path),purl=purl,is_index_meta=isIndexMeta, image_path=imagePath,
192 server_url=server_url,validity=1,last_change_by=user,last_change_at=web.SQLLiteral("NOW()")) 203 server_url=server_url,validity=1,last_change_by=user,last_change_at=web.SQLLiteral("NOW()"))
193 204
194 205
195 return update 206 return update
196 207
197 def register(self,path=None,isIndexMeta=False,imagePath="",server_url="",user="",update=False): 208 def register(self,path=None,isIndexMeta=False,imagePath="",server_url="",user="",driIndexMeta=None,update=False):
198 209
199 210
200 #teste ob es zu dem Pfad schon eine Purl gibt 211 #teste ob es zu dem Pfad schon eine Purl gibt
201 212
202 if path: # wenn ein pfad definiert ist teste ob es schon eine purl dazu gibt. 213 if path: # wenn ein pfad definiert ist teste ob es schon eine purl in der Datenbank gibt.
203 purl = self.getPurl(path) 214 purl = self.getPurl(path)
215
204 else: 216 else:
205 purl =None 217 purl =None
218
219 if update: # wenn update compare this with the purl which is stored in the index.meta file.
220 if (driIndexMeta is not None) & (purl!=driIndexMeta):
221 #wenn nicht gleich, dann trage die driIndexMeta in die purl db!
222 purl=driIndexMeta
223
224
206 if purl!=None: 225 if purl!=None:
207 226
208 if update: 227 if update:
209 up= self.updatePurl(purl, isIndexMeta, path, imagePath, server_url, user) 228 up= self.updatePurl(driIndexMeta, isIndexMeta, path, imagePath, server_url, user,isDri=True)
210 if up>0: 229 if up>0:
211 return UPDATED,purl 230 return UPDATED,purl
212 else: 231 else:
213 return ERROR,None 232 return ERROR,None
214 233
215 return ALREADY_EXISTS,purl 234 return ALREADY_EXISTS,purl
216 235
217 236
218 #wenn nicht dann neue erzeugen 237 #wenn nicht dann neue erzeugen
219 else: 238 else:
220 purl = self.createPurl(path,isIndexMeta,imagePath=imagePath,user=user,server_url=server_url) 239 purl = self.createPurl(path,isIndexMeta,imagePath=imagePath,user=user,server_url=server_url)
221 if purl!=None: 240 if purl!=None: