Example #1
0
    def test_dogma_get_element(self):

        beliefs = {
            'book_title': '/bookstore/book[1]/title',
            'no_title': '/bookstore/book[5]/title',
            'childrens_title':
            """/bookstore/book[@category = 'CHILDREN']/title""",
            'childrens_year':
            """/bookstore/book[@category = 'CHILDREN']/year"""
        }
        dataObject = etree.parse(BytesIO(BOOKS))

        d = XmlDogma('Books', beliefs, dataObject)

        self.assertEqual(d._get('/bookstore/book[1]/title'),
                         'Everyday Italian')

        self.assertEqual(d.book_title, 'Everyday Italian')

        self.assertEqual(d.childrens_title, 'Harry Potter')

        self.assertEqual(d.childrens_year, '2005')

        with self.assertRaises(DogmaGetterSetterException):
            d.no_title
Example #2
0
    def test_dogma_get_existing_attribute(self):
    
        beliefs = {'book_category':'/bookstore/book[1]/@category'}
        dataObject = etree.parse(StringIO(BOOKS))        

        d = XmlDogma('Books',beliefs,dataObject)
       
        assert_equal(d._get('/bookstore/book[1]/@category'),'COOKING')
        
        assert_equal(d.book_category, 'COOKING') 
Example #3
0
    def test_dogma_get_existing_attribute(self):
    
        beliefs = {'book_category':'/bookstore/book[1]/@category'}
        dataObject = etree.parse(StringIO(BOOKS))        

        d = XmlDogma('Books',beliefs,dataObject)
       
        assert_equal(d._get('/bookstore/book[1]/@category'),'COOKING')
        
        assert_equal(d.book_category, 'COOKING') 
Example #4
0
 def dont_txxt_dogma_set_nonexistent(self):
     
     beliefs = {'book_title':'/bookstore/book[1]/title',
     'childrens_title':"""/bookstore/book[@category = 'CHILDREN']/title""",
     'foobar':'''/bookstore/foobar'''}
     
     dataObject = etree.parse(StringIO(BOOKS))  
     d = XmlDogma('Books',beliefs,dataObject)
     
     with assert_raises_regexp(AttributeError,"""Blasphemy! You can't create the new beliefs"""):
         d.not_a_belief = 5
     
     with assert_raises_regexp(DogmaGetterSetterException,"""Error setting the 'foobar' property of the class 'BooksXmlDogma'"""):
         d.foobar = 5
Example #5
0
 def test_dogma_set_nonexistent(self):
     
     beliefs = {'book_title':'/bookstore/book[1]/title',
     'childrens_title':"""/bookstore/book[@category = 'CHILDREN']/title""",
     'foobar':'''/bookstore/foobar'''}
     
     dataObject = etree.parse(StringIO(BOOKS))  
     d = XmlDogma('Books',beliefs,dataObject)
     
     with assert_raises_regexp(AttributeError,"""Blasphemy! You can't create the new beliefs"""):
         d.not_a_belief = 5
     
     with assert_raises_regexp(DogmaGetterSetterException,"""Error setting the 'foobar' property of the class 'BooksXmlDogma'"""):
         d.foobar = 5
Example #6
0
    def test_init(self):
        
        d = XmlDogma('Books',{},None)
        assert_equal(d._religion,'Books')
        assert_equal(d._beliefs,{})
        assert_equal(d._dataObject.tag,'root')
        assert_equal(d.__class__.__name__,'BooksXmlDogma')
        
        d = XmlDogma('Books',{})
        assert_equal(d._dataObject.tag,'root')

        dataObject = etree.parse(StringIO(BOOKS))        
        d = XmlDogma('Books',{},dataObject)
        assert_equal(d._dataObject,dataObject)
Example #7
0
    def dont_txxt_dogma_del_element(self):
    
        beliefs = {'book_title':'/bookstore/book[1]/title'}
        dataObject = etree.parse(StringIO(BOOKS))        

        d = XmlDogma('Books',beliefs,dataObject)
       
        assert_equal(d._get('/bookstore/book[1]/title'),'Everyday Italian')
        
        del d.book_title

        with assert_raises(XmlDogmaException):  
            d._get('/bookstore/book[1]/title')
        with assert_raises(DogmaGetterSetterException):
            d.book_title
