Ignore:
Timestamp:
07/06/06 00:44:32 (13 years ago)
Author:
astephen
Message:

Stable-ish version with fully-ish working dxc client.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TI03-DataExtractor/trunk/pydxs/common.py

    r794 r1109  
    3333 
    3434# Set up common functions 
     35 
     36def mapFileFormatToExtension(format): 
     37    """ 
     38    Returns a suitable file extension for a known file format. 
     39    """ 
     40    extMap={"NetCDF":"nc", "NASA Ames":"na"} 
     41    return extMap[format] 
     42     
    3543 
    3644def createTimeKeyList(): 
     
    5765 
    5866 
    59 def keyPatternMatch(dct, pattern): 
     67def keyPatternMatch(dct, pattern, mode="string match"): 
    6068    """ 
    6169    Returns 1 if one or more keys in the dictionary 'dct' match the 
     
    6371    """ 
    6472    for key in dct.keys(): 
    65         if key.find(pattern)>-1: 
    66             return 1 
     73        if mode=="string match": 
     74            if key.find(pattern)>-1: 
     75                return 1 
     76        elif mode=="regex": 
     77            match=re.search(pattern, key) 
     78            if match: 
     79                return 1 
    6780    return 0 
    6881 
     
    87100 
    88101 
    89 def getSortedKeysLike(dct, pattern): 
     102def getSortedKeysLike(dct, pattern, mode="string match"): 
    90103    """ 
    91104    Returns a list of all keys in the dictionary 'dct' that do a  
     
    94107    rtlist=[] 
    95108    for key in dct.keys(): 
    96         if key.find(pattern)>-1: 
    97             rtlist.append(key) 
     109        if mode=="string match": 
     110            if key.find(pattern)>-1: 
     111                rtlist.append(key) 
     112        elif mode=="regex": 
     113            match=re.search(pattern, key) 
     114            if match: 
     115                rtlist.append(key) 
    98116    rtlist.sort()         
    99117    return rtlist 
    100118     
    101119  
    102 def getDictSubsetMatching(dct, pattern): 
     120def getDictSubsetMatching(dct, pattern, mode="string match"): 
    103121    """ 
    104122    Returns a dictionary of all items in input dictionary 'dct' 
     
    107125    rtdict={} 
    108126    for key in dct.keys(): 
    109         if key.find(pattern)>-1: 
    110             rtdict[key]=dct[key] 
    111              
     127        if mode=="string match": 
     128            if key.find(pattern)>-1: 
     129                rtdict[key]=dct[key] 
     130        elif mode=="regex": 
     131            match=re.search(pattern, key) 
     132            if match: 
     133                rtdict[key]=dct[key]         
    112134    return rtdict 
    113135 
     
    267289 
    268290 
     291def createSummaryString(reqDict): 
     292    """ 
     293    Returns a summary string of a request dictionary. 
     294    """ 
     295    exclusions=("callMethod", "secureToken", "optionCategoryRequested",  
     296                "action", "targetPage", "sessionID") 
     297         
     298    summaryString=""     
     299    for key in reqDict.keys(): 
     300        if reqDict[key]!="" and key not in exclusions:   
     301            summaryString=summaryString+("%s:\t%s\n" % (key, reqDict[key])) 
     302     
     303    return summaryString 
     304 
     305 
    269306def makeDirsAndPerms(basedir, dirs, permissions, owner, verbose="no"): 
    270307    """ 
Note: See TracChangeset for help on using the changeset viewer.