Changeset 987 for CMIP6dreqbuild/trunk/src/framework/dreqPy/dreq.py
- Timestamp:
- 26/04/17 10:18:46 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
CMIP6dreqbuild/trunk/src/framework/dreqPy/dreq.py
r978 r987 475 475 self.configOnly = configOnly 476 476 self.coll = {} 477 self.recordAttributeDefn = {} 477 478 478 479 self.nts = collections.namedtuple( 'sectdef', ['tag','label','title','id','itemLabelMode','level','maxOccurs','labUnique','uid','description'] ) … … 534 535 self.etree = False 535 536 self.etree = True 536 if self.etree: 537 import xml.etree.cElementTree as cel 537 self.ns = None 538 if not self.configOnly: 539 if self.etree: 540 import xml.etree.cElementTree as cel 538 541 539 if not pythonPre27: 540 ## this for of namespace registration not available in 2.6 541 ## absence of registration means module cannot write data exactly as read. 542 ## 543 cel.register_namespace('', "urn:w3id.org:cmip6.dreq.dreq:a") 544 cel.register_namespace('pav', "http://purl.org/pav/2.3") 545 546 if not self.strings: 547 if python2: 548 parser = getParser()() 549 self.contentDoc = cel.parse( self.vsamp, parser=parser ) 542 if not pythonPre27: 543 ## this for of namespace registration not available in 2.6 544 ## absence of registration means module cannot write data exactly as read. 545 ## 546 cel.register_namespace('', "urn:w3id.org:cmip6.dreq.dreq:a") 547 cel.register_namespace('pav', "http://purl.org/pav/2.3") 548 549 if not self.strings: 550 if python2: 551 parser = getParser()() 552 self.contentDoc = cel.parse( self.vsamp, parser=parser ) 553 else: 554 self.contentDoc = cel.parse( self.vsamp ) 555 556 root = self.contentDoc.getroot() 550 557 else: 551 self.contentDoc = cel.parse( self.vsamp ) 552 553 root = self.contentDoc.getroot() 558 root = cel.fromstring(self.vsamp) 559 560 self.docs[fn] = (root, self.contentDoc) 561 bs = root.tag.split( '}' ) 562 if len( bs ) > 1: 563 self.ns = bs[0] + '}' 564 else: 565 self.ns = None 566 vl = root.findall( './/{http://purl.org/pav/2.3}version' ) 567 if self.version != None: 568 if vl[0].text != self.version: 569 print ('WARNING: version difference between %s [%s] and %s [%s]' % (self.docl[0][0],self.version,thisdoc,vl[0].text) ) 570 else: 571 self.version = vl[0].text 572 self.parent_map = dict((c, p) for p in root.getiterator() for c in p) 554 573 else: 555 root = cel.fromstring(self.vsamp) 556 ##bs = string.split( root.tag, '}' ) 557 self.docs[fn] = (root, self.contentDoc) 558 bs = root.tag.split( '}' ) 559 if len( bs ) > 1: 560 self.ns = bs[0] + '}' 561 else: 574 if self.strings: 575 self.contentDoc = xml.dom.minidom.parseString( self.vsamp ) 576 else: 577 self.contentDoc = xml.dom.minidom.parse( self.vsamp ) 578 579 vl = self.contentDoc.getElementsByTagName( 'prologue' ) 580 v = vl[0].getElementsByTagName( 'pav:version' ) 581 self.version = v[0].firstChild.data 562 582 self.ns = None 563 vl = root.findall( './/{http://purl.org/pav/2.3}version' )564 if self.version != None:565 if vl[0].text != self.version:566 print ('WARNING: version difference between %s [%s] and %s [%s]' % (self.docl[0][0],self.version,thisdoc,vl[0].text) )567 else:568 self.version = vl[0].text569 self.parent_map = dict((c, p) for p in root.getiterator() for c in p)570 else:571 if self.strings:572 self.contentDoc = xml.dom.minidom.parseString( self.vsamp )573 else:574 self.contentDoc = xml.dom.minidom.parse( self.vsamp )575 576 vl = self.contentDoc.getElementsByTagName( 'prologue' )577 v = vl[0].getElementsByTagName( 'pav:version' )578 self.version = v[0].firstChild.data579 self.ns = None580 583 581 584 vl = doc.getElementsByTagName( 'table' ) + doc.getElementsByTagName( 'annextable' ) … … 641 644 self.coll[sct].attDefn[k] = ec[k] 642 645 643 self.recordAttributeDefn = tables 646 for k in tables: 647 self.recordAttributeDefn[k] = tables[k] 644 648 645 649 if self.configOnly:
Note: See TracChangeset
for help on using the changeset viewer.