Пример #1
0
def sync(comic_id):
    dao, crawler = None, None

    if comic_id == 'xkcd':
        dao = WebcomicDao()
        crawler = XkcdComic(app.config.XKCD_CRAWLER_URL)
    else:
        raise Exception('Invalid webcomic id %s' % comic_id)

    urls = get_comic_urls(comic_id)

    only_urls = set([url.get('url') for url in urls])
    comic_links = crawler.get_comics(only_urls)

    last_sync = time.time()
    links_count = len(comic_links) + len(urls)

    dao.add_links(comic_id, comic_links)
    dao.update_comic(comic_id, links_count=links_count, last_sync=last_sync)

    return {
        'id': comic_id,
        'links_count': links_count,
        'last_sync': readable.from_ts(last_sync)
    }
Пример #2
0
def create_comic(comic_id, initial_data):
    dao = WebcomicDao()
    webcomicObj = dao.create_comic(comic_id, initial_data)
    return webcomicObj
Пример #3
0
def get_comic_urls(comic_id):
    dao = WebcomicDao()
    urls = dao.get_comic_urls(comic_id)
    return urls
Пример #4
0
def get_comics_ids():
    dao = WebcomicDao()
    ids = dao.get_comics_ids()
    return ids
Пример #5
0
def get_comic(comic_id):
    dao = WebcomicDao()
    comic = dao.get_comic_by_id(comic_id)
    return comic