Example #8
0
    def test_dogma_del_element(self):
    
        beliefs = {'book_title':'/bookstore/book[1]/title'}
        dataObject = etree.parse(StringIO(BOOKS))        

        d = XmlDogma('Books',beliefs,dataObject)
       
        assert_equal(d._get('/bookstore/book[1]/title'),'Everyday Italian')
        
        del d.book_title

        with assert_raises(XmlDogmaException):  
            d._get('/bookstore/book[1]/title')
        with assert_raises(DogmaGetterSetterException):
            d.book_title
Example #9
0
    def test_dogma_del_attribute(self):
    
        beliefs = {'book_category':'/bookstore/book[1]/@category'}
        dataObject = etree.parse(StringIO(BOOKS))        

        d = XmlDogma('Books',beliefs,dataObject)
       
        assert_equal(d._get('/bookstore/book[1]/@category'),'COOKING')
        
        del d.book_category

        with assert_raises(XmlDogmaException):
            d._get('/bookstore/book[1]/@category')
            
        with assert_raises(DogmaGetterSetterException):
            assert_equal(d.book_category, None)
Example #10
0
    def dont_txxt_dogma_del_attribute(self):
    
        beliefs = {'book_category':'/bookstore/book[1]/@category'}
        dataObject = etree.parse(StringIO(BOOKS))        

        d = XmlDogma('Books',beliefs,dataObject)
       
        assert_equal(d._get('/bookstore/book[1]/@category'),'COOKING')
        
        del d.book_category

        with assert_raises(XmlDogmaException):
            d._get('/bookstore/book[1]/@category')
            
        with assert_raises(DogmaGetterSetterException):
            assert_equal(d.book_category, None)
Example #11
0
    def test_dogma_get_nonexisting(self):

        beliefs = {'book_title':'/bookstore/book[5]/title',
        'childrens_title':"""/bookstore/book[@category = 'CHILDREN']/title"""}
        dataObject = etree.parse(StringIO(BOOKS))        

        d = XmlDogma('Books',beliefs,dataObject)
        
        with assert_raises(XmlDogmaException):
            d._get('bzzz')

        with assert_raises(DogmaGetterSetterException):
            d.book_title

        with assert_raises(AttributeError):
            d.not_an_att
Example #12
0
    def test_dogma_get_nonexisting(self):

        beliefs = {'book_title':'/bookstore/book[5]/title',
        'childrens_title':"""/bookstore/book[@category = 'CHILDREN']/title"""}
        dataObject = etree.parse(StringIO(BOOKS))        

        d = XmlDogma('Books',beliefs,dataObject)
        
        with assert_raises(XmlDogmaException):
            d._get('bzzz')

        with assert_raises(DogmaGetterSetterException):
            d.book_title

        with assert_raises(AttributeError):
            d.not_an_att
Example #13
0
    def test_dogma_get_element(self):
    
        beliefs = {'book_title':'/bookstore/book[1]/title',
        'no_title':'/bookstore/book[5]/title',
        'childrens_title':"""/bookstore/book[@category = 'CHILDREN']/title""",
        'childrens_year':"""/bookstore/book[@category = 'CHILDREN']/year"""}
        dataObject = etree.parse(StringIO(BOOKS))        

        d = XmlDogma('Books',beliefs,dataObject)
       
        assert_equal(d._get('/bookstore/book[1]/title'),'Everyday Italian')
        
        assert_equal(d.book_title, 'Everyday Italian') 
       
        assert_equal(d.childrens_title, 'Harry Potter')
        
        assert_equal(d.childrens_year, '2005')
        
        with assert_raises(DogmaGetterSetterException):
            d.no_title
