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 main(): from invenio.legacy.search_engine import get_record from invenio.legacy.bibupload.engine import ( bibupload, ) from invenio.legacy.bibrecord import ( create_record, ) from invenio.legacy.bibedit.db_layer import get_record_revisions from invenio.legacy.bibedit.utils import ( get_record_revision_ids, get_marcxml_of_revision, ) # Loop through list of records for r in RECORDS: rec = get_record(r) if not rec: break print('Processing record: {0}'.format(r)) # pprint(rec) print(get_record_revision_ids(r)) print revs = get_record_revisions(r) print(revs) print for id, rev in revs[0:1]: marcxml = get_marcxml_of_revision(r, rev) # print(marcxml) # print rec = create_record(marcxml)[0] pprint(rec) if raw_input('Bibupload (y/n)? ') == 'y': # bibupload(rec, 'delete') # sleep(5) bibupload(rec, 'replace')
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)