Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2afb6eb2 authored by Joe Onorato's avatar Joe Onorato
Browse files

Add a print command to fs_config_generator.py

This prints the uid map in a very simple format, with
AID_CONSTANT<space>uid
on each line.  This is super easy for other tools to
parse, and generate their own mappings, without requiring
edits to fs_config_generator.py itself.

Test: make, treehugger
Change-Id: I10e24ac29d440a24d43580880343d122ae1cdf02
parent 8ab919dc
Loading
Loading
Loading
Loading
+22 −0
Original line number Diff line number Diff line
@@ -1294,6 +1294,28 @@ class GroupGen(PasswdGen):

        print "%s::%s:" % (logon, uid)

@generator('print')
class PrintGen(BaseGenerator):
    """Prints just the constants and values, separated by spaces, in an easy to
    parse format for use by other scripts.

    Each line is just the identifier and the value, separated by a space.
    """

    def add_opts(self, opt_group):
        opt_group.add_argument(
            'aid-header', help='An android_filesystem_config.h file.')

    def __call__(self, args):

        hdr_parser = AIDHeaderParser(args['aid-header'])
        aids = hdr_parser.aids

        aids.sort(key=lambda item: int(item.normalized_value))

        for aid in aids:
            print '%s %s' % (aid.identifier, aid.normalized_value)


def main():
    """Main entry point for execution."""