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
Esempio n. 2
0
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))
Esempio n. 7
0
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
Esempio n. 8
0
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)
Esempio n. 9
0
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
Esempio n. 10
0
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