cli.py 文件源码

python
阅读 16 收藏 0 点赞 0 评论 0

项目:audio-feeder 作者: pganssle 项目源码 文件源码
def update(content_type, reload_metadata, path):
    """
    Add a specific path to the databases, loading all content and updating the
    database where necessary.

    The path at PATH will be recursively searched for data.
    """
    import os

    from . import database_handler as dh
    from .resolver import Resolver

    from progressbar import ProgressBar, Bar, Timer, ETA
    def pbar(msg):
        return ProgressBar(widgets=[msg, ' ',
                           Bar(), ' ', Timer(), ' ', ETA()])

    # If this is a relative path, interpret it as relative to the base
    # media path, not the cwd.
    path = Resolver().resolve_media(path).path

    if content_type in ('b', 'books'):
        updater = dh.BookDatabaseUpdater(path)
    else:
        raise ValueError('Unknown type {}'.format(utype))

    print('Loading database')
    db = dh.load_database()

    print('Loading all new entries.')
    updater.update_db_entries(db)

    dh.save_database(db)    # Save as we progress

    print('Loading books associated with entries.')
    updater.assign_books_to_entries(db)

    dh.save_database(db)

    updater.update_book_metadata(db, pbar=pbar('Loading book metadata:'),
        reload_metadata=reload_metadata)

    dh.save_database(db)

    print('Updating author database')
    updater.update_author_db(db)

    dh.save_database(db)

    print('Updating book covers')
    updater.update_cover_images(db)

    dh.save_database(db)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号