Mercurial > hg > purlService
diff addDriToIndexMeta.py @ 5:3ebe37d81071
addDri added
reorganisation of the packafes
author | dwinter |
---|---|
date | Fri, 02 Nov 2012 09:01:35 +0100 |
parents | |
children | f0417a01690a |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/addDriToIndexMeta.py Fri Nov 02 09:01:35 2012 +0100 @@ -0,0 +1,65 @@ +''' +Created on 01.11.2012 + +@author: dwinter +''' +import os +import manageIndexMetaPURLs +import re +from lxml import etree + +from os.path import join, getsize + + +def addPURL(fl,purl,test=False): + tree = etree.parse(fl) + + dris = tree.xpath("/resource/meta/dri[@type='mpiwg']") + + if len(dris)==0: # erzeuge neu + newDri = etree.Element("dri",type="mpiwg") + newDri.text=purl + metas=tree.xpath("/resource/meta") + if len(metas)==0: + print "no resource/meta in %s"%fl + return False + else: + metas[0].append(newDri) + else: + dris[0].text=purl + + print etree.tostring(tree, pretty_print=True) + + if not test: + os.rename(fl, fl+"_mpiwg_dri") + out = etree.tostring(tree, encoding="UTF-8",xml_declaration=False) + fo = file(fl,"w") + fo.write(out) + fo.close + return True + +def addDriToIndexMeta(path,delpath="",replacepath="", update=False,test=False): + + + + for root, dirs, files in os.walk(path): + + + for name in files: + if name.endswith(".meta"): + fl=join(root, name) + shortPath=re.sub("^"+delpath,replacepath,fl) + purl=manageIndexMetaPURLs.IndexMetaPURLManager().getPurl(shortPath) + + addPURL(fl,purl,test) + + if 'pageimg' in dirs: + dirs.remove('pageimg') # don't visit pageimf + for dir in dirs: + if dir== "pageimg": + dirs.remove('pageimg') + if dir.startswith("."): + dirs.remove(dir) + +if __name__ == '__main__': + addDriToIndexMeta("/mpiwg/online/permanent/annalen",delpath="/mpiwg/online") \ No newline at end of file