Mercurial > hg > purlService
diff harvestToPurl.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 | 1b2d74f94ca8 |
| children | 6a0873a913c5 |
line wrap: on
line diff
--- a/harvestToPurl.py Wed Oct 23 12:28:22 2013 +0200 +++ b/harvestToPurl.py Mon Mar 03 17:32:06 2014 +0100 @@ -1,11 +1,17 @@ +# -*- coding: utf-8 -*- ''' + Created on 31.10.2012 @author: dwinter + +wesentlich hier ist: harvestIndexMeta ''' + + import managePurls.manageIndexMetaPURLs as manageIndexMetaPURLs - +import addDriToIndexMeta import os @@ -15,7 +21,21 @@ from lxml import etree def harvestIndexMeta(path,user,delpath="",replacepath="", update=False): + """ + Sucht in path und allen unterordnern nach index.meta dateien und schaut dann nach ob es dort schon ein index meta gibt. Wenn ja wird geschaut, ob die + dort enthaltenenn dris mit denen Übereinstimmen, die in der Datenbank gespeichert sind. + delpath ist ein optionaler Parameter, der angibt wird welcher Teil des Pfades in pfad aus dem Pfad zur Überprüfung gelöscht werden soll, d.h. + angenommen path="/mpiwg/online/permanent" und delpath="/mpiwg/online" dann wird in der Datenbank nach Pfaden gesucht die mit /permanent beginnen. + + Ist replacepath gesetzt wird der mit delpath geloeschte Teil durch replacepath ersetzt, dh.h + path="/Volumes/online_permanent/library" und delpath="/Volumes/online_permanent", replacepath="/permanent" ann wird in der Datenbank nach Pfaden gesucht die mit /permanent beginnen. + + + Falls es keine DRI gibt, wird eine PURL in der Datenbank erzeugt. Diese wird NICHT in den index.meta gespeichert, dazu muss ein anderes Script "addDriToIndexMeta" aufgerufen werden! + + Falls es eine gibt und das update Flag gesetzt ist, wird die Dri aus den Index.meta in die Datenbank zu dem Pfad geschrieben. + """ md = manageIndexMetaPURLs.IndexMetaPURLManager() for root, dirs, files in os.walk(path): @@ -24,13 +44,19 @@ for name in files: if name.endswith(".meta"): fl=join(root, name) - + + + driIndexMeta=addDriToIndexMeta.getDRIfromIndexMeta(fl) + imagePath=createImagePath(fl,root) + imagePath=re.sub("^"+delpath,replacepath,imagePath) fl=re.sub("^"+delpath,replacepath,fl) #loesche den teil vom path der mir delpath beginnt - val,purl = md.register(fl, True, user=user,imagePath=imagePath,update=update) + + + val,purl = md.register(fl, True, user=user,imagePath=imagePath,driIndexMeta=driIndexMeta,update=update) try: if val==manageIndexMetaPURLs.ALREADY_EXISTS: print "found %s -> %s"%(fl,purl)
