scripts/migrate_shorturls.py
author terom
Thu, 31 Jan 2008 17:28:02 +0000
changeset 26 81d6679d50d0
parent 22 72696ca68c34
child 31 09776792a91c
permissions -rw-r--r--
updated shorturls.py to write new shorturls to the db, also adding support for dir-shorturls
from lib import shorturl, db

sdb = shorturl.DB()

def gen () :
    count = 0

    for key in sdb.db.keys() :
        if key.startswith("_") :
            continue
        
        print "%6s" % key,

        value = sdb.db[key]

        if not isinstance(value, tuple) or len(value) != 3 :
            print "CORRUPT VALUE!!!"
            continue

        type, dirpath, fname = value

        id = shorturl.key2int(key)
        dirpath = dirpath.lstrip('.').lstrip('/')

        if type == "img" :
            print "img"
            continue    # already imported images

            print "img %6d %50s %10s" % (id, dirpath, fname)

            yield id, dirpath, fname

        else :

            print "dir %6d %50s" % (id, dirpath)

            yield id, dirpath, ''

        count += 1

        if count % 500 == 0 :
            print count


print "Starting import..."

c = db.insert_many("""
    INSERT OR IGNORE INTO nodes VALUES (?, ?, ?)
""", gen())

print "Done!"

print "%d rows affected" % c