Пример #1
0
    def test_marcxml_to_cool_struct_preparation(self):
        """Bibfield - intermediate structure from marc xml"""
        #First record from demobibcfg.xml
        xml = """
            <record>
                <datafield tag="037" ind1=" " ind2=" ">
                <subfield code="a">CERN-EX-0106015</subfield>
                </datafield>
                <datafield tag="100" ind1=" " ind2=" ">
                <subfield code="a">Photolab</subfield>
                </datafield>
                <datafield tag="245" ind1=" " ind2=" ">
                <subfield code="a">ALEPH experiment: Candidate of Higgs boson production</subfield>
                </datafield>
                <datafield tag="246" ind1=" " ind2="1">
                <subfield code="a">Expérience ALEPH: Candidat de la production d'un boson Higgs</subfield>
                </datafield>
                <datafield tag="260" ind1=" " ind2=" ">
                <subfield code="c">14 06 2000</subfield>
                </datafield>
                <datafield tag="340" ind1=" " ind2=" ">
                <subfield code="a">FILM</subfield>
                </datafield>
                <datafield tag="520" ind1=" " ind2=" ">
                <subfield code="a">Candidate for the associated production of the Higgs boson and Z boson. Both, the Higgs and Z boson decay into 2 jets each. The green and the yellow jets belong to the Higgs boson. They represent the fragmentation of a bottom andanti-bottom quark. The red and the blue jets stem from the decay of the Z boson into a quark anti-quark pair. Left: View of the event along the beam axis. Bottom right: Zoom around the interaction point at the centre showing detailsof the fragmentation of the bottom and anti-bottom quarks. As expected for b quarks, in each jet the decay of a long-lived B meson is visible. Top right: "World map" showing the spatial distribution of the jets in the event.</subfield>
                </datafield>
                <datafield tag="595" ind1=" " ind2=" ">
                <subfield code="a">Press</subfield>
                </datafield>
                <datafield tag="650" ind1="1" ind2="7">
                <subfield code="2">SzGeCERN</subfield>
                <subfield code="a">Experiments and Tracks</subfield>
                </datafield>
                <datafield tag="653" ind1="1" ind2=" ">
                <subfield code="a">LEP</subfield>
                </datafield>
                <datafield tag="856" ind1="0" ind2=" ">
                <subfield code="f">[email protected]</subfield>
                </datafield>
                <datafield tag="FFT" ind1=" " ind2=" ">
                <subfield code="a">http://invenio-software.org/download/invenio-demo-site-files/0106015_01.jpg</subfield>
                <subfield code="r">restricted_picture</subfield>
                </datafield>
                <datafield tag="FFT" ind1=" " ind2=" ">
                <subfield code="a">http://invenio-software.org/download/invenio-demo-site-files/0106015_01.gif</subfield>
                <subfield code="f">.gif;icon</subfield>
                <subfield code="r">restricted_picture</subfield>
                </datafield>
                <datafield tag="909" ind1="C" ind2="0">
                <subfield code="o">0003717PHOPHO</subfield>
                </datafield>
                <datafield tag="909" ind1="C" ind2="0">
                <subfield code="y">2000</subfield>
                </datafield>
                <datafield tag="909" ind1="C" ind2="0">
                <subfield code="b">81</subfield>
                </datafield>
                <datafield tag="909" ind1="C" ind2="1">
                <subfield code="c">2001-06-14</subfield>
                <subfield code="l">50</subfield>
                <subfield code="m">2001-08-27</subfield>
                <subfield code="o">CM</subfield>
                </datafield>
                <datafield tag="909" ind1="C" ind2="P">
                <subfield code="p">Bldg. 2</subfield>
                </datafield>
                <datafield tag="909" ind1="C" ind2="P">
                <subfield code="r">Calder, N</subfield>
                </datafield>
                <datafield tag="909" ind1="C" ind2="S">
                <subfield code="s">n</subfield>
                <subfield code="w">200231</subfield>
                </datafield>
                <datafield tag="980" ind1=" " ind2=" ">
                <subfield code="a">PICTURE</subfield>
                </datafield>
            </record>
        """
        reader = MarcReader(blob=xml, schema='xml')
        reader._prepare_blob()

        self.assertTrue(reader.rec_tree)
        self.assertTrue(len(reader.rec_tree.keys()) >= 14)
        self.assertTrue('100__' in reader.rec_tree)
    def test_marcxml_to_cool_struct_preparation(self):
        """Bibfield - intermediate structure from marc xml"""
        #First record from demobibcfg.xml
        xml = """
            <record>
                <datafield tag="037" ind1=" " ind2=" ">
                <subfield code="a">CERN-EX-0106015</subfield>
                </datafield>
                <datafield tag="100" ind1=" " ind2=" ">
                <subfield code="a">Photolab</subfield>
                </datafield>
                <datafield tag="245" ind1=" " ind2=" ">
                <subfield code="a">ALEPH experiment: Candidate of Higgs boson production</subfield>
                </datafield>
                <datafield tag="246" ind1=" " ind2="1">
                <subfield code="a">Expérience ALEPH: Candidat de la production d'un boson Higgs</subfield>
                </datafield>
                <datafield tag="260" ind1=" " ind2=" ">
                <subfield code="c">14 06 2000</subfield>
                </datafield>
                <datafield tag="340" ind1=" " ind2=" ">
                <subfield code="a">FILM</subfield>
                </datafield>
                <datafield tag="520" ind1=" " ind2=" ">
                <subfield code="a">Candidate for the associated production of the Higgs boson and Z boson. Both, the Higgs and Z boson decay into 2 jets each. The green and the yellow jets belong to the Higgs boson. They represent the fragmentation of a bottom andanti-bottom quark. The red and the blue jets stem from the decay of the Z boson into a quark anti-quark pair. Left: View of the event along the beam axis. Bottom right: Zoom around the interaction point at the centre showing detailsof the fragmentation of the bottom and anti-bottom quarks. As expected for b quarks, in each jet the decay of a long-lived B meson is visible. Top right: "World map" showing the spatial distribution of the jets in the event.</subfield>
                </datafield>
                <datafield tag="595" ind1=" " ind2=" ">
                <subfield code="a">Press</subfield>
                </datafield>
                <datafield tag="650" ind1="1" ind2="7">
                <subfield code="2">SzGeCERN</subfield>
                <subfield code="a">Experiments and Tracks</subfield>
                </datafield>
                <datafield tag="653" ind1="1" ind2=" ">
                <subfield code="a">LEP</subfield>
                </datafield>
                <datafield tag="856" ind1="0" ind2=" ">
                <subfield code="f">[email protected]</subfield>
                </datafield>
                <datafield tag="FFT" ind1=" " ind2=" ">
                <subfield code="a">http://invenio-software.org/download/invenio-demo-site-files/0106015_01.jpg</subfield>
                <subfield code="r">restricted_picture</subfield>
                </datafield>
                <datafield tag="FFT" ind1=" " ind2=" ">
                <subfield code="a">http://invenio-software.org/download/invenio-demo-site-files/0106015_01.gif</subfield>
                <subfield code="f">.gif;icon</subfield>
                <subfield code="r">restricted_picture</subfield>
                </datafield>
                <datafield tag="909" ind1="C" ind2="0">
                <subfield code="o">0003717PHOPHO</subfield>
                </datafield>
                <datafield tag="909" ind1="C" ind2="0">
                <subfield code="y">2000</subfield>
                </datafield>
                <datafield tag="909" ind1="C" ind2="0">
                <subfield code="b">81</subfield>
                </datafield>
                <datafield tag="909" ind1="C" ind2="1">
                <subfield code="c">2001-06-14</subfield>
                <subfield code="l">50</subfield>
                <subfield code="m">2001-08-27</subfield>
                <subfield code="o">CM</subfield>
                </datafield>
                <datafield tag="909" ind1="C" ind2="P">
                <subfield code="p">Bldg. 2</subfield>
                </datafield>
                <datafield tag="909" ind1="C" ind2="P">
                <subfield code="r">Calder, N</subfield>
                </datafield>
                <datafield tag="909" ind1="C" ind2="S">
                <subfield code="s">n</subfield>
                <subfield code="w">200231</subfield>
                </datafield>
                <datafield tag="980" ind1=" " ind2=" ">
                <subfield code="a">PICTURE</subfield>
                </datafield>
            </record>
        """
        reader = MarcReader(blob=xml, schema='xml')
        reader._prepare_blob()

        self.assertTrue(reader.rec_tree)
        self.assertTrue(len(reader.rec_tree.keys()) >= 14)
        self.assertTrue('100__' in reader.rec_tree)