Changeset 2b27eec in rtems-tools


Ignore:
Timestamp:
Jun 6, 2019, 10:51:31 AM (5 months ago)
Author:
Chris Johns <chrisj@…>
Branches:
master
Children:
757578d
Parents:
89dcdbc
git-author:
Chris Johns <chrisj@…> (06/06/19 10:51:31)
git-committer:
Chris Johns <chrisj@…> (06/11/19 01:00:30)
Message:

rtemstoolkit/macros: Improve the macro output.

  • Support optionally reporting just the keys and their values.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • rtemstoolkit/macros.py

    r89dcdbc r2b27eec  
    8181        return us
    8282
    83     def __init__(self, name = None, original = None, rtdir = '.'):
     83    def __init__(self, name = None, original = None, rtdir = '.', show_minimal = False):
    8484        self.files = []
     85        self.str_show_minimal = show_minimal
    8586        self.macro_filter = re.compile(r'%{[^}]+}')
    8687        if original is None:
     
    125126        for f in self.files:
    126127            text += '> %s%s' % (f, os.linesep)
     128        max_key_size = 0
    127129        for map in self.macros:
     130            size = len(max(self.macros[map].keys(), key = lambda x: len(x)))
     131            if size > max_key_size:
     132                max_key_size = size
     133        maps = sorted(self.macros)
     134        maps.remove('global')
     135        for map in ['global'] + maps:
    128136            rm = '-'
    129137            for rmap in self.read_maps:
     
    141149            for k in sorted(self.macros[map].keys()):
    142150                d = self.macros[map][k]
    143                 text += " %s:%s '%s'%s '%s'%s" % \
    144                     (k, ' ' * (20 - len(k)),
    145                      d[0], ' ' * (8 - len(d[0])),
    146                      d[1], ' ' * (10 - len(d[1])))
     151                if self.str_show_minimal:
     152                    text += " %s: %s" % (k, ' ' * (max_key_size - len(k)))
     153                else:
     154                    text += " %s:%s '%s'%s '%s'%s" % \
     155                            (k, ' ' * (max_key_size - len(k)),
     156                             d[0], ' ' * (8 - len(d[0])),
     157                             d[1], ' ' * (10 - len(d[1])))
    147158                if len(d[2]) == 0:
    148159                    text += "''%s" % (os.linesep)
     
    152163                    else:
    153164                        text += "'"
    154                 indent = False
    155165                ds = d[2].split('\n')
    156166                lc = 0
     167                indent = False
    157168                for l in ds:
    158169                    lc += 1
    159170                    while len(l):
    160171                        if indent:
    161                             text += ' %21s %10s %12s' % (' ', ' ', ' ')
     172                            if self.str_show_minimal:
     173                                text += ' %s  ' % (' ' * max_key_size)
     174                            else:
     175                                text += ' %s  %10s %12s' % (' ' * max_key_size, ' ', ' ')
     176                        indent = True
    162177                        text += l[0:text_len]
    163178                        l = l[text_len:]
     
    170185                                text += "'"
    171186                        text += '%s' % (os.linesep)
    172                         indent = True
    173187        return text
    174188
Note: See TracChangeset for help on using the changeset viewer.