Changeset 918


Ignore:
Timestamp:
12/05/06 15:57:20 (13 years ago)
Author:
domlowe
Message:

added PPExtract to Parser

Location:
TI02-CSML/trunk/newparser
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • TI02-CSML/trunk/newparser/Parser.py

    r905 r918  
    15471547                elif componentFrag.tag == CSML('GRIBExtract'): 
    15481548                    self.component.append(GRIBExtract()) 
     1549                elif componentFrag.tag == CSML('PPExtract'): 
     1550                    self.component.append(PPExtract()) 
    15491551##                else: 
    15501552##                    raise Exception('Unexpected element: "'+componentFrag.tag+'"') 
     
    15781580                    frag = Element(CSML('NetCDFExtract')) 
    15791581                    frag = NetCDFExtract.toXML(comp,frag) 
     1582                elif isinstance(comp,PPExtract): 
     1583                    frag = Element(CSML('PPExtract')) 
     1584                    frag = PPExtract.toXML(comp,frag) 
    15801585                elif isinstance(comp,GRIBExtract): 
    15811586                    frag = Element(CSML('GRIBExtract')) 
     
    16751680        return csmlFrag 
    16761681 
     1682class PPExtract(AbstractFileExtract): 
     1683    """CSML class for PPExtract file extract 
     1684    same as NetCDFExtract 
     1685    PPExtract(AbstractFileExtract): 
     1686     +variableName: string 
     1687    """ 
     1688    def __init__(self,variableName=None,*args,**kwargs): 
     1689        AbstractFileExtract.__init__(self,*args,**kwargs) 
     1690        if variableName: 
     1691            self.variableName = variableName 
     1692    def fromXML(self,csmlFrag): 
     1693        AbstractFileExtract.fromXML(self,csmlFrag) 
     1694        for frag in csmlFrag.getchildren(): 
     1695            if frag.tag == CSML('variableName'): 
     1696                self.variableName = frag.text 
     1697##        else: 
     1698##            raise Exception('Unexpected element: "'+frag.tag+'"') 
     1699        checkMandatory(self, 'variableName') 
     1700    def toXML(self,csmlFrag): 
     1701        csmlFrag = AbstractFileExtract.toXML(self,csmlFrag) 
     1702        if hasattr(self, 'variableName'): 
     1703            frag = Element(CSML('variableName')) 
     1704            frag.text = self.variableName 
     1705            csmlFrag.append(frag) 
     1706        return csmlFrag 
     1707         
    16771708class GRIBExtract(AbstractFileExtract): 
    16781709    """CSML class for GRIB file extract 
     
    22922323                        self.axisValues=NetCDFExtract() 
    22932324                        NetCDFExtract.fromXML(self.axisValues, subFrag) 
     2325                    elif subFrag.tag == CSML ('NASAAmesExtract'): 
     2326                        self.axisValues=NASAAmesExtract() 
     2327                        NASAAmesExtract.fromXML(self.axisValues, subFrag) 
     2328                    elif subFrag.tag == CSML ('GRIBExtract'): 
     2329                        self.axisValues=GRIBExtract() 
     2330                        GRIBExtract.fromXML(self.axisValues, subFrag) 
     2331                    elif subFrag.tag == CSML ('PPExtract'): 
     2332                        self.axisValues=PPExtract() 
     2333                        PPExtract.fromXML(self.axisValues, subFrag) 
    22942334                else: 
    22952335                    self.axisValues=frag.text 
     
    23162356                subFrag=Element(CSML('NetCDFExtract')) 
    23172357                NetCDFExtract.toXML(self.axisValues,subFrag) 
     2358                frag.append(subFrag) 
     2359            elif isinstance(self.axisValues,NASAAmesExtract): 
     2360                subFrag=Element(CSML('NASAAmesExtract')) 
     2361                NASAAmesExtract.toXML(self.axisValues,subFrag) 
     2362                frag.append(subFrag) 
     2363            elif isinstance(self.axisValues,GRIBExtract): 
     2364                subFrag=Element(CSML('GRIBExtract')) 
     2365                GRIBExtract.toXML(self.axisValues,subFrag) 
     2366                frag.append(subFrag) 
     2367            elif isinstance(self.axisValues,PPExtract): 
     2368                subFrag=Element(CSML('PPExtract')) 
     2369                PPExtract.toXML(self.axisValues,subFrag) 
    23182370                frag.append(subFrag) 
    23192371            else: 
     
    24002452    def toXML(self,csmlFrag): 
    24012453         if hasattr(self,'timePositions'): 
    2402             csmlFrag.text=self.timePositions 
     2454            print self.timePositions 
     2455            if  isinstance(self.timePositions, NASAAmesExtract): 
     2456                subFrag=Element(CSML('NASAAmesExtract')) 
     2457                NASAAmesExtract.toXML(self.timePositions,subFrag) 
     2458                csmlFrag.append(subFrag) 
     2459            elif  isinstance(self.timePositions, NetCDFExtract): 
     2460                subFrag=Element(CSML('NetCDFExtract')) 
     2461                NetCDFExtract.toXML(self.timePositions,subFrag) 
     2462                csmlFrag.append(subFrag) 
     2463            elif  isinstance(self.timePositions, GRIBExtract): 
     2464                subFrag=Element(CSML('GRIBExtract')) 
     2465                GRIBExtract.toXML(self.timePositions,subFrag) 
     2466                csmlFrag.append(subFrag) 
     2467            elif  isinstance(self.timePositions, PPExtract): 
     2468                subFrag=Element(CSML('PPExtract')) 
     2469                PPExtract.toXML(self.timePositions,subFrag) 
     2470                csmlFrag.append(subFrag) 
     2471            else: 
     2472                csmlFrag.text=self.timePositions 
    24032473         if hasattr(self,'frame'): 
    24042474             csmlFrag.attrib['frame']=self.frame 
     
    24412511    def toXML(self, csmlFrag): 
    24422512        if hasattr(self,'val'): 
    2443             csmlFrag.text = self.val 
     2513            if  isinstance(self.val, NASAAmesExtract): 
     2514                subFrag=Element(CSML('NASAAmesExtract')) 
     2515                NASAAmesExtract.toXML(self.val,subFrag) 
     2516                csmlFrag.append(subFrag) 
     2517            elif  isinstance(self.val, NetCDFExtract): 
     2518                subFrag=Element(CSML('NetCDFExtract')) 
     2519                NetCDFExtract.toXML(self.val,subFrag) 
     2520                csmlFrag.append(subFrag) 
     2521            elif  isinstance(self.timePositions, GRIBExtract): 
     2522                subFrag=Element(CSML('GRIBExtract')) 
     2523                GRIBExtract.toXML(self.val,subFrag) 
     2524                csmlFrag.append(subFrag) 
     2525            elif  isinstance(self.val, PPExtract): 
     2526                subFrag=Element(CSML('PPExtract')) 
     2527                PPExtract.toXML(self.val,subFrag) 
     2528                csmlFrag.append(subFrag) 
     2529            else: 
     2530                csmlFrag.text = self.val 
    24442531        if hasattr(self,'uom'): 
    24452532           csmlFrag.attrib[('uom')] = self.uom 
     
    26712758                self.arrayDescriptor=GRIBExtract() 
    26722759                GRIBExtract.fromXML(self.ArrayDescriptor,frag) 
     2760            elif frag.tag == CSML('PPExtract'): 
     2761                self.arrayDescriptor=PPExtract() 
     2762                PPExtract.fromXML(self.ArrayDescriptor,frag) 
    26732763            elif frag.tag == CSML('AggregatedArray'): 
    26742764                self.aggregatedArray=AggregatedArray() 
     
    26992789                frag=Element(CSML('GRIBExtract')) 
    27002790                GRIBAmesExtract.toXML(self.arrayDescriptor,frag) 
     2791                csmlFrag.append(frag) 
     2792            elif isinstance(self.arrayDescriptor,PPExtract): 
     2793                frag=Element(CSML('PPExtract')) 
     2794                PPAmesExtract.toXML(self.arrayDescriptor,frag) 
    27012795                csmlFrag.append(frag) 
    27022796                 
     
    31153209                self.arrayDescriptors.append(GRIBExtract()) 
    31163210                self.arrayDescriptors[-1].fromXML(frag) 
     3211            elif frag.tag == CSML('PPExtract'): 
     3212                checkArrayAttrib(self,'arrayDescriptors') 
     3213                self.arrayDescriptors.append(PPExtract()) 
     3214                self.arrayDescriptors[-1].fromXML(frag) 
    31173215##            else: 
    31183216##                raise Exception('Unexpected element: "'+frag.tag+'"') 
     
    31533251                    frag = Element(CSML('GRIBExtract')) 
    31543252                    frag = GRIBExtract.toXML(arrayDesc,frag) 
     3253                elif isinstance(arrayDesc,PPExtract): 
     3254                    frag = Element(CSML('PPExtract')) 
     3255                    frag = PPExtract.toXML(arrayDesc,frag) 
    31553256                csmlFrag.append(frag) 
    31563257        if hasattr(self,'featureCollection'): 
  • TI02-CSML/trunk/newparser/ioDemo.py

    r896 r918  
    5353 
    5454print featureValues 
     55sys.exit() 
    5556#print type(featureValues) 
    5657#print dir(featureValues) 
Note: See TracChangeset for help on using the changeset viewer.