Exemplo n.º 1
0
def sherpa_romeo_issn_process(form, field, submit=False):
    value = field.data or ''
    if value == "" or value.isspace():
        return dict(error=0, error_message='')
    s = SherpaRomeoSearch()
    s.search_issn(value)
    if s.error:
        field.add_message(s.error_message, state='info')
        return

    if s.get_num_hits() == 1:
        journal = s.parser.get_journals(attribute='jtitle')
        journal = journal[0]
        publisher = s.parser.get_publishers(journal=journal)
        if publisher is not None and publisher != []:
            if hasattr(form, 'journal'):
                form.journal.data = journal

            if hasattr(form, 'publisher'):
                form.publisher.data = publisher['name']
            return
        else:
            if hasattr(form, 'journal'):
                form.journal.data = journal
            return

    field.add_message("Couldn't find Journal.", state='info')
Exemplo n.º 2
0
def sherpa_romeo_issn_process(form, field, submit=False):
    value = field.data or ''
    if value == "" or value.isspace():
        return dict(error=0, error_message='')
    s = SherpaRomeoSearch()
    s.search_issn(value)
    if s.error:
        field.add_message(s.error_message, state='info')
        return

    if s.get_num_hits() == 1:
        journal = s.parser.get_journals(attribute='jtitle')
        journal = journal[0]
        publisher = s.parser.get_publishers(journal=journal)
        if publisher is not None and publisher != []:
            if hasattr(form, 'journal'):
                form.journal.data = journal

            if hasattr(form, 'publisher'):
                form.publisher.data = publisher['name']
            return
        else:
            if hasattr(form, 'journal'):
                form.journal.data = journal
            return

    field.add_message("Couldn't find Journal.", state='info')