Changeset 25b14be in flex_extract.git for source/python/classes


Ignore:
Timestamp:
Sep 23, 2018, 11:40:28 AM (6 years ago)
Author:
Anne Philipp <anne.philipp@…>
Branches:
master, ctbto, dev
Children:
4971f63
Parents:
5d42acd
Message:

changed whole tree structure of flex_extract to have better overview

Location:
source/python/classes
Files:
1 added
5 moved

Legend:

Unmodified
Added
Removed
  • source/python/classes/ControlFile.py

    r5d42acd r25b14be  
    143143        self.ecstorage = 0
    144144        self.ectrans = 0
    145         self.inputdir = '../work'
     145        self.inputdir = _config.PATH_INPUT_DIR
    146146        self.outputdir = self.inputdir
    147147        self.ecmwfdatadir = _config.PATH_FLEXEXTRACT_DIR
     
    177177            <nothing>
    178178        '''
    179         from tools import my_error
     179        from mods.tools import my_error
    180180
    181181        # read whole CONTROL file
     
    331331            <nothing>
    332332        '''
    333         from tools import my_error
     333        from mods.tools import my_error
    334334        import numpy as np
    335335
  • source/python/classes/EcFlexpart.py

    r5d42acd r25b14be  
    6161#
    6262# @Class Attributes:
    63 #    - dtime
    64 #    - basetime
    65 #    - server
    66 #    - marsclass
    67 #    - stream
    68 #    - resol
    69 #    - accuracy
    70 #    - number
    71 #    - expver
    72 #    - glevelist
    73 #    - area
    74 #    - grid
    75 #    - level
    76 #    - levelist
    77 #    - types
    78 #    - dates
    79 #    - area
    80 #    - gaussian
    81 #    - params
    82 #    - inputdir
    83 #    - outputfilelist
     63#
     64#  TODO
    8465#
    8566#*******************************************************************************
    8667#pylint: disable=unsupported-assignment-operation
    87 # this is disabled because its an error in pylint for this specific case
     68# this is disabled because for this specific case its an error in pylint
    8869#pylint: disable=consider-using-enumerate
    8970# this is not useful in this case
     
    10485import _config
    10586from GribTools import GribTools
    106 from tools import init128, to_param_id, silent_remove, product, my_error
     87from mods.tools import init128, to_param_id, silent_remove, product, my_error
    10788from MarsRetrieval import MarsRetrieval
    108 import disaggregation
     89import mods.disaggregation
    10990
    11091# ------------------------------------------------------------------------------
     
    471452                        MR.data_retrieve()
    472453                    elif request == 1:
    473                         MR.print_info()
     454                        MR.print_info(self.inputdir)
    474455                    elif request == 2:
    475                         MR.print_info()
     456                        MR.print_info(self.inputdir)
    476457                        MR.display_info()
    477458                        MR.data_retrieve()
  • source/python/classes/MarsRetrieval.py

    r2fb99de r25b14be  
    335335
    336336
    337     def print_info(self):
     337    def print_info(self, inputdir):
    338338        '''
    339339        @Description:
     
    345345                For description see class documentation.
    346346
     347            inputdir: string
     348                The path where all data from the retrievals are stored.
     349
    347350        @Return:
    348351            <nothing>
     
    352355
    353356        # open a file to store all requests to
    354         with open(os.path.join(_config.PATH_RUN_DIR,
     357        with open(os.path.join(inputdir,
    355358                               _config.FILE_MARS_REQUESTS), 'a') as f:
    356359            f.write('mars\n')
  • source/python/classes/UioFiles.py

    r2fb99de r25b14be  
    5252# software specific module from flex_extract
    5353#import profiling
    54 from tools import silent_remove, get_list_as_string
     54from mods.tools import silent_remove, get_list_as_string
    5555
    5656# ------------------------------------------------------------------------------
     
    6060class UioFiles(object):
    6161    '''
    62     Class to manipulate files. At initialisation it has the attribute
    63     pattern which stores a regular expression pattern for the files associated
    64     with the instance of the class.
     62    Class to manipulate files. At initialisation it has the pattern
     63    which stores a regular expression pattern for the files, the path
     64    to the files and the files already.
    6565    '''
    6666    # --------------------------------------------------------------------------
     
    8888        self.path = path
    8989        self.pattern = pattern
    90         self.files = None
     90        self.files = []
    9191
    9292        self.__list_files__(self.path)
     
    9595
    9696    #@profiling.timefn
    97     def __list_files__(self, path, callid=0):
     97    def __list_files__(self, path):
    9898        '''
    9999        @Description:
     
    108108                Path to the files.
    109109
    110             callid: integer
    111                 Id which tells the function if its the first call
    112                 or a recursive call. Default and first call is 0.
    113                 Everything different from 0 is ment to be a recursive case.
    114 
    115110        @Return:
    116111            <nothing>
    117112        '''
    118 
    119         # initialize variable in first function call
    120         if callid == 0:
    121             self.files = []
    122 
    123113        # Get the absolute path
    124114        path = os.path.abspath(path)
    125115
    126         # get the file list of the path if its not a directory and
    127         # if it contains the pattern
    128         self.files.extend([os.path.join(path, k) for k in os.listdir(path)
    129                            if fnmatch.fnmatch(k, self.pattern)])
    130 
    131         # find possible sub-directories in the path
    132         subdirs = [s for s in os.listdir(path)
    133                    if os.path.isdir(os.path.join(path, s))]
    134 
    135         # do recursive calls for sub-direcorties
    136         if subdirs:
    137             for subdir in subdirs:
    138                 self.__list_files__(os.path.join(path, subdir), callid=1)
     116        # get all files in the dir and subdir as absolut path
     117        for root, dirnames, filenames in os.walk(path):
     118            for filename in fnmatch.filter(filenames, self.pattern):
     119                self.files.append(os.path.join(root, filename))
    139120
    140121        return
Note: See TracChangeset for help on using the changeset viewer.
hosted by ZAMG