# -*- coding: utf-8 -*- import json import os import sys from .apppacker import AppPacker from .imagebuilder import ImageNotFoundError class App: def __init__(self): self.name = None self.conf = {} self.build_dir = None def load_metafile(self, metafile): self.build_dir = os.path.dirname(metafile) if os.path.basename(metafile) == 'meta': self.name = os.path.basename(self.build_dir) else: self.name = os.path.splitext(metafile)[0] with open(metafile, 'r') as f: self.conf = json.load(f) def pack(self, metafile): self.load_metafile(metafile) packer = AppPacker(self) try: packer.pack() except ImageNotFoundError as e: print('Image {} not found, can\'t pack {}'.format(e, self.name)) sys.exit(1) def remove(self): packer = AppPacker(self) packer.remove()