Example #1
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
Example #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
Example #3
0
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')
Example #4
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)
Example #5
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)
Example #6
0
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')