def sync(astro_id): dao, crawler = None, None if astro_id == "quarks": dao = AstroDao() crawler = QuarksCrawler(app.config.QUARKS_CRAWLER_URL) else: raise Exception("Invalid astro id %s" % astro_id) urls = get_astro_urls(astro_id) astro_links = crawler.get_astros(urls) last_sync = time.time() links_count = len(astro_links) + len(urls) dao.add_links(astro_id, astro_links) dao.update_astro(astro_id, links_count=links_count, last_sync=last_sync) return {"id": astro_id, "links_count": links_count, "last_sync": readable.from_ts(last_sync)}