def write_edition(loc, edition): add_lang(edition) q = build_query(loc, edition) authors = [] for a in q.get('authors', []): if 'key' in a: authors.append({'key': a['key']}) else: try: ret = ol.new(a, comment='new author') except: print a raise print 'ret:', ret assert isinstance(ret, basestring) # assert ret['status'] == 'ok' # assert 'created' in ret and len(ret['created']) == 1 authors.append({'key': ret}) q['source_records'] = [loc] if authors: q['authors'] = authors for attempt in range(5): if attempt > 0: print 'retrying' try: ret = ol.new(q, comment='initial import') except httplib.BadStatusLine: sleep(10) continue except: # httplib.BadStatusLine print q raise break print 'ret:', ret assert isinstance(ret, basestring) # assert ret['status'] == 'ok' # assert 'created' in ret # editions = [i for i in ret['created'] if i.startswith('/b/OL')] # assert len(editions) == 1 key = ret # get key from return pool.update(key, q)
def write_edition(loc, edition): add_lang(edition) q = build_query(loc, edition) authors = [] for a in q.get('authors', []): if 'key' in a: authors.append({'key': a['key']}) else: try: ret = ol.new(a, comment='new author') except: print a raise print 'ret:', ret assert isinstance(ret, basestring) authors.append({'key': ret}) q['source_records'] = [loc] if authors: q['authors'] = authors for attempt in range(5): if attempt > 0: print 'retrying' try: ret = ol.new(q, comment='initial import') except httplib.BadStatusLine: sleep(10) continue except: # httplib.BadStatusLine print q raise break print 'ret:', ret assert isinstance(ret, basestring) key = ret pool.update(key, q)