Skip to content
Snippets Groups Projects
Select Git revision
  • 61c4faab66dc125d83847d01e87f443f9d6e4ccf
  • master default
  • wink/trng
  • patch-3
  • patch-2
  • patch-1
  • micro-modules
  • color-2
  • color-html-3
  • color-html-2
  • color-html
  • ch3/api-speed-eval2
  • rahix/bma
  • freertos-btle
  • schneider/mp-for-old-bl
  • ch3/leds-api
  • ch3/genapi-refactor
  • ch3/dual-core
  • dualcore
19 results

GUI_Paint.c

Blame
  • Forked from card10 / firmware
    Source project has a limited visibility.
    gen-modules.py 1.47 KiB
    #!/usr/bin/env python3
    # Usage: gen-modules.py <source path> <output.h> <input.c ...>
    
    import sys
    import os
    import tempfile
    import shutil
    
    
    def main():
        # Get 'official' makemoduledefs.py
        path = sys.argv[1] + "/micropython/py"
        sys.path.insert(0, path)
        import makemoduledefs
    
        modules = set()
        for source in sys.argv[3:]:
            modules |= makemoduledefs.find_module_registrations(source)
    
        stdout = sys.stdout
        with tempfile.TemporaryFile("w+") as temp:
            sys.stdout = temp
            makemoduledefs.generate_module_table_header(sorted(modules))
            sys.stdout = stdout
    
            # Read contents of existing file and compare
            try:
                with open(sys.argv[2], "r") as f:
                    old_content = f.read()
            except FileNotFoundError:
                old_content = ""
    
            temp.seek(0)
            new_content = temp.read()
    
            if new_content == old_content:
                # If both file contain the same content, exit early
                sys.exit(0)
    
            with open(sys.argv[2], "w") as f:
                f.write(new_content)
    
            try:
                os.mkdir(os.path.dirname(sys.argv[2]) + "/genhdr")
            except FileExistsError:
                pass
    
            linkname = (
                os.path.dirname(sys.argv[2]) + "/genhdr/" + os.path.basename(sys.argv[2])
            )
            if os.path.exists(linkname):
                os.unlink(linkname)
            shutil.copy(sys.argv[2], linkname)
    
        sys.stdout = stdout
    
    
    if __name__ == "__main__":
        main()