示例#1
0
 def test_01_read_01(self):
     # Check that reading the gold standard file gives the right object
     clcsv = ClCsv(self.gold_csv.name)
     assert clcsv.get_column(1) == ('issn1', ['i1a1', 'i1a2', 'i1a3', 'i1a4'])
     assert clcsv.get_column('issn1') == ('issn1', ['i1a1', 'i1a2', 'i1a3', 'i1a4'])
     assert clcsv.get_column(0) == ('', ['q1', 'q2', 'q3', 'q4'])
     assert clcsv.get_column('issn4') == ('issn4', ['19', '', 'i4a3', 'i4a4'])
示例#2
0
 def test_08_read_unicode(self):
     # Check that reading the gold standard file gives the right object
     clcsv = ClCsv(self.gold_csv_unicode.name)
     assert clcsv.get_column(1) == ('иссн1',
                                    ['ила1', 'ила2', 'ила3', 'ила4'])
     assert clcsv.get_column('иссн1') == ('иссн1',
                                          ['ила1', 'ила2', 'ила3', 'ила4'])
     assert clcsv.get_column(0) == ('', ['в1', 'в2', 'в3', 'в4'])
示例#3
0
 def test_01_read_01(self):
     # Check that reading the gold standard file gives the right object
     clcsv = ClCsv(self.gold_csv.name)
     assert clcsv.get_column(1) == ('issn1',
                                    ['i1a1', 'i1a2', 'i1a3', 'i1a4'])
     assert clcsv.get_column('issn1') == ('issn1',
                                          ['i1a1', 'i1a2', 'i1a3', 'i1a4'])
     assert clcsv.get_column(0) == ('', ['q1', 'q2', 'q3', 'q4'])
     assert clcsv.get_column('issn4') == ('issn4',
                                          ['19', '', 'i4a3', 'i4a4'])
示例#4
0
 def test_03_read_03(self):
     # When the file object is closed
     assert self.gold_csv.closed
     clcsv = ClCsv(self.gold_csv)
     assert clcsv.get_column(3) == ('issn3',
                                    ['i3a1', 'i3a2', 'i3a3', 'i3a4'])
示例#5
0
 def test_02_read_02(self):
     # Create an open file object first and pass it in (a different form of CSV creation)
     f = open(self.gold_csv.name, 'rb')
     clcsv = ClCsv(f)
     assert clcsv.get_column(3) == ('issn3',
                                    ['i3a1', 'i3a2', 'i3a3', 'i3a4'])
示例#6
0
        il = [s.strip() for s in i.split(',')]
        j = Journal.find_by_issn(il, in_doaj=False)
        if len(j) == 0:
            subjects_column.append('Error: not found')
        elif len(j) == 1:
            subj = j[0].bibjson().subjects()
            subjects_column.append(', '.join(
                [f"{s['scheme']}:{s['code']} - {s['term']}" for s in subj]))
        else:
            subjects_column.append(
                'Error: multiple records found for that ISSN')

    return subjects_column


if __name__ == '__main__':
    # Steps for issue 2337

    csv = ClCsv(
        '/home/cloo/DOAJ_removed_22012020_SuspectedEditorialMisconduct.1.csv')
    heading, issns = csv.get_column('ISSN')

    subjects = lookup_subject_categories(issns)
    newcsv = ClCsv(
        '/home/cloo/DOAJ_removed_22012020_SuspectedEditorialMisconduct.2.csv')
    newcsv.data = deepcopy(csv.data)

    # Add subject data to new CSV as extra column
    newcsv.set_column('Subjects', subjects)
    newcsv.save()
示例#7
0
 def test_08_read_unicode(self):
     # Check that reading the gold standard file gives the right object
     clcsv = ClCsv(self.gold_csv_unicode.name)
     assert clcsv.get_column(1) == (u'иссн1', [u'ила1', u'ила2', u'ила3', u'ила4'])
     assert clcsv.get_column(u'иссн1') == (u'иссн1', [u'ила1', u'ила2', u'ила3', u'ила4'])
     assert clcsv.get_column(0) == (u'', [u'в1', u'в2', u'в3', u'в4'])
示例#8
0
 def test_03_read_03(self):
     # When the file object is closed
     assert self.gold_csv.closed
     clcsv = ClCsv(self.gold_csv)
     assert clcsv.get_column(3) == ('issn3', ['i3a1', 'i3a2', 'i3a3', 'i3a4'])
示例#9
0
 def test_02_read_02(self):
     # Create an open file object first and pass it in (a different form of CSV creation)
     f = open(self.gold_csv.name, 'rb')
     clcsv = ClCsv(f)
     assert clcsv.get_column(3) == ('issn3', ['i3a1', 'i3a2', 'i3a3', 'i3a4'])