Changeset 1320


Ignore:
Timestamp:
21/03/19 12:04:45 (2 months ago)
Author:
mjuckes
Message:

resolving bug in fuzzy name matching and --txt option

Location:
CMIP6dreq/tags/01.00.30/dreqPy
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • CMIP6dreq/tags/01.00.30/dreqPy/misc_utils.py

    r1271 r1320  
    4444      return (False, 0) 
    4545    cc = collections.defaultdict( set ) 
     46    cc0 = collections.defaultdict( set ) 
    4647    for k in l1: 
    4748      r = difflib.SequenceMatcher(None, s, k ).ratio() 
    48       cc[r].add( k ) 
     49      cc0[k].add( r ) 
     50      ##cc[r].add( k ) 
    4951 
    5052    for k in l1s: 
     53      ##check for lower case matches ... scale by 0.9## 
    5154      r = difflib.SequenceMatcher(None, s.lower(), k ).ratio() 
    5255      r1 = 0.90*r 
    5356      for x in targl[k]: 
    54         cc[r1].add( x ) 
     57        cc0[x].add( r1 ) 
     58       ## cc[r1].add( x ) 
     59 
     60## find maximum score for each term 
     61    for k,v in cc0.items(): 
     62      cc[max(v)].add( k ) 
     63 
    5564    ks = sorted( cc.keys() ) 
    5665    ks.reverse() 
  • CMIP6dreq/tags/01.00.30/dreqPy/packageConfig.py

    r1314 r1320  
    1717VERSION_DIR = os.environ.get('DRQ_VERSION_DIR', VERSION_DEFAULT_DIR) 
    1818 
    19 __version__ = "01.00.30" 
     19__version__ = "01.00.30p01" 
    2020__versionComment__ = "Version %s" % __version__ 
    2121__title__ = "dreqPy" 
  • CMIP6dreq/tags/01.00.30/dreqPy/scope.py

    r1309 r1320  
    18971897        self.sc.exptFilter = set( [eid,] ) 
    18981898      else: 
    1899         ns = 0 
    1900         md =  misc_utils.mdiff() 
    1901         ttm = md.diff( self.adict['e'],self.sc.mipsp ) 
    1902         tte = md.diff( self.adict['e'],self.sc.exptByLabel.keys() ) 
    1903         if ttm[1] > 0 and tte[1] == 0 or (ttm[2][0][0] > 0.6*tte[2][0][0]): 
    1904           oo =  md.prntprep( self.adict['e'], ttm ) 
    1905           for l in oo: 
    1906             mlg.prnt( l ) 
    1907         if tte[1] > 0 and ttm[1] == 0 or (tte[2][0][0] > 0.6*ttm[2][0][0]): 
    1908           oo =  md.prntprep( self.adict['e'], tte ) 
    1909           for l in oo: 
    1910             mlg.prnt( l ) 
     1899        try: 
     1900          ns = 0 
     1901          md =  misc_utils.mdiff() 
     1902          ttm = md.diff( self.adict['e'],self.sc.mipsp ) 
     1903          tte = md.diff( self.adict['e'],self.sc.exptByLabel.keys() ) 
     1904          if ttm[1] > 0 and (tte[1] == 0 or (ttm[2][0][0] > 0.6*tte[2][0][0])): 
     1905            oo =  md.prntprep( self.adict['e'], ttm ) 
     1906            for l in oo: 
     1907              mlg.prnt( l ) 
     1908          if tte[1] > 0 and (ttm[1] == 0 or (tte[2][0][0] > 0.6*ttm[2][0][0])): 
     1909            oo =  md.prntprep( self.adict['e'], tte ) 
     1910            for l in oo: 
     1911              mlg.prnt( l ) 
     1912        except: 
     1913          print 'Experiment not found %s' % self.adict['e'] 
     1914          print 'Error encountered trying to find close match' 
     1915          raise 
    19111916        assert False, 'Experiment/MIP %s not found' % self.adict['e'] 
    19121917 
  • CMIP6dreq/tags/01.00.30/dreqPy/table_utils.py

    r1280 r1320  
    7878  def __init__(self,fn,xls=True,txt=False,txtOpts=None): 
    7979    self.xls=xls 
     80    self.fn = fn 
    8081    self.txt=txt 
    8182    self.txtOpts = txtOpts 
     
    147148 
    148149     if self.txt: 
    149         self.oo.write( '\t'.join( [t,] + [x.replace('"',"'") for x in orec]) + '\n' ) 
     150        try: 
     151          self.oo.write( '\t'.join( [t,] + [x.replace('"',"'") for x in orec]) + '\n' ) 
     152        except: 
     153          print orec 
     154          print [type(x) for x in orec] 
     155          print self.fn 
     156          self.oo.close() 
     157          raise 
    150158 
    151159  def varrec(self,j,orec): 
     
    415423              elif len(  tslice[cmv.uid] ) == 3: 
    416424                x,priority,grid = tslice[cmv.uid] 
    417                 orec[0] = priority 
     425                orec[0] = str(priority) 
    418426                if x != None: 
    419427                   tslab,tsmode,a,b = x 
Note: See TracChangeset for help on using the changeset viewer.