Example #14
0
    def test_dogma_set_attribute_text(self):
    
        beliefs = {'book_category':'/bookstore/book[1]/@category'} 
        
        # Set the text using _set
        dataObject = etree.parse(StringIO(BOOKS))  
        d = XmlDogma('Books',beliefs,dataObject)
        assert_equal(d._get('/bookstore/book[1]/@category'),'COOKING')
        d._set('/bookstore/book[1]/@category','FOOBAR')
        assert_equal(d._get('/bookstore/book[1]/@category'),'FOOBAR')

        # Set using the attribute
        dataObject = etree.parse(StringIO(BOOKS))  
        d = XmlDogma('Books',beliefs,dataObject)
        assert_equal(d._get('/bookstore/book[1]/@category'),'COOKING')
        d.book_category = 'CLEANING'
        assert_equal(d._get('/bookstore/book[1]/@category'),'CLEANING')
Example #15
0
 def dont_txxt_dogma_del_nonexisting(self):
     beliefs = {'book_title':'/bookstore/book[5]/title',
                'book_foo':'/bookstore/book[1]/@foo'}
     dataObject = etree.parse(StringIO(BOOKS))        
     
     d = XmlDogma('Books',beliefs,dataObject)
    
     with assert_raises(DogmaDeleteException):
         del d.book_title
         
     with assert_raises(DogmaDeleteException):
         del d.book_foo
         
     with assert_raises(AttributeError):
         del d.non_existing
Example #16
0
    def test_dogma_validate_teaching(self):

        beliefs = {'foo': 'bar', 'bat': 'baz'}
        d = XmlDogma('Books', beliefs, None)

        ret = d._validate_teaching('foo', 'bar')
        #self.assertIs(ret, None)

        ret = XmlDogma._validate_teaching('foo', 'bar')
        #self.assertIs(ret, None)

        #with self.assertRaisesRegexp(XmlDogmaException,"""The belief """):
        #    XmlDogma._validate_teaching('foo','//bar')

        with self.assertRaisesRegexp(XmlDogmaException, """The belief """):
            ret = d._validate_teaching('foo', [])

        with self.assertRaisesRegexp(XmlDogmaException, """The belief """):
            beliefs = {'foo': [], 'bat': 'baz'}
            d = XmlDogma('Books', beliefs, None)
Example #17
0
    def test_dogma_validate_teaching(self):

        beliefs = {'foo':'bar','bat':'baz'}
        d = XmlDogma('Books',beliefs,None)
        
        ret = d._validate_teaching('foo','bar')
        assert_is(ret, None)
        
        ret = XmlDogma._validate_teaching('foo','bar')
        assert_is(ret, None)
        
        with assert_raises_regexp(XmlDogmaException,"""The belief """):
            XmlDogma._validate_teaching('foo','//bar')
        
        with assert_raises_regexp(XmlDogmaException,"""The belief """):
            ret = d._validate_teaching('foo',[])
        
        
        with assert_raises_regexp(XmlDogmaException,"""The belief """):
            beliefs = {'foo':[],'bat':'baz'}
            d = XmlDogma('Books',beliefs,None)
Example #18
0
    "gml": "http://www.opengis.net/gml/3.2",
    "xlink": "http://www.w3.org/1999/xlink",
    "xsi": "http://www.w3.org/2001/XMLSchema-instance",
    "gco": "http://www.isotc211.org/2005/gco",
    "gmd": "http://www.isotc211.org/2005/gmd",
    "gmi": "http://www.isotc211.org/2005/gmi",
    "srv": "http://www.isotc211.org/2005/srv",
}

#read a file

xml_etree = etree.parse('test_isos/slrfvm.xml')
#xml_etree = etree.parse('test_isos/45001.xml')

data_object = XmlDogma('Iso19115',
                       iso_metadata_beliefs,
                       xml_etree,
                       namespaces=namespaces)

data_object.__class__.__name__

data_object.service_provider_name
data_object.service_provider_contact_info
data_object.west_bounding_longitude

data_object.service_provider_name = 'David Stuebe'
data_object.service_provider_contact_info = '*****@*****.**'
data_object.west_bounding_longitude = '5.005'

data_object.service_provider_name
data_object.service_provider_contact_info
data_object.west_bounding_longitude
Example #19
0
"gml":"http://www.opengis.net/gml/3.2",
"xlink":"http://www.w3.org/1999/xlink",
"xsi":"http://www.w3.org/2001/XMLSchema-instance",
"gco":"http://www.isotc211.org/2005/gco",
"gmd":"http://www.isotc211.org/2005/gmd",
"gmi":"http://www.isotc211.org/2005/gmi",
"srv":"http://www.isotc211.org/2005/srv",
}


