Example #1
0
 def _get_pubnote(self):
     """Return publication note"""
     journal, volume, pages = ['', '', '']
     if 'publication_info' in self.record:
         pub_info = self.record['publication_info']
         if isinstance(pub_info, list):
             for field in pub_info:
                 if 'journal_title' in field:
                     journal = field['journal_title']
                 if 'journal_volume' in field:
                     volume = field['journal_volume']
                 if 'page_artid' in field:
                     pages = field['page_artid']
                     if pages:
                         if isinstance(pages, list):
                             for page in pages:
                                 dashpos = page.find('-')
                                 break
                         else:
                             dashpos = pages.find('-')
                         if dashpos > -1:
                             pages = pages[:dashpos]
                 try:
                     if journal and (volume != '' or pages != ''):
                         coden = ','.join(
                             [get_kbr_keys("CODENS", searchvalue=journal,
                                           searchtype='e')[0][0],
                              volume, pages])
                         return coden
                 except:
                     return ''
         else:
             if 'journal_title' in pub_info:
                 journal = pub_info['journal_title']
             if 'journal_volume' in pub_info:
                 volume = pub_info['journal_volume']
             if 'page_artid' in pub_info:
                 pages = pub_info['page_artid']
                 if pages:
                     dashpos = pages.find('-')
                     if dashpos > -1:
                         pages = pages[:dashpos]
             try:
                 if journal and (volume != '' or pages != ''):
                     coden = ','.join(
                         [get_kbr_keys("CODENS", searchvalue=journal,
                                       searchtype='e')[0][0],
                          volume, pages])
                     return coden
             except:
                 return ''
     else:
         return ''
Example #2
0
 def test_EJOURNALS_keys(self):
     """bibknowledge - test left/right rules (key lookups)"""
     from invenio_knowledge.api import get_kbr_values, get_kbr_keys
     mykeys = get_kbr_keys("EJOURNALS", "Acta")
     self.assertEqual(2, len(mykeys))
     mykeys = get_kbr_values("EJOURNALS", '', searchtype='e')
     self.assertEqual(0, len(mykeys))
     mykeys = get_kbr_values("EJOURNALS", searchtype='s')
     self.assertEqual(327, len(mykeys))
     mykeys = get_kbr_values("EJOURNALS", searchkey='', searchtype='s')
     self.assertEqual(327, len(mykeys))