Ejemplo n.º 1
0
def test_is_submitted_but_not_published_returns_true_if_record_has_at_least_one_journal_title():
    record = {
        'publication_info': [
            {'journal_title': 'journal title'},
        ],
    }

    assert is_submitted_but_not_published(record)
Ejemplo n.º 2
0
def test_is_submitted_but_not_published_returns_true_if_record_has_at_least_one_journal_title():
    record = {
        'publication_info': [
            {'journal_title': 'journal title'},
        ],
    }

    assert is_submitted_but_not_published(record)
Ejemplo n.º 3
0
def test_is_submitted_but_not_published_returns_false_if_record_has_dois():
    record = {
        'dois': [
            {'value': 'doi'},
        ],
    }

    assert not is_submitted_but_not_published(record)
Ejemplo n.º 4
0
def test_is_submitted_but_not_published_returns_false_if_record_has_dois():
    record = {
        'dois': [
            {'value': 'doi'},
        ],
    }

    assert not is_submitted_but_not_published(record)
Ejemplo n.º 5
0
 def _get_note(self):
     """Return record note"""
     if self.entry_type in ("article", "inproceedings"):
         if "publication_info" in self.record:
             pub_info = self.record["publication_info"]
             result = ""
             note_list = []
             for index, val in enumerate(pub_info):
                 if index >= 1:
                     note = ""
                     if "note" not in val and (
                         "journal_title" in val
                         or "journal_volume" in val
                         or "journal_issue" in val
                         or "page_start" in val
                         or "artid" in val
                         or "year" in val
                     ):
                         if "journal_title" in val:
                             if is_submitted_but_not_published(self.record):
                                 note += "Submitted to: " + re.sub(r"\.([A-Z])", r". \1", val["journal_title"])
                             else:
                                 note += re.sub(r"\.([A-Z])", r". \1", val["journal_title"])
                                 if "journal_volume" in val:
                                     if note.find("JHEP") > -1:
                                         note += re.sub(r"\d\d(\d\d)", r"\1", val["journal_volume"])
                                     else:
                                         note += val["journal_volume"]
                                 if "journal_issue" in val:
                                     note += ",no." + val["journal_issue"]
                                 if "page_start" in val or "artid" in val:
                                     note += "," + (val.get("page_start") or val["artid"])
                         if "year" in val:
                             note += "(" + str(val["year"]) + ")"
                         elif "preprint_date" in self.record:
                             note += "(" + str(self.record["preprint_date"].split("-")[0]) + ")"
                         result = "[" + note + "]"
                         note_list.append(result)
                     elif "note" in val and (val["note"] in ("Erratum", "Addendum", "Corrigendum", "Reprint")):
                         if "journal_title" in val:
                             note += re.sub(r"\.([A-Z])", r". \1", val["journal_title"])
                         if "journal_volume" in val:
                             if note.find("JHEP") > -1:
                                 note += re.sub(r"\d\d(\d\d)", r"\1", val["journal_volume"])
                             else:
                                 note += val["journal_volume"]
                         if "journal_issue" in val:
                             note += ",no." + val["journal_issue"]
                         if "page_start" in val or "artid" in val:
                             note += "," + (val.get("page_start") or val["artid"])
                         if "year" in val:
                             note += "(" + str(val["year"]) + ")"
                         result = "[" + val["note"] + ": " + note + "]"
                         note_list.append(result)
             if note_list:
                 return note_list[-1]
             return ""
Ejemplo n.º 6
0
def test_is_submitted_but_not_published_returns_false_if_record_is_from_econf_and_has_journal_volume():
    record = {
        'publication_info': [
            {
                'journal_title': 'eConf',
                'journal_volume': 'journal volume',
            },
        ],
    }

    assert not is_submitted_but_not_published(record)
Ejemplo n.º 7
0
def test_is_submitted_but_not_published_returns_false_if_record_is_from_econf_and_has_journal_volume():
    record = {
        'publication_info': [
            {
                'journal_title': 'eConf',
                'journal_volume': 'journal volume',
            },
        ],
    }

    assert not is_submitted_but_not_published(record)
