4a02e17d85ead5a6bd0c7328d5c3b33b124db570
[zonemaker.git] / zone-maker
1 #!/usr/bin/python3
2 import sys, os
3 from zonemaker.zone import Zone
4 #import typing
5
6 def load_module(name, path, write_bytecode = False):
7     old_val = sys.dont_write_bytecode
8     sys.dont_write_bytecode = not write_bytecode
9     module = None
10     try:
11         from importlib.machinery import SourceFileLoader
12         module = SourceFileLoader(name, path).load_module()
13     except ImportError:
14         import imp
15         module = imp.load_source(name, path)
16     finally:
17         sys.dont_write_bytecode = old_val
18     return module
19
20 def make_zone(filename: str) -> None:
21     zonefile = load_module(os.path.basename(filename), filename)
22     zone = zonefile.__zone__ # type: Zone
23     zone.write()
24
25 if __name__ == "__main__":
26     for name in sys.argv[1:]:
27         make_zone(name)
28