1
0
mirror of https://github.com/fraoustin/piwigotools.git synced 2025-06-08 16:36:13 +00:00

add parameters sync-up and sync-down

del paramater sync
This commit is contained in:
fraoustin 2016-04-15 15:19:24 +02:00
parent 872d16abd6
commit 8a8d26c1d4

View File

@ -58,10 +58,25 @@ VERBS = {
"thread" : {"type":"int", "default":"1", "help":"number of thread"}, "thread" : {"type":"int", "default":"1", "help":"number of thread"},
}, },
}, },
"sync": "sync-up":
{ {
"usage" : "usage for verb sync", "usage" : "usage for verb sync-up",
"description" : "synchronization between path and piwigo gallery", "description" : "synchronization local path to piwigo gallery",
"arg" :
{
"category" : {"type":"string", "default":"", "help":"category of piwigo gallery"},
"source" : {"type":"string", "default":".", "help":"path of picture"},
"url" : {"type":"string", "default":"", "help":"url of piwigo gallery"},
"user" : {"type":"string", "default":"", "help":"user of piwigo gallery"},
"password" : {"type":"string", "default":"", "help":"password of piwigo gallery"},
"thread" : {"type":"int", "default":"1", "help":"number of thread"},
"extension" : {"type":"string", "default":"*.JPG,*.jpg,*.PNG,*.png,*.JPEG,*.jpeg,*.GIF,*.gif", "help":"extension for upload"},
},
},
"sync-down":
{
"usage" : "usage for verb sync-down",
"description" : "synchronization piwigo gallery to local path",
"arg" : "arg" :
{ {
"category" : {"type":"string", "default":"", "help":"category of piwigo gallery"}, "category" : {"type":"string", "default":"", "help":"category of piwigo gallery"},
@ -201,7 +216,7 @@ def main():
piwigo.logout() piwigo.logout()
if run.error: if run.error:
parser.error(run.strerror) parser.error(run.strerror)
if verb == "sync": if verb == "sync-up":
ana = Analyse('Analyze') ana = Analyse('Analyze')
ana.start() ana.start()
try: try:
@ -229,18 +244,42 @@ def main():
if not piwigo.isimage(category + ' / ' + filename): if not piwigo.isimage(category + ' / ' + filename):
run.add(piwigo.makedirs,[category,], kw) run.add(piwigo.makedirs,[category,], kw)
run.add(piwigo.upload,[pathabs, category], kw) run.add(piwigo.upload,[pathabs, category], kw)
ana.stop()
except Exception as e:
ana.stop()
raise e
run.start()
piwigo.logout()
if run.error:
parser.error(run.strerror)
if verb == "sync-down":
ana = Analyse('Analyze')
ana.start()
try:
piwigo = Piwigo(url=options.url)
piwigo.login(options.user, options.password)
# check
options.source = os.path.abspath(options.source)
if not os.path.isdir(options.source):
raise Exception("%s is not directory" % options.source)
piwigo.iscategory(options.category)
if len(options.category) and options.category[-1] != '/' and options.category[:-3] != ' / ':
options.category = options.category+ ' / '
# treatment
run = Run(verb, options.thread)
kw = purge_kw(options.__dict__,('user','password','url','source','category','thread'))
# piwigo -> local # piwigo -> local
#for category, item in piwigo.plan.iteritems(): for category, item in piwigo.plan.iteritems():
# if options.category == category[0:len(options.category)]: if options.category == category[0:len(options.category)]:
# path = os.path.join(options.source, *category[len(options.category):].split(' / ')) path = os.path.join(options.source, *category[len(options.category):].split(' / '))
# if not os.path.exists(path): if not os.path.exists(path):
# os.makedirs(path) os.makedirs(path)
# for img in piwigo.images(category): for img in piwigo.images(category):
# pathimg = os.path.join(path, img) pathimg = os.path.join(path, img)
# if not os.path.exists(pathimg): if not os.path.exists(pathimg):
# run.add(piwigo.download, run.add(piwigo.download,
# ["%s / %s" % (category, str(img)), pathimg], ["%s / %s" % (category, str(img)), pathimg],
# kw) kw)
ana.stop() ana.stop()
except Exception as e: except Exception as e:
ana.stop() ana.stop()