#read a file

xml_etree = etree.parse('test_isos/slrfvm.xml')
#xml_etree = etree.parse('test_isos/45001.xml')

data_object = XmlDogma('Iso19115',iso_metadata_beliefs,xml_etree, namespaces=namespaces)


data_object.__class__.__name__


data_object.service_provider_name
data_object.service_provider_contact_info
data_object.west_bounding_longitude


data_object.service_provider_name = 'David Stuebe'
data_object.service_provider_contact_info = '*****@*****.**'
data_object.west_bounding_longitude = '5.005'

data_object.service_provider_name
Example #20
0
    def dont_txxt_dogma_set_element_text(self):
    
        beliefs = {'book_title':'/bookstore/book[1]/title',
        'childrens_title':"""/bookstore/book[@category = 'CHILDREN']/title"""}
        
        
        # Set the text using _set
        dataObject = etree.parse(StringIO(BOOKS))  
        d = XmlDogma('Books',beliefs,dataObject)
        assert_equal(d._get('/bookstore/book[1]/title'),'Everyday Italian')
        d._set('/bookstore/book[1]/title','Z french is better!')
        assert_equal(d._get('/bookstore/book[1]/title'),'Z french is better!')

        # Set using the attribute
        dataObject = etree.parse(StringIO(BOOKS))  
        d = XmlDogma('Books',beliefs,dataObject)
        assert_equal(d._get('/bookstore/book[1]/title'),'Everyday Italian')
        d.book_title = 'Z french is better!'
        assert_equal(d._get('/bookstore/book[1]/title'),'Z french is better!')

        assert_equal(d._get("""/bookstore/book[@category = 'CHILDREN']/title"""),'Harry Potter')
        d.childrens_title = 'potter harry'
        assert_equal(d._get("""/bookstore/book[@category = 'CHILDREN']/title"""),'potter harry')
Example #21
0
    def test_dogma_set_element_text(self):
    
        beliefs = {'book_title':'/bookstore/book[1]/title',
        'childrens_title':"""/bookstore/book[@category = 'CHILDREN']/title"""}
        
        
        # Set the text using _set
        dataObject = etree.parse(StringIO(BOOKS))  
        d = XmlDogma('Books',beliefs,dataObject)
        assert_equal(d._get('/bookstore/book[1]/title'),'Everyday Italian')
        d._set('/bookstore/book[1]/title','Z french is better!')
        assert_equal(d._get('/bookstore/book[1]/title'),'Z french is better!')

        # Set using the attribute
        dataObject = etree.parse(StringIO(BOOKS))  
        d = XmlDogma('Books',beliefs,dataObject)
        assert_equal(d._get('/bookstore/book[1]/title'),'Everyday Italian')
        d.book_title = 'Z french is better!'
        assert_equal(d._get('/bookstore/book[1]/title'),'Z french is better!')

        assert_equal(d._get("""/bookstore/book[@category = 'CHILDREN']/title"""),'Harry Potter')
        d.childrens_title = 'potter harry'
        assert_equal(d._get("""/bookstore/book[@category = 'CHILDREN']/title"""),'potter harry')
Example #22
0
    def dont_txxt_dogma_set_attribute_text(self):
    
        beliefs = {'book_category':'/bookstore/book[1]/@category'} 
        
        # Set the text using _set
        dataObject = etree.parse(StringIO(BOOKS))  
        d = XmlDogma('Books',beliefs,dataObject)
        assert_equal(d._get('/bookstore/book[1]/@category'),'COOKING')
        d._set('/bookstore/book[1]/@category','FOOBAR')
        assert_equal(d._get('/bookstore/book[1]/@category'),'FOOBAR')

        # Set using the attribute
        dataObject = etree.parse(StringIO(BOOKS))  
        d = XmlDogma('Books',beliefs,dataObject)
        assert_equal(d._get('/bookstore/book[1]/@category'),'COOKING')
        d.book_category = 'CLEANING'
        assert_equal(d._get('/bookstore/book[1]/@category'),'CLEANING')