Mercurial > hg > purlService
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: |