示例#1
0
    def __decompose(self):
        cs = self.data.split(self.separator1)
        deco = []
        for c in cs:
            comp = c.split(self.separator2)
            N = len(comp)
            delta = 1
            ccy = None
            und = None
            undcode = None

            if N == 3:
                delta = self._safe_delta(comp[0])
                if delta == None:
                    self.errors.append(c)
                    continue
                ccy, undcode = self.get_ccy_und(comp[1:])
            elif N == 2:
                delta = self._safe_delta(comp[0])
                if delta == None:
                    delta = 1
                else:
                    comp = comp[1:]
                ccy, undcode = self.get_ccy_und(comp)
            elif N == 1:
                undcode = comp[0]
            else:
                raise ValueError('could not understand decomposition %s' %
                                 self.data)

            try:
                und = self.underlying(undcode)
            except:
                deco.append(badAtom(delta, ccy, ccy, undcode))
            else:
                undccy = countryccy(und.country)
                if ccy == None:
                    ccy = undccy
                if ccy == None:
                    deco.append(badAtom(delta, ccy, ccy, undcode))
                else:
                    deco.append(linearAtom(delta, ccy, undccy, und))

        return deco
示例#2
0
 def __decompose(self):
     cs = self.data.split(self.separator1)
     deco = []
     for c in cs:
         comp = c.split(self.separator2)
         N     = len(comp)
         delta = 1
         ccy     = None
         und     = None
         undcode = None
         
         if N == 3:
             delta = self._safe_delta(comp[0])
             if delta == None:
                 self.errors.append(c)
                 continue
             ccy, undcode = self.get_ccy_und(comp[1:])
         elif N == 2:
             delta = self._safe_delta(comp[0])
             if delta == None:
                 delta = 1
             else:
                 comp = comp[1:]
             ccy, undcode = self.get_ccy_und(comp)
         elif N == 1:
             undcode = comp[0]
         else:
             raise ValueError('could not understand decomposition %s' % self.data)
             
         try:
             und   = self.underlying(undcode)
         except:
             deco.append(badAtom(delta,ccy,ccy,undcode))
         else:
             undccy = countryccy(und.country)
             if ccy == None:
                 ccy = undccy
             if ccy == None:
                 deco.append(badAtom(delta,ccy,ccy,undcode))
             else:
                 deco.append(linearAtom(delta,ccy,undccy,und))
                 
     return deco
示例#3
0
文件: models.py 项目: smhjn/flow
 def defaultccy(self):
     return geo.countryccy(self.country)
示例#4
0
文件: models.py 项目: OspreyX/flow
 def defaultccy(self):
     return geo.countryccy(self.country)