Changeset dbede73 in rtems-source-builder for source-builder/sb/macros.py


Ignore:
Timestamp:
Apr 27, 2013, 10:23:35 AM (6 years ago)
Author:
Chris Johns <chrisj@…>
Branches:
4.10, 4.11, 4.9, master
Children:
517f036
Parents:
624954b
Message:

Make _sbdir absolute. Add locks to read maps.

Add locks to the read maps to support disabling the select command.

Make the _sbdir etc absolute to let it be referenced from anywhere.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • source-builder/sb/macros.py

    r624954b rdbede73  
    5858            self.macros = {}
    5959            self.read_maps = []
     60            self.read_map_locked = False
    6061            self.write_map = 'global'
    6162            self.macros['global'] = {}
    62             self.macros['global']['_cwd'] = ('dir', 'required', path.shell(os.getcwd()))
    63             self.macros['global']['_sbdir'] = ('dir', 'required', path.shell(sbdir))
     63            self.macros['global']['_cwd'] = ('dir', 'required', path.abspath(os.getcwd()))
     64            self.macros['global']['_sbdir'] = ('dir', 'required', path.abspath(sbdir))
    6465        else:
    6566            self.macros = {}
     
    7071                    self.macros[m][k] = original.macros[m][k]
    7172            self.read_maps = sorted(original.read_maps)
     73            self.read_map_locked = original.read_map_locked
    7274            self.write_map = original.write_map
    7375        if name is not None:
     
    405407
    406408    def set_read_map(self, _map):
    407         if _map in self.macros:
    408             if _map not in self.get_read_maps():
    409                 rm = '%04d_%s' % (len(self.read_maps), _map)
    410                 self.read_maps = sorted(self.read_maps + [rm])
    411             return True
     409        if not self.read_map_locked:
     410            if _map in self.macros:
     411                if _map not in self.get_read_maps():
     412                    rm = '%04d_%s' % (len(self.read_maps), _map)
     413                    self.read_maps = sorted(self.read_maps + [rm])
     414                return True
    412415        return False
    413416
    414417    def unset_read_map(self, _map):
    415         if _map in self.get_read_maps():
    416             for i in range(0, len(self.read_maps)):
    417                 if '%04d_%s' % (i, _map) == self.read_maps[i]:
    418                     self.read_maps.pop(i)
    419             return True
     418        if not self.read_map_locked:
     419            if _map in self.get_read_maps():
     420                for i in range(0, len(self.read_maps)):
     421                    if '%04d_%s' % (i, _map) == self.read_maps[i]:
     422                        self.read_maps.pop(i)
     423                return True
    420424        return False
    421425
     
    425429            return True
    426430        return False
     431
     432    def lock_read_map(self, _map):
     433        self.read_map_locked = True
     434
     435    def unlock_read_map(self, _map):
     436        self.read_map_locked = False
    427437
    428438if __name__ == "__main__":
Note: See TracChangeset for help on using the changeset viewer.