예제 #1
0
def __parseIndex(fn):
    fin=gzip.GzipFile(fn, "r")
    class P(libphoto.AlbumParser):
        photos=[]
        def gotPhoto(self, p):
            if p.md5 is not None and p.md5 != '':
                self.photos.append( (p.id, p.md5, p.extension) )
    p=P()
    libphoto.parseIndex(fin, p)
    fin.close()
    return p.photos
예제 #2
0
파일: load-couch.py 프로젝트: dustin/photo
    def run(self):
        while True:
            p, dbname, docid, rev = Q.get()
            self.save_attachments(p, dbname, docid, rev)
            Q.task_done()

if __name__ == '__main__':
    base, u=sys.argv[1:]
    fn = 'index.xml'

    pw=os.getenv('PHOTO_PW')
    if pw is None:
        pw=getpass.getpass()

    url = 'http://localhost:5984/'
    c = couchdb.Server(url, full_commit=False)

    libphoto.authenticate(base, u, pw)

    libphoto.parseIndex(libphoto.fetchIndex(base), Parser(c, base))

    threads = [ImageWorker(url, base) for w in range(N_THREADS)]

    Q.join()

    for db in c:
        print "Compacting", db
        c[db].compact()

예제 #3
0
def parseIndex():
    global config
    album={}
    print "Beginning index parse"
    d=libphoto.parseIndex('index.xml', MyHandler(album))
    return album