Ejemplo n.º 8
0
def test_is_submitted_but_not_published_returns_false_if_record_has_a_complete_publication_info():
    record = {
        'publication_info': [
            {
                'journal_title': 'journal title',
                'journal_volume': 'journal volume',
                'page_start': 'page start',
            },
        ],
    }

    assert not is_submitted_but_not_published(record)
Ejemplo n.º 9
0
def test_is_submitted_but_not_published_returns_false_if_record_has_a_complete_publication_info():
    record = {
        'publication_info': [
            {
                'journal_title': 'journal title',
                'journal_volume': 'journal volume',
                'page_start': 'page start',
            },
        ],
    }

    assert not is_submitted_but_not_published(record)
Ejemplo n.º 10
0
 def _get_publi_info(self):
     result = []
     if 'publication_info' in self.record:
         journal_title, journal_volume, year, journal_issue, pages = \
             ('', '', '', '', '')
         for field in self.record['publication_info']:
             out = ''
             if 'journal_title' in field:
                 if is_submitted_but_not_published(self.record):
                     journal_title = 'Submitted to: ' +\
                         field['journal_title']
                     if 'year' in field:
                         year = ' (' + str(field['year']) + ')'
                 else:
                     journal_title = field['journal_title']
                     if 'journal_volume' in field:
                         journal_volume = ' ' + field['journal_volume']
                     if 'year' in field:
                         year = ' (' + str(field['year']) + ')'
                     if 'journal_issue' in field:
                         if field['journal_issue']:
                             journal_issue = ' ' + \
                                             field['journal_issue'] + ','
                     if 'page_start' in field and 'page_end' in field:
                         pages = ' {page_start}-{page_end}'.format(**field)
                     elif 'page_start' in field:
                         pages = ' {page_start}'.format(**field)
                     elif 'artid' in field:
                         pages = ' {artid}'.format(**field)
                 out += journal_title + journal_volume + year + \
                     journal_issue + pages
                 result.append(out)
         if not result:
             for field in self.record['publication_info']:
                 if 'pubinfo_freetext' in field and len(field) == 1:
                     return field['pubinfo_freetext']
         return result
Ejemplo n.º 11
0
 def _get_publi_info(self):
     result = []
     if 'publication_info' in self.record:
         journal_title, journal_volume, year, journal_issue, pages = \
             ('', '', '', '', '')
         for field in self.record['publication_info']:
             out = ''
             if 'journal_title' in field:
                 if is_submitted_but_not_published(self.record):
                     journal_title = 'Submitted to: ' +\
                         field['journal_title']
                     if 'year' in field:
                         year = ' (' + str(field['year']) + ')'
                 else:
                     journal_title = field['journal_title']
                     if 'journal_volume' in field:
                         journal_volume = ' ' + field['journal_volume']
                     if 'year' in field:
                         year = ' (' + str(field['year']) + ')'
                     if 'journal_issue' in field:
                         if field['journal_issue']:
                             journal_issue = ' ' + \
                                             field['journal_issue'] + ','
                     if 'page_start' in field and 'page_end' in field:
                         pages = ' {page_start}-{page_end}'.format(**field)
                     elif 'page_start' in field:
                         pages = ' {page_start}'.format(**field)
                     elif 'artid' in field:
                         pages = ' {artid}'.format(**field)
                 out += journal_title + journal_volume + year + \
                     journal_issue + pages
                 result.append(out)
         if not result:
             for field in self.record['publication_info']:
                 if 'pubinfo_freetext' in field and len(field) == 1:
                     return field['pubinfo_freetext']
         return result
