コード例 #1
0
ファイル: test_mods.py プロジェクト: stedi67/eulxml
    def test_create_mods(self):
        # test creating MODS from scratch - ensure sub-xmlobject definitions are correct
        # and produce schema-valid MODS
        mymods = mods.MODS()
        mymods.create_title_info()
        # titleInfo subfields
        mymods.title_info.non_sort = 'A '
        mymods.title_info.title = 'Record'
        mymods.title_info.subtitle = ': for testing'
        mymods.title_info.part_number = '1'
        mymods.title_info.part_name = 'first installment'
        mymods.title_info_list.append(mods.TitleInfo(non_sort='An ', title='Alternative Title', subtitle=': for testing',
                                            part_number = '1', part_name='first installment', label='First line'))
        mymods.resource_type = 'text'
        mymods.create_name()
        mymods.name.type = 'personal'
        mymods.name.authority = 'local'
        mymods.name.name_parts.extend([mods.NamePart(type='family', text='Schmoe'),
                                    mods.NamePart(type='given', text='Joe')])
        mymods.name.roles.append(mods.Role(type='text', authority='local',
                                        text='Test Subject'))
        mymods.create_abstract()
        mymods.abstract.text = 'A testing record with made up content.'
        mymods.create_note()
        mymods.note.type = 'general'
        mymods.note.text = 'general note'
        mymods.create_origin_info()
        mymods.origin_info.created.append(mods.DateCreated(date='2001-10-02'))
        mymods.origin_info.issued.append(mods.DateIssued(date='2001-12-01'))
        mymods.create_record_info()
        mymods.record_info.record_id = 'id:1'
        mymods.identifiers.extend([mods.Identifier(type='uri', text='http://ur.l'),
                                 mods.Identifier(type='local', text='332')])
        mymods.access_conditions.extend([mods.AccessCondition(type='restriction', text='unavailable'),
                                       mods.AccessCondition(type='use', text='Tuesdays only')])
        mymods.related_items.extend([mods.RelatedItem(type='host', title='EU Archives'),
                                   mods.RelatedItem(type='isReferencedBy', title='Finding Aid')])
        mymods.subjects.extend([mods.Subject(authority='keyword', topic='automated testing'),
                                mods.Subject(authority='keyword', topic='test records')])
        mymods.parts.append(mods.Part())
        mymods.parts[0].details.extend([mods.PartDetail(type='volume', number='90'),
                                        mods.PartDetail(type='issue', number='2')])
        mymods.parts[0].create_extent()
        mymods.parts[0].extent.unit = 'pages'
        mymods.parts[0].extent.start = '339'
        mymods.parts[0].extent.end = '361'
        xml = mymods.serialize(pretty=True)
        self.assert_(b'<mods:mods ' in xml)
        self.assert_(b'xmlns:mods="http://www.loc.gov/mods/v3"' in xml)

        self.assertTrue(mymods.is_valid(), "MODS created from scratch should be schema-valid")
コード例 #2
0
ファイル: test_mods.py プロジェクト: stedi67/eulxml
 def test_is_empty_date_values(self):
     self.origin_info.created.append(mods.DateCreated(date='300'))
     self.assertFalse(self.origin_info.is_empty())
     self.origin_info.issued.append(mods.DateIssued(date='450'))
     self.assertFalse(self.origin_info.is_empty())
コード例 #3
0
ファイル: test_mods.py プロジェクト: stedi67/eulxml
 def test_is_empty_with_empty_dates(self):
     self.origin_info.created.append(mods.DateCreated())
     self.assertTrue(self.origin_info.is_empty())
     self.origin_info.issued.append(mods.DateIssued())
     self.assertTrue(self.origin_info.is_empty())