Пример #1
0
from galleryremote import Gallery

import sys
import os
import urllib

galleryurl = sys.argv[1]
outputdir = sys.argv[2]

print galleryurl

g = Gallery(galleryurl, 2)

albums = g.fetch_albums()

os.mkdir(outputdir)
open(outputdir + "/albums.info", "w").write(simplejson.dumps(albums, indent=4))

for (album, albuminfo) in albums.items():
    print " *** Processing album %s\n" % album
    images = g.fetch_album_images(album)
    albumpath = "%s/%s" % (outputdir, album)
    os.mkdir(albumpath)
    open("%s/images.info" % albumpath, "w").write(simplejson.dumps(images, indent=4))
    for image in images:
        print "Downloading image " + image['name']
        urllib.urlretrieve(galleryurl +
                           "/main.php?g2_view=core%3ADownloadItem&g2_itemId=" +
                           image['name'],
                           albumpath + "/" + image['name'] + ".data")
Пример #2
0
    our_album = conf.get("gallery2", "albumname").lower()
    candidate_albums = [k for k, v in albums.iteritems() if v["title"].lower() == our_album]

    if not candidate_albums:
        logger.critical("Couldn't find a %s album!", our_album)
        sys.exit(1)

    album_name = candidate_albums[0]

    if args:
        to_work = args
    else:
        file_re = re.compile(conf.get("directories", "backup_regex"))
        candidates = set(f.split(".")[0] for f in os.listdir(conf.get("directories", "source")) if re.match(file_re, f))
        logger.debug("Found %d candidates", len(candidates))
        finished = set(img["title"].replace(".png", "") for img in g.fetch_album_images(album_name))
        logger.debug("Found %d finished images", len(finished))
        to_work = sorted(list(candidates - finished))

    if len(to_work) == 0:
        logger.info("All caught up, nothing to do!")
        sys.exit(0)

    logger.info("Have %d maps to work on: %s", len(to_work), ", ".join(to_work))

    renderer = MCRenderer(conf, g, album_name)
    if opts.render_only:
        method = renderer.render_image
    else:
        method = renderer.upload_image