Changes in tools/config.py [6ec0acd:421250e] in mainline


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • tools/config.py

    r6ec0acd r421250e  
    413413        return list
    414414
    415 ## Ask user to choose a configuration profile.
    416 #
    417 def profile_choose(root, fname, screen, config):
     415## Choose a profile and load configuration presets.
     416#
     417def load_presets(root, fname, screen, config):
    418418        options = []
    419419        opt2path = {}
     
    436436                                        subprofile = True
    437437                                        options.append("%s (%s)" % (name, subname))
    438                                         opt2path[cnt] = [name, subname]
     438                                        opt2path[cnt] = (canon, subcanon)
    439439                                        cnt += 1
    440440                       
    441441                        if not subprofile:
    442442                                options.append(name)
    443                                 opt2path[cnt] = [name]
     443                                opt2path[cnt] = (canon, None)
    444444                                cnt += 1
    445445       
     
    449449                return None
    450450       
    451         return opt2path[value]
    452 
    453 ## Read presets from a configuration profile.
    454 #
    455 # @param profile        Profile to load from (a list of string components)
    456 # @param config         Output configuration
    457 #
    458 def presets_read(profile, config):
    459         path = os.path.join(PRESETS_DIR, profile[0], MAKEFILE)
    460         read_config(path, config)
    461 
    462         if len(profile) > 1:
    463                 path = os.path.join(PRESETS_DIR, profile[0], profile[1], MAKEFILE)
    464                 read_config(path, config)
    465 
    466 ## Parse profile name (relative OS path) into a list of components.
    467 #
    468 # @param profile_name   Relative path (using OS separator)
    469 # @return               List of components
    470 #
    471 def parse_profile_name(profile_name):
    472         profile = []
    473 
    474         head, tail = os.path.split(profile_name)
    475         if head != '':
    476                 profile.append(head)
    477 
    478         profile.append(tail)
    479         return profile
     451        read_config(opt2path[value][0], config)
     452        if opt2path[value][1] != None:
     453                read_config(opt2path[value][1], config)
    480454
    481455def main():
    482         profile = None
     456        cfgfile_in = None
    483457        config = {}
    484458        rules = []
     
    490464        # otherwise configuration from previous run is used.
    491465        if len(sys.argv) >= 4:
    492                 profile = parse_profile_name(sys.argv[3])
    493                 presets_read(profile, config)
    494         elif os.path.exists(MAKEFILE):
    495                 read_config(MAKEFILE, config)
     466                cfgfile_in = sys.argv[3]
     467        else:
     468                cfgfile_in = MAKEFILE
     469       
     470        # Read configuration file
     471        if os.path.exists(cfgfile_in):
     472                read_config(cfgfile_in, config)
    496473       
    497474        # Default mode: only check values and regenerate configuration files
     
    570547                       
    571548                        if value == 0:
    572                                 profile = profile_choose(PRESETS_DIR, MAKEFILE, screen, config)
    573                                 if profile != None:
    574                                         presets_read(profile, config)
     549                                load_presets(PRESETS_DIR, MAKEFILE, screen, config)
    575550                                position = 1
    576551                                continue
Note: See TracChangeset for help on using the changeset viewer.