def get_persistent_identifiers_keys(keys): """ Acording with @persistent_identifier it recollects all the fields that could be considered as persistent identifiers """ from invenio.bibfield_config_engine import BibFieldParser def smart_set_element(the_list, index, value): try: the_list[index] = value except IndexError: for i in xrange(len(the_list), index+1): the_list.append(None) the_list[index] = value tmp = [] for key in keys: try: if not BibFieldParser.field_definitions()[key]['persistent_identifier'] is None: smart_set_element(tmp, BibFieldParser.field_definitions()[key]['persistent_identifier'], key) except TypeError: # Work arround for [0] and [n] for kkey in BibFieldParser.field_definitions()[key]: if BibFieldParser.field_definitions()[kkey]['persistent_identifier']: smart_set_element(tmp, BibFieldParser.field_definitions()[key]['persistent_identifier'], key) except: continue return filter(None, tmp)
def setUpClass(cls): from invenio.bibfield_config_engine import BibFieldParser BibFieldParser.reparse()
def field_definitions(self): return FieldParser.field_definitions()
def setUp(self): """Loads bibfield configuration test files""" BibFieldParser._field_definitions = {} BibFieldParser._legacy_field_matchings = {} parser = BibFieldParser(main_config_file="test_bibfield.cfg")._create() self.config_rules = BibFieldParser.field_definitions()
def setUp(self): """Loads bibfield configuration test files""" super(BibFieldParserUnitTests, self).setUp() from invenio.bibfield_config_engine import BibFieldParser parser = BibFieldParser(main_config_file="test_bibfield.cfg") self.config_rules = parser.config_rules
def load(): """Loads BibField config.""" print ">>> Going to load BibField config..." from invenio.bibfield_config_engine import BibFieldParser BibFieldParser().write_to_file() print ">>> BibField config load successfully."