Exemplo n.º 1
0
 def codefile(self, tmod, imp=False):
     cf = CodeFile(
         filename=tmod.rel(f"{self.name}.py"),
         source=self.gen(),
         module_name=self.name,
     )
     if imp:
         module = self.imp(tmod)
         cf.associate(module)
     return cf
Exemplo n.º 2
0
    def __init__(self, tmod, basename):
        self.tmod = tmod
        self.basename = basename
        self.variants = {
            name.split(".py")[0].split(":")[1]
            for name in os.listdir(
                os.path.join(os.path.dirname(__file__), "snippets"))
            if name.startswith(basename)
        }
        module = tmod.imp(f"{basename}:main")
        main_cf = CodeFile(module.__file__, module.__name__)
        main_cf.associate(module)

        self.module = module
        self.main = main_cf
        self.read_codefiles()
Exemplo n.º 3
0
 def read_codefiles(self):
     files = {
         variant: self.module.__file__ if variant == "main" else
         self.tmod.transfer(f"{self.basename}:{variant}")[1]
         for variant in self.variants
     }
     self.files = NS(**files)
     self.cf = NS(
         **{
             variant: CodeFile(file, self.module.__name__)
             for variant, file in files.items()
         })
Exemplo n.º 4
0
def apple_code(scope="module"):
    cf = CodeFile(apple.__file__, apple.__name__)
    cf.associate(apple)
    return cf