def perform_candidate_record_search(requestType, data): """Handle search requests. """ max_results = 999 too_many = False result = {'resultCode': 0, 'resultText': ''} if requestType == "searchCandidates": recids = perform_request_search(p=data['query']) if len(recids) > max_results: too_many = True else: captions = [search_result_info(x) for x in recids] alternative_titles = [ remove_html_markup(print_record(x, "hs")) for x in recids ] search_results = [recids, captions, alternative_titles] elif requestType == "searchRevisions": revisions = get_record_revision_ids(data['recID1']) captions = [split_revid(x, 'datetext')[1] for x in revisions] search_results = [revisions, captions] if too_many == True: result['resultCode'] = 1 result['resultText'] = 'Too many results' else: result['results'] = search_results result['resultText'] = '%s results' % len(search_results[0]) return result
def perform_candidate_record_search(requestType, data): """Handle search requests. """ max_results = 999 too_many = False result = {"resultCode": 0, "resultText": ""} if requestType == "searchCandidates": recids = perform_request_search(p=data["query"]) if len(recids) > max_results: too_many = True else: captions = [search_result_info(x) for x in recids] alternative_titles = [remove_html_markup(print_record(x, "hs")) for x in recids] search_results = [recids, captions, alternative_titles] elif requestType == "searchRevisions": revisions = get_record_revision_ids(data["recID1"]) captions = [split_revid(x, "datetext")[1] for x in revisions] search_results = [revisions, captions] if too_many == True: result["resultCode"] = 1 result["resultText"] = "Too many results" else: result["results"] = search_results result["resultText"] = "%s results" % len(search_results[0]) return result
def perform_candidate_record_search(requestType, data): """Handle search requests. """ max_results = 999 too_many = False result = { 'resultCode': 0, 'resultText': '' } if requestType == "searchCandidates": recids = perform_request_search( p=data['query'] ) if len(recids) > max_results: too_many = True else: captions = [ search_result_info(x) for x in recids ] alternative_titles = [ remove_html_markup(print_record(x, "hs")) for x in recids ] search_results = [recids, captions, alternative_titles] elif requestType == "searchRevisions": revisions = get_record_revision_ids( data['recID1'] ) captions = [ split_revid(x, 'datetext')[1] for x in revisions ] search_results = [revisions, captions] if too_many == True: result['resultCode'] = 1 result['resultText'] = 'Too many results' else: result['results'] = search_results result['resultText'] = '%s results' % len(search_results[0]) return result
def rollback_record(recid): print 'id', recid for rev in get_record_revision_ids(recid): old_record = create_record(get_marcxml_of_revision_id(rev)) fields_to_add = record_get_field_instances(old_record[0], tag='520') if fields_to_add: print 'reverting to', rev return create_our_record(recid, fields_to_add) print 'FAILED', recid
def look_for_revisions(recid): revisions = get_record_revision_ids(recid) rev_count = 0 rev_info = get_info_of_revision_id(revisions[rev_count]) bibedit_str = 'bibedit_record_%s_0.xml' % recid while 'arxiv-refs-fix' in rev_info or bibedit_str in rev_info: rev_count += 1 rev_info = get_info_of_revision_id(revisions[rev_count]) return revisions[0], revisions[rev_count]
def rollback_record(recid, weight): print 'id', recid, 'weight', weight for rev in get_record_revision_ids(recid): if weight == 0: break if 'refextract' in get_info_of_revision_id(rev): weight -= 1 print 'rev', rev old_record = create_record(get_marcxml_of_revision_id(rev)) fields_to_add = record_get_field_instances(old_record[0], tag='999', ind1='%', ind2='%') submit_xml(create_our_record(recid, fields_to_add))
def cli_list_revisions(recid): """Print list of all known record revisions (=RECID.REVDATE) for record RECID. """ try: recid = int(recid) except ValueError: print 'ERROR: record ID must be integer, not %s.' % recid sys.exit(1) out = '\n'.join(get_record_revision_ids(recid)) if out: print out else: print 'ERROR: Record %s not found.' % recid
def rollback_record(recid): print 'id', recid revisions = get_record_revision_ids(recid) rev_count = 0 rev_info = get_info_of_revision_id(revisions[rev_count]) while 'arxiv-refs-fix' in rev_info: rev_count += 1 rev_info = get_info_of_revision_id(revisions[rev_count]) if rev_count == 0: print "%s not matching %s" % (recid, rev_info) else: print 'reverting to ', get_info_of_revision_id(revisions[rev_count]) xml_record = get_marcxml_of_revision_id(revisions[rev_count]) save_xml_record(recid, 0, xml_record)
def cli_list_revisions(recid, details=False): """Print list of all known record revisions (=RECID.REVDATE) for record RECID. """ try: recid = int(recid) except ValueError: print 'ERROR: record ID must be integer, not %s.' % recid sys.exit(1) record_rev_list = get_record_revision_ids(recid) if not details: out = '\n'.join(record_rev_list) else: out = "%s %s %s %s\n" % ("# Revision".ljust(22), "# Task ID".ljust(15), "# Author".ljust(15), "# Job Details") out += '\n'.join([get_info_of_revision_id(revid) for revid in record_rev_list]) if out: print out else: print 'ERROR: Record %s not found.' % recid
def cli_list_revisions(recid, details=False): """Print list of all known record revisions (=RECID.REVDATE) for record RECID. """ try: recid = int(recid) except ValueError: print 'ERROR: record ID must be integer, not %s.' % recid sys.exit(1) record_rev_list = get_record_revision_ids(recid) if not details: out = '\n'.join(record_rev_list) else: out = "%s %s %s %s\n" % ("# Revision".ljust(22), "# Task ID".ljust(15), "# Author".ljust(15), "# Job Details") out += '\n'.join( [get_info_of_revision_id(revid) for revid in record_rev_list]) if out: print out else: print 'ERROR: Record %s not found.' % recid