Ejemplo n.º 12
0
 def _get_note(self):
     """Return record note"""
     if self.entry_type in ('article', 'inproceedings'):
         if 'publication_info' in self.record:
             pub_info = self.record['publication_info']
             result = ''
             note_list = []
             for index, val in enumerate(pub_info):
                 if index >= 1:
                     note = ''
                     if 'note' not in val and \
                         ('journal_title' in val or
                          'journal_volume' in val or
                          'journal_issue' in val or
                          'page_start' in val or
                          'artid' in val or
                          'year' in val):
                         if 'journal_title' in val:
                             if is_submitted_but_not_published(self.record):
                                 note += 'Submitted to: ' +\
                                         re.sub(r'\.([A-Z])', r'. \1',
                                                val['journal_title'])
                             else:
                                 note += re.sub(r'\.([A-Z])', r'. \1',
                                                val['journal_title'])
                                 if 'journal_volume' in val:
                                     if note.find("JHEP") > -1:
                                         note += re.sub(r'\d\d(\d\d)', r'\1',
                                                        val['journal_volume'])
                                     else:
                                         note += val['journal_volume']
                                 if 'journal_issue' in val:
                                     note += ',no.' + val['journal_issue']
                                 if 'page_start' in val or 'artid' in val:
                                     note += ',' + (val.get('page_start') or val['artid'])
                         if 'year' in val:
                             note += "(" + str(val['year']) + ")"
                         elif 'preprint_date' in self.record:
                             note += "(" + str(self.record['preprint_date'].split('-')[0]) + ")"
                         result = '[' + note + ']'
                         note_list.append(result)
                     elif 'note' in val and \
                         (val['note'] in ('Erratum', 'Addendum',
                                          'Corrigendum', 'Reprint')):
                         if 'journal_title' in val:
                             note += re.sub(r'\.([A-Z])', r'. \1',
                                            val['journal_title'])
                         if 'journal_volume' in val:
                             if note.find("JHEP") > -1:
                                 note += re.sub(r'\d\d(\d\d)', r'\1',
                                                val['journal_volume'])
                             else:
                                 note += val['journal_volume']
                         if 'journal_issue' in val:
                             note += ',no.' + val['journal_issue']
                         if 'page_start' in val or 'artid' in val:
                             note += ',' + (val.get('page_start') or val['artid'])
                         if 'year' in val:
                             note += "(" + str(val['year']) + ")"
                         result = "[" + val['note'] + ": " + note + "]"
                         note_list.append(result)
             if note_list:
                 return note_list[-1]
             return ''
Ejemplo n.º 13
0
 def _get_note(self):
     """Return record note"""
     if self.entry_type in ('article', 'inproceedings'):
         if 'publication_info' in self.record:
             pub_info = self.record['publication_info']
             result = ''
             note_list = []
             for index, val in enumerate(pub_info):
                 if index >= 1:
                     note = ''
                     if 'note' not in val and \
                         ('journal_title' in val or
                          'journal_volume' in val or
                          'journal_issue' in val or
                          'page_start' in val or
                          'artid' in val or
                          'year' in val):
                         if 'journal_title' in val:
                             if is_submitted_but_not_published(self.record):
                                 note += 'Submitted to: ' +\
                                         re.sub(r'\.([A-Z])', r'. \1',
                                                val['journal_title'])
                             else:
                                 note += re.sub(r'\.([A-Z])', r'. \1',
                                                val['journal_title'])
                                 if 'journal_volume' in val:
                                     if note.find("JHEP") > -1:
                                         note += re.sub(r'\d\d(\d\d)', r'\1',
                                                        val['journal_volume'])
                                     else:
                                         note += val['journal_volume']
                                 if 'journal_issue' in val:
                                     note += ',no.' + val['journal_issue']
                                 if 'page_start' in val or 'artid' in val:
                                     note += ',' + (val.get('page_start') or val['artid'])
                         if 'year' in val:
                             note += "(" + str(val['year']) + ")"
                         elif 'preprint_date' in self.record:
                             note += "(" + str(self.record['preprint_date'].split('-')[0]) + ")"
                         result = '[' + note + ']'
                         note_list.append(result)
                     elif 'note' in val and \
                         (val['note'] in ('Erratum', 'Addendum',
                                          'Corrigendum', 'Reprint')):
                         if 'journal_title' in val:
                             note += re.sub(r'\.([A-Z])', r'. \1',
                                            val['journal_title'])
                         if 'journal_volume' in val:
                             if note.find("JHEP") > -1:
                                 note += re.sub(r'\d\d(\d\d)', r'\1',
                                                val['journal_volume'])
                             else:
                                 note += val['journal_volume']
                         if 'journal_issue' in val:
                             note += ',no.' + val['journal_issue']
                         if 'page_start' in val or 'artid' in val:
                             note += ',' + (val.get('page_start') or val['artid'])
                         if 'year' in val:
                             note += "(" + str(val['year']) + ")"
                         result = "[" + val['note'] + ": " + note + "]"
                         note_list.append(result)
             if note_list:
                 return note_list[-1]
             return ''