<s> from lxml import etree <EOL> from moai . utils import XPath <EOL> class ExampleContent ( object ) : <EOL> def __init__ ( self , provider ) : <EOL> self . provider = provider <EOL> self . id = None <EOL> self . modified = None <EOL> self . deleted = None <EOL> self . sets = None <EOL> self . metadata = None <EOL> def update ( self , path ) : <EOL> doc = etree . parse ( path ) <EOL> xpath = XPath ( doc , nsmap = { '<STR_LIT:x>' : '<STR_LIT>' } ) <EOL> self . root = doc . getroot ( ) <EOL> id = xpath . string ( '<STR_LIT>' ) <EOL> self . id = '<STR_LIT>' % id <EOL> self . modified = xpath . date ( '<STR_LIT>' ) <EOL> self . deleted = False <EOL> author_data = [ ] <EOL> for num , el in enumerate ( xpath ( '<STR_LIT>' ) , <NUM_LIT:1> ) : <EOL> first = xpath . string ( '<STR_LIT>' % num ) <EOL> sur = xpath . string ( '<STR_LIT>' % num ) <EOL> name = u'<STR_LIT>' % ( first , sur ) <EOL> author_data . append ( { '<STR_LIT:name>' : [ name ] , <EOL> '<STR_LIT>' : [ sur ] , <EOL> '<STR_LIT>' : [ first ] , <EOL> '<STR_LIT>' : [ u'<STR_LIT>' ] } ) <EOL> self . metadata = { '<STR_LIT>' : [ u'<STR_LIT>' % id ] , <EOL> '<STR_LIT:title>' : [ xpath . string ( '<STR_LIT>' ) ] , <EOL> '<STR_LIT>' : xpath . strings ( '<STR_LIT>' ) , <EOL> '<STR_LIT:description>' : [ xpath . string ( '<STR_LIT>' ) ] , <EOL> '<STR_LIT>' : [ d [ '<STR_LIT:name>' ] [ <NUM_LIT:0> ] for d in author_data ] , <EOL> '<STR_LIT>' : author_data , <EOL> '<STR_LIT>' : [ u'<STR_LIT>' ] , <EOL> '<STR_LIT:date>' : [ xpath . string ( '<STR_LIT>' ) ] } <EOL> self . sets = { u'<STR_LIT>' : { u'<STR_LIT:name>' : u'<STR_LIT>' , <EOL> u'<STR_LIT:description>' : u'<STR_LIT>' } } <EOL> access = xpath . string ( '<STR_LIT>' ) <EOL> if access == '<STR_LIT>' : <EOL> self . sets [ u'<STR_LIT>' ] = { u'<STR_LIT:name>' : u'<STR_LIT>' , <EOL> u'<STR_LIT:description>' : u'<STR_LIT>' } <EOL> self . metadata [ '<STR_LIT>' ] = [ u'<STR_LIT>' ] <EOL> elif access == '<STR_LIT>' : <EOL> self . sets [ u'<STR_LIT>' ] = { u'<STR_LIT:name>' : u'<STR_LIT>' , <EOL> u'<STR_LIT:description>' : u'<STR_LIT>' } <EOL> self . metadata [ '<STR_LIT>' ] = [ u'<STR_LIT>' ] </s>
