def sherpa_romeo_journal_process(form, field, submit=False, fields=None): value = field.data or '' if value == "" or value.isspace(): return s = SherpaRomeoSearch() s.search_journal(value, 'exact') if s.error: field.add_message(s.error_message, state='info') return if s.get_num_hits() == 1: issn = s.parser.get_journals(attribute='issn') if issn != [] and issn is not None: issn = issn[0] publisher = s.parser.get_publishers(journal=value) if publisher is not None and publisher != []: if hasattr(form, 'issn'): form.issn.data = issn if hasattr(form, 'publisher'): form.publisher.data = publisher['name'] form.publisher.post_process(form) return field.add_message("Journal's Publisher not found", state='info') if hasattr(form, 'issn'): form.issn.data = issn if hasattr(form, 'publisher'): form.publisher.data = publisher form.publisher.post_process(form) else: field.add_message("Couldn't find ISSN.", state='info')
def sherpa_romeo_journal_process(form, field, submit=False, fields=None): value = field.data or '' if value == "" or value.isspace(): return s = SherpaRomeoSearch() s.search_journal(value, 'exact') if s.error: field.add_message(s.error_message, state='info') return if s.get_num_hits() == 1: issn = s.parser.get_journals(attribute='issn') if issn != [] and issn is not None: issn = issn[0] publisher = s.parser.get_publishers(journal=value) if publisher is not None and publisher != []: if hasattr(form, 'issn'): form.issn.data = issn if hasattr(form, 'publisher'): form.publisher.data = publisher['name'] form.publisher.post_process(form) return field.add_message("Journal's Publisher not found", state='info') if hasattr(form, 'issn'): form.issn.data = issn if hasattr(form, 'publisher'): form.publisher.data = publisher form.publisher.post_process(form) else: field.add_message("Couldn't find ISSN.", state='info')
def sherpa_romeo_journals(dummy_form, dummy_field, term, limit=50): """Search SHERPA/RoMEO for journal name.""" if term: # SherpaRomeoSearch doesnt' like unicode if isinstance(term, unicode): term = term.encode('utf8') s = SherpaRomeoSearch() journals = s.search_journal(term) if journals is not None: return map(lambda x: {'value': x}, journals[:limit]) return []
def sherpa_romeo_journals(dummy_form, dummy_field, term, limit=50): """Search SHERPA/RoMEO for journal name.""" if term: # SherpaRomeoSearch doesnt' like unicode if isinstance(term, unicode): term = term.encode('utf8') s = SherpaRomeoSearch() journals = s.search_journal(term) if journals is not None: return map(lambda x: {'value': x}, journals[:limit]) return []