Ejemplo n.º 1
0
class BRTest(unittest.TestCase):
    def showMsg(self, msg):
        print "[%s/%s/%s] %s" % (self.testname, self.testinstance,
                                 datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"),
                                 msg)
    def setUp(self):
        if os.getenv("REUSE_BUILD"):
            self.builddir = os.getenv("REUSE_BUILD").rstrip("/")
            skip_build = True
        else:
            skip_build = False
            b = subprocess.check_output(["mktemp", "-d", "buildroot.XXXXX"],
                                        cwd=configtest.builddir)
            b = b.strip()
            self.builddir = os.path.join(configtest.builddir, b)
        self.testname = self.__class__.__name__
        self.testinstance = os.path.basename(self.builddir)
        self.buildlog = self.builddir + "-build.log"
        self.runlog = self.builddir + "-run.log"
        self.s = None
        self.showMsg("Starting")
        self.b = Builder(self.__class__.config, self.builddir, self.buildlog)
        if not skip_build:
            self.showMsg("Building")
            self.b.build()
            self.showMsg("Building done")
        self.s = System(self.runlog)

    def tearDown(self):
        self.showMsg("Cleaning up")
        if self.s:
            self.s.stop()
        if self.b and os.getenv("KEEP_BUILD"):
            self.b.delete()
Ejemplo n.º 2
0
class BRTest(unittest.TestCase):
    def showMsg(self, msg):
        print "[%s/%s/%s] %s" % (
            self.testname, self.testinstance,
            datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"), msg)

    def setUp(self):
        if os.getenv("REUSE_BUILD"):
            self.builddir = os.getenv("REUSE_BUILD").rstrip("/")
            skip_build = True
        else:
            skip_build = False
            b = subprocess.check_output(["mktemp", "-d", "buildroot.XXXXX"],
                                        cwd=configtest.builddir)
            b = b.strip()
            self.builddir = os.path.join(configtest.builddir, b)
        self.testname = self.__class__.__name__
        self.testinstance = os.path.basename(self.builddir)
        self.buildlog = self.builddir + "-build.log"
        self.runlog = self.builddir + "-run.log"
        self.s = None
        self.showMsg("Starting")
        self.b = Builder(self.__class__.config, self.builddir, self.buildlog)
        if not skip_build:
            self.showMsg("Building")
            self.b.build()
            self.showMsg("Building done")
        self.s = System(self.runlog)

    def tearDown(self):
        self.showMsg("Cleaning up")
        if self.s:
            self.s.stop()
        if self.b and os.getenv("KEEP_BUILD"):
            self.b.delete()
Ejemplo n.º 3
0
class Test(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        super(Test, cls).setUpClass()

        cls.dbPath = "testDb.sqlite"
        if os.path.exists(cls.dbPath):
            os.remove(cls.dbPath)

    def setUp(self):
        unittest.TestCase.setUp(self)

        agentFactory = PoleAgentFactory()
        environmentFactory = PoleEnvironmentFactory()
        trainerFactory = PoleTrainerFactory()
        buildParameterFactory = PoleBuildParameterFactory()
        store = Store(self.dbPath)
        logger = MyLogger(console_print=True)

        self.builder = Builder(trainerFactory, agentFactory,
                               environmentFactory, store, logger)

        self.buildParameters = []
        for k1 in range(2):
            nIntervalSave = 3
            nEpoch = 5
            self.buildParameters.append(
                PoleBuildParameter(int(nIntervalSave),
                                   int(nEpoch),
                                   label="test" + str(k1)))

        for agentClass in ("agent002", "agent003", "agent004"):
            self.buildParameters.append(
                PoleBuildParameter(int(nIntervalSave),
                                   int(nEpoch),
                                   agentClass=agentClass,
                                   label="test " + agentClass))

        self.loader = Loader(agentFactory, buildParameterFactory,
                             environmentFactory, store)

    @classmethod
    def tearDownClass(cls):
        super(Test, cls).tearDownClass()
        cls.dbPath = "testDb.sqlite"
        if os.path.exists(cls.dbPath):
            os.remove(cls.dbPath)

    def test001(self):
        for buildParameter in self.buildParameters:
            assert isinstance(buildParameter, PoleBuildParameter)
            self.builder.build(buildParameter)

        assert isinstance(self.loader, Loader)
        for agent, buildParameter, epoch in self.loader.load("test%", None):
            assert isinstance(agent, PoleAgent)
            assert isinstance(buildParameter, PoleBuildParameter)
Ejemplo n.º 4
0
def main():
    args = parse_args()
    V = Vars()
    writer = Writer(args.build_dir, args.verbose)
    b = Builder(args.folder, writer)

    if args.config is not None:
        V.load_config_files(args.folder, args.config)
    V.load_cli_args(args.arg)
    if args.file is not None:
        b.build_files(args.file, V)
    else:
        b.build(V)
Ejemplo n.º 5
0
def run():
    parser = create_parser()
    args = parser.parse_args()
    prepare_run(args)

    from configs import Components
    from builder import Builder

    builder = Builder()
    builder.build()
    print(builder.train_dataloader.get_batch_size())
    trainer = Components.trainer(**builder.get_trainer_arguments())
    del builder
    trainer.run()
Ejemplo n.º 6
0
def makePopulationlist():
    
    popobj = Builder('population.csv', 4, 'NAME')
    populationlist = popobj.build()
    for item in populationlist:
        popobj.skiplist.insert(item)

    return popobj.skiplist
Ejemplo n.º 7
0
def makeGrantlist():
    grantobj = Builder('researchgrants.csv', 0, 'Awardee')
    grantlist = grantobj.build()

    for item in grantlist:
        grantobj.skiplist.insert(item)

    return grantobj.skiplist
Ejemplo n.º 8
0
def makePresidentialOrderlist():
   
    ordersobj = Builder('presidentialdocuments.csv', 1, 'title')
    orderslist = ordersobj.build()
    for item in orderslist:
        ordersobj.skiplist.insert(item)

    return ordersobj.skiplist
Ejemplo n.º 9
0
def main():
    parser = argparse.ArgumentParser(description='pyginate - static web site generator')
    parser.add_argument('action', help='Action to perform', choices=['build', 'deploy', 'process'])
    parser.add_argument('-d', '--dir', help='Web site base directory', default=os.getcwd())
    parser.add_argument('-c', '--config_file_name', help='Configuration file name', default='pyginator.json')
    parser.add_argument('-s', '--processing_script', help='Procesing script to apply', default='')
    parser.add_argument('-dr', '--dry_run', action='store_true', help='Do not apply any changes, just report')
    args = parser.parse_args()
    conf_file = os.path.join(args.dir, args.config_file_name)
    configuration = Configuration(args.dir, json.load(open(conf_file)))
    if args.action == 'build':
        builder = Builder(configuration)
        builder.build()
    elif args.action == 'deploy':
        deployer = Deployer(configuration)
        deployer.deploy()
    elif args.action == 'process':
        if args.dry_run:
            configuration.dry_run = True
        processor = Processor(configuration, args.processing_script)
        processor.process()
Ejemplo n.º 10
0
def create_model():
    train_filename = request.json[TRAINING_FILENAME]
    test_filename = request.json[TEST_FILENAME]
    classifiers_name = request.json[CLASSIFIERS_NAME]

    request_errors = analyse_request_errors(request_validator, train_filename,
                                            test_filename, classifiers_name)

    if request_errors is not None:
        return request_errors

    database_url_training = Database.collection_database_url(
        database_url,
        database_name,
        train_filename,
        database_replica_set,
    )

    database_url_test = Database.collection_database_url(
        database_url,
        database_name,
        test_filename,
        database_replica_set,
    )
    builder = Builder(database, metadata_creator, spark_session)

    builder.build(request.json[MODELING_CODE_NAME], classifiers_name,
                  train_filename, test_filename, database_url_training,
                  database_url_test)

    return (
        jsonify({
            MESSAGE_RESULT:
            create_prediction_files_uri(classifiers_name, test_filename)
        }),
        HTTP_STATUS_CODE_SUCCESS_CREATED,
    )
Ejemplo n.º 11
0
def web_main(dc, pn, gui=None, spr=None, plan=SIMPLE, solver=solver):
    #from kwarwp_factory import Sprite
    gui = GUI(dc['panel'], dc['data'], gui)
    _builder = Builder()
    place = _builder.build(pn, gui, _builder.build_inventory(FS=Sprite), plan,
                           solver)

    dc['for'].addEventListener("click", place.actor.go_forward)
    dc['lef'].addEventListener("click", place.actor.go_left)
    dc['rig'].addEventListener("click", place.actor.go_right)
    dc['aft'].addEventListener("click", place.actor.go_backward)
    dc['tri'].addEventListener("click", place.actor.go_push)
    dc['exi'].addEventListener("click", place.actor.go_pull)
    dc['cir'].addEventListener("click", place.actor.go_take)
    dc['squ'].addEventListener("click", place.actor.go_give)
    dc['start'].addEventListener("click", place.actor.go_step)
    return place
Ejemplo n.º 12
0
class BuilderTest(unittest.TestCase):
    def setUp(self):
        self.image = np.full((300, 400, 4), 255, dtype=np.uint8)
        self.image[:, 190:210, :] = [255, 0, 0, 127]

        height, width, _ = self.image.shape
        mask = np.zeros((height, width, 1), dtype=bool)
        mask[130:180, 170:220] = True
        self.mask_result = [{
            "rois":
            np.array([[130, 170, 180, 220]], dtype=np.int32),
            "class_ids":
            np.array([0], dtype=np.int32),
            "scores":
            np.array([0.99], dtype=np.float32),
            "masks":
            mask
        }]

        self.builder = Builder()

    def test_builder(self):
        result = self.builder.build(self.image.copy(), self.mask_result)[0]
        result_image = result.generate_image()
        result_backgrount = result.instances[0].generate_image()
        result_segment = result.instances[1].generate_image()

        expect_background = np.full((300, 400, 4), 255, dtype=np.uint8)
        expect_background[:, 190:210, :] = [255, 0, 0, 127]
        expect_background[130:180, 170:220] = [0, 0, 0, 0]

        segment_image = np.full((50, 50, 4), 255, dtype=np.uint8)
        segment_image[:, 20:40, :] = [255, 0, 0, 127]

        self.assertEqual(2, len(result))
        self.assertEqual((300, 400), result.size())
        self.assertTrue(
            np.allclose(expect_background, result_backgrount, atol=5))
        self.assertTrue(np.allclose(segment_image, result_segment, atol=5))
        self.assertTrue(np.allclose(self.image, result_image, atol=5))
Ejemplo n.º 13
0
def main():
    if (len(sys.argv) < 2):
        print("Error: please provide a specification file as argument")
        sys.exit(1)

    spec = UpstreamSpecification(sys.argv[1])
    
    sourcePath = path.join("sources", spec.getName())
    buildPath = path.join("builds",spec.getName())
    
    repo = GitUpstremSource(spec.getName(), spec.getUrl(), sourcePath, spec.getBranches())
    repo.update()
    tags = repo.listVersion(spec.getTags())  

    builds = []
    reports = []
    for index in range(0,len(tags)):
        tag = tags[index]
        versionPath = repo.extractVersion(tag, buildPath)
        build = Builder(spec.getRecipe(tag), tag, spec.getSOfiles(tag), versionPath)
        builds.append(build)
        
        if (not build.build()):
            print("Error building: " + tag, ", see: " + path.join(versionPath, "build.log"), file=sys.stderr)
        if (index > 0):
            report = CompatReport(spec.getName(), builds[index-1], builds[index])
            if (not report.generateReport()):
                print ("Error comparing: " + builds[index-1].tag + " -> " + builds[index].tag, file=sys.stderr)
            else:
                print ("Compared " + builds[index-1].tag + " -> " + builds[index].tag)
            reports.append(report)
            
    reports = reversed(reports)
    env = Environment(loader=PackageLoader("git-abireport", "template"))
    template = env.get_template('report.html')
    with open(path.join("compat_reports",spec.getName() +'_compat_report.html'), 'w') as reportfile:
        now = datetime.datetime.now()
        print(template.render(name=spec.getName(), url=spec.getUrl(), reports=reports, update=now.strftime("%Y-%m-%d %H:%M:%S")), file=reportfile)
Ejemplo n.º 14
0
                      path="data/samples/ConsoleApp01",
                      targets=[target])

    return project


def testMyApp():
    myAppTarget = Target("MyApp", path="MyApp", items=["MyApp.cpp"])
    myLib01 = Target("MyLib01",
                     path="MyLib01",
                     items=["MyLib01.hpp", "MyLib01.cpp"])
    myLib02 = Target("MyLib02",
                     path="MyLib02",
                     items=["MyLib02.hpp", "MyLib02.cpp"])

    project = Project("MyApp",
                      path="data/samples/MyApp",
                      targets=[myAppTarget, myLib01, myLib02])

    return project


if __name__ == "__main__":
    project = testMyApp()

    toolchain = ToolchainGCC(
        "D:/mingw-w64/x86_64-6.2.0-posix-seh-rt_v5-rev1/mingw64/bin")

    builder = Builder(toolchain)
    builder.build(project)
Ejemplo n.º 15
0
def main(pn, gui, spr=None, plan=SIMPLE, solver=solver):
    _builder = Builder()
    return _builder.build(pn, gui, _builder.build_inventory(FS=spr), plan,
                          solver)
Ejemplo n.º 16
0
pattern_data = pickle.load(pattern_data_file)

scaler_file = open(config['position_scaler'], 'rb')
scaler = pickle.load(scaler_file)


def progress_callback(completed, total):
    percentage = int(completed / float(total) * 100)
    sys.stdout.write(f'Progress: {percentage}% [{completed} / {total}]\r')
    sys.stdout.flush()


block_model = load_model(args.block_model)
pos_model = load_model(args.pos_model)
builder = Builder(block_model,
                  pos_model,
                  config['lookback'],
                  None,
                  pattern_data,
                  scaler,
                  temperature=args.temperature)

track = builder.build(args.length,
                      verbose=False,
                      save=False,
                      progress_callback=progress_callback,
                      map_size=(32, 32, 32))
print(track)
save_gbx({'track_data': track}, 'data/Template.Challenge.Gbx', args.output)
print(f'Track saved to {args.output}.')
Ejemplo n.º 17
0
class Test(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        super(Test, cls).setUpClass()

        WaeAgent.checkPointPath = "./testCheckPoint"

        cls.dbPath = "testDb.sqlite"
        if os.path.exists(cls.dbPath):
            os.remove(cls.dbPath)

        cls.trainLogFolderPath = "./testTrainLogFolderPath"
        if os.path.exists(cls.trainLogFolderPath):
            os.remove(cls.trainLogFolderPath)

    def setUp(self):
        unittest.TestCase.setUp(self)

        agentFactory = WaeAgentFactory()
        environmentFactory = WaeEnvironmentFactory()
        trainerFactory = WaeTrainerFactory()
        buildParameterFactory = WaeBuildParameterFactory()
        store = Store(self.dbPath, self.trainLogFolderPath)
        logger = MyLogger(console_print=True)

        self.builder = Builder(trainerFactory, agentFactory,
                               environmentFactory, store, logger)

        self.buildParameters = []
        for k1 in range(2):
            nIntervalSave = 10
            nEpoch = 20
            nLayer = int(np.random.choice((1, 2)))

            self.buildParameters.append(
                WaeBuildParameter(int(nIntervalSave),
                                  int(nEpoch),
                                  label="test" + str(k1),
                                  nLayer=nLayer,
                                  eps_given_sinkhorn=0.1,
                                  tol_sinkhorn=0.1))

        self.loader = Loader(agentFactory, buildParameterFactory,
                             environmentFactory, store)

    @classmethod
    def tearDownClass(cls):
        super(Test, cls).tearDownClass()
        if os.path.exists(cls.dbPath):
            os.remove(cls.dbPath)

        if os.path.exists(WaeAgent.checkPointPath):
            shutil.rmtree(WaeAgent.checkPointPath)

        if os.path.exists(cls.trainLogFolderPath):
            shutil.rmtree(cls.trainLogFolderPath)

    def test001(self):
        for buildParameter in self.buildParameters:
            assert isinstance(buildParameter, WaeBuildParameter)
            self.builder.build(buildParameter)

        assert isinstance(self.loader, Loader)
        for agent, buildParameter, epoch in self.loader.load("test%", None):
            assert isinstance(agent, WaeAgent)
            assert isinstance(buildParameter, WaeBuildParameter)
Ejemplo n.º 18
0
class ObserverHandler(FileSystemEventHandler):
    """
    Watch for file changes in the src directory and update preview
    directory using Builder class.
    """
    def __init__(self, src_dir, dest_dir):
        # Init super
        super(ObserverHandler, self).__init__()
        # Cache values
        self.src_dir = src_dir
        self.dest_dir = dest_dir
        # New builder & local syncer
        self.builder = Builder(self.src_dir, self.dest_dir, LocalSyncer())
        self.builder.build()

    def dispatch(self, event):
        # Modified to not dispatch create
        if not isinstance(event, DirModifiedEvent):
            self.on_any_event(event)
        # Dispatch to individual listeners
        _method_map = {
            'modified': self.on_modified,
            'moved': self.on_moved,
            'deleted': self.on_deleted,
        }
        _method_map[event.event_type](event)

    def on_any_event(self, event):
        # Cache common paths
        abs_path = event.src_path
        rel_path = abs_path.replace(self.src_dir, '')
        # Break path into parts and gether info about parts
        parts = rel_path.strip('/').split('/')
        parts_len = len(parts)

        # Build individual parts of method based on what
        # file/dir was changed:
        def build_message():
            # /message/name
            if (parts_len == 2):
                self.builder.build_single(abs_path)
            # /message/name/file
            # /message/name/images
            elif (parts_len == 3):
                if (parts[2] == 'images'):
                    msg_dir = os.path.dirname(abs_path)
                    self.builder.mirror_imgs(msg_dir)
                else:
                    self.builder.write_template(abs_path)
            # /message/name/images/file
            elif (parts_len == 4):
                img_dir = os.path.dirname(abs_path)
                msg_dir = os.path.dirname(img_dir)
                self.builder.mirror_imgs(msg_dir)  
  
        # If file was deleted remove, else build
        if not os.path.exists(event.src_path):
            self.builder.remove(event.src_path)
        else:
            if parts[0] == 'masters':
                # If an asset in the masters dir was altered
                # we must rebuild everything
                self.builder.build()
            else:
                # Else we just build the part of the message
                # that was changed
                build_message()
Ejemplo n.º 19
0
class LiveBuildWindow(Gtk.Window):
    def __init__(self, block_model, pos_model, lookback, pattern_data, scaler):
        Gtk.Window.__init__(self, title='Live Build')
        self.timeout_ids = []
        self.rot_images = []
        self.lookback = lookback
        self.builder = Builder(block_model,
                               pos_model,
                               self.lookback,
                               None,
                               pattern_data,
                               scaler,
                               reset=False)
        self.track = []

        board = Gtk.Grid()

        evbox = Gtk.EventBox()
        evbox.add_events(256)
        evbox.connect('button-press-event', self.on_button_press)
        evbox.add(board)

        self.images = [[None for x in range(32)] for y in range(32)]
        self.overlays = [[None for x in range(32)] for y in range(32)]
        for i in range(32):
            for j in range(32):
                overlay = Gtk.Overlay()
                overlay.add_events(256)
                img = Gtk.Image()
                img.add_events(256)
                img.set_pixel_size(IMG_SIZE)
                img.set_property('icon-size', IMG_SIZE)
                img.connect('button_press_event', self.on_button_press)
                self.images[i][j] = img

                overlay.add(img)

                self.overlays[i][j] = overlay
                board.attach(overlay, i, j, 1, 1)

        sep = Gtk.Separator.new(Gtk.Orientation.VERTICAL)

        accept_button = Gtk.Button.new_with_label('Accept')
        accept_button.get_style_context().add_class('suggested-action')
        accept_button.set_valign(Gtk.Align.START)
        accept_button.connect('clicked', self.on_accept)

        discard_button = Gtk.Button.new_with_label('Discard')
        discard_button.get_style_context().add_class('destructive-action')
        discard_button.connect('clicked', self.on_discard)

        clear_button = Gtk.Button.new_with_label('Clear')
        clear_button.connect('clicked', self.on_clear)

        track_label = Gtk.Label()

        sidebar = Gtk.Box.new(Gtk.Orientation.VERTICAL, 12)
        sidebar.set_valign(Gtk.Align.CENTER)
        sidebar.set_vexpand(True)
        sidebar.set_hexpand(True)
        sidebar.set_margin_left(12)
        sidebar.set_margin_right(12)
        sidebar.set_margin_bottom(12)
        sidebar.set_margin_top(12)
        sidebar.add(track_label)
        sidebar.add(accept_button)
        sidebar.add(discard_button)
        sidebar.add(clear_button)

        grid = Gtk.Grid()
        grid.attach(evbox, 0, 0, 1, 1)
        grid.attach(sep, 1, 0, 1, 1)
        grid.attach(sidebar, 2, 0, 1, 1)

        self.add(grid)
        self.connect('destroy', self.on_destroy)

    def on_button_press(self, w, event):
        x = int(event.x / IMG_SIZE)
        z = int(event.y / IMG_SIZE)

        self.images[x][z].set_opacity(0.3)

    def on_clear(self, button):
        self.builder.gmap = None
        self.track = []
        self.build()

    def on_accept(self, button):
        self.track = self.builder.build(len(self.track) + 1,
                                        put_finish=False,
                                        failsafe=False)
        self.build()

    def on_discard(self, button):
        self.builder.gmap.pop()
        self.track = self.builder.build(len(self.track),
                                        put_finish=False,
                                        failsafe=False)
        self.build()

    def on_destroy(self, window):
        Gtk.main_quit()

    def add_block(self, block):
        try:
            name = bl.EDITOR_IDS[block[0]]
        except KeyError:
            return

        x = block[1]
        if x < 0:
            x = -x
        z = block[3]
        if z < 0:
            z = -z

        if x > 31:
            x = 31
        if z > 31:
            z = 31

        r = block[4]

        rot_pix = GdkPixbuf.Pixbuf.new_from_file_at_size(
            'blocks-images/arr.jpg', 12, 12)
        if r == 1:
            rot_pix = rot_pix.rotate_simple(GdkPixbuf.PixbufRotation.CLOCKWISE)
        elif r == 2:
            rot_pix = rot_pix.rotate_simple(
                GdkPixbuf.PixbufRotation.UPSIDEDOWN)
        elif r == 3:
            rot_pix = rot_pix.rotate_simple(
                GdkPixbuf.PixbufRotation.COUNTERCLOCKWISE)

        rot_img = Gtk.Image.new_from_pixbuf(rot_pix)
        rot_img.set_halign(Gtk.Align.END)
        rot_img.set_valign(Gtk.Align.END)
        self.rot_images.append(rot_img)
        self.overlays[31 - x][31 - z].add_overlay(rot_img)

        if os.path.isfile('blocks-images/{}.jpg'.format(name)):
            pix = GdkPixbuf.Pixbuf.new_from_file_at_size(
                'blocks-images/{}.jpg'.format(name), IMG_SIZE, IMG_SIZE)
            self.images[31 - x][31 - z].set_from_pixbuf(pix)
        else:
            pix = GdkPixbuf.Pixbuf.new_from_file_at_size(
                'blocks-images/empty.jpg', IMG_SIZE, IMG_SIZE)
            self.images[31 - x][31 - z].set_from_pixbuf(pix)

        self.show_all()

    def build(self):
        for tid in self.timeout_ids:
            GLib.Source.remove(tid)

        self.timeout_ids = []

        for row in self.images:
            for img in row:
                img.set_from_pixbuf(None)
                img.set_pixel_size(IMG_SIZE)
                img.set_property('icon-size', IMG_SIZE)

        for rot_img in self.rot_images:
            rot_img.destroy()

        i = 1
        for block in self.track:
            self.add_block(block)
            i += 1
Ejemplo n.º 20
0
 def ship(self):
 	builder = Builder(self.src_dir, self.dest_dir, AwsSyncer(self.storage))
     builder.build()
Ejemplo n.º 21
0
class GenerateThread(QThread):
    progress_sig = pyqtSignal(int)
    status_sig = pyqtSignal(str, bool)

    def __init__(self):
        super(GenerateThread, self).__init__()
        self.progress_bar = None
        self.map_name = None
        self.length = 0
        self.variety = 0
        self.config = None
        self.train_data = None
        self.pattern_data = None
        self.scaler = None
        self.stopped = False
        self.builder = None
        self.save_fname = None

    def progress_callback(self, completed, total):
        self.progress_sig.emit(int(completed / float(total) * 100))

    def run(self):
        self.stopped = False
        self.status_sig.emit('Initializing...', True)
        from builder import Builder
        from config import load_config
        from savegbx import save_gbx

        from keras.models import load_model

        data_path = get_resource_path('data')
        config = load_config(os.path.join(data_path, 'config.json'))

        if not self.scaler:
            self.status_sig.emit('Loading data...', True)
            with open(os.path.join(data_path, config['position_scaler']),
                      'rb') as scaler_file:
                self.scaler = pickle.load(scaler_file)

        if self.stopped:
            return

        if not self.pattern_data:
            with open(os.path.join(data_path, config['pattern_data']),
                      'rb') as pattern_file:
                self.pattern_data = pickle.load(pattern_file)

        if self.stopped:
            return

        models_path = get_resource_path('models')
        if not self.builder:
            self.status_sig.emit('Loading models...', True)
            block_model = load_model(
                os.path.join(models_path, 'block_model_300_300.h5'))
            pos_model = load_model(
                os.path.join(models_path, 'position_model_512_512_256.h5'))

            self.builder = Builder(block_model,
                                   pos_model,
                                   config['lookback'],
                                   None,
                                   self.pattern_data,
                                   self.scaler,
                                   temperature=self.variety)

        if self.stopped:
            return

        self.status_sig.emit('Building...', False)
        track = self.builder.build(self.length,
                                   verbose=False,
                                   progress_callback=self.progress_callback)

        if track and self.save_fname:
            save_gbx({
                'track_data': track,
                'map_name': self.map_name
            }, os.path.join(data_path, 'Template.Challenge.Gbx'),
                     self.save_fname)
            self.status_sig.emit('Done.', False)

    def stop(self):
        self.stopped = True
        if self.builder:
            self.builder.stop()

        self.status_sig.emit('Stopped.', False)
Ejemplo n.º 22
0
class Converter(object):
    libraries = [calculator.library, functions.library, html.library]
    elemlibraries = [elements.library]
    filetype = 'html'

    def __init__(self, manager=FileManager, context={}, config={},
                 compress=False, debug=False, optimize=False):
        self.context = Context(true=True, false=False)
        self.context.update(context)
        self.config = config
        self.manager = manager() if callable(manager) else manager
        self.compress = compress
        self.builder = Builder(debug, optimize)

    def eval(self, element):
        if element is None:
            return ''
        if not isinstance(element, Node):
            return element
        try:
            return element.evaluate(self)
        except FallThrough as e:
            return e.result

    def accepts(self, name, tag):
        function = self.function(name)
        return tag in self.function(name).receivers

    def function(self, name):
        for library in reversed(self.libraries):
            try:
                return library.get(name)
            except KeyError:
                continue
        raise ConversionError('Could not find function %s' % name,
                'Libraries searched: %s' % list(reversed(self.libraries)))

    def element(self, name):
        for library in reversed(self.elemlibraries):
            try:
                return library.get(name)
            except KeyError:
                continue
        return elements.Element

    def configuration(self, name):
        if name in self.config:
            return self.config
        import cm.config
        return getattr(cm.config, name, None)

    def join(self, lines, compress=False):
        if compress or self.compress:
            return ''.join(str(line).strip() for line in lines)
        return '\n'.join(map(str, lines))

    def build(self, filename):
        file = self.manager.input_file(filename)
        name = self.manager.relname(file)
        return self.builder.build(file.read(), name)

    def render(self, filename, context=None):
        self.context.update(context or {})
        result = self.eval(self.build(filename))
        self.context.pop()
        return result

    def convert(self, filename, outname=None, context=None):
        file = self.manager.output_file(outname or filename)
        file.write(self.render(filename, context))
        return file.name
Ejemplo n.º 23
0
class Test(unittest.TestCase):


    @classmethod
    def setUpClass(cls):
        super(Test, cls).setUpClass()
        
        WaeAgent.checkPointPath = "./testCheckPoint"

        cls.dbPath = "testDb.sqlite"
        if os.path.exists(cls.dbPath):
            os.remove(cls.dbPath)
    
    def setUp(self):
        unittest.TestCase.setUp(self)
        
        agentFactory = ConcAgentFactory()
        environmentFactory = ConcEnvironmentFactory()
        trainerFactory = WaeTrainerFactory()        
        buildParameterFactory = ConcBuildParameterFactory()
        store = Store(self.dbPath)
        logger = MyLogger(console_print=True)
        
        self.builder = Builder(trainerFactory, agentFactory, environmentFactory, store, logger)

        nIntervalSave = 1
        nEpoch = 2
        
        self.buildParameters = []
        for k1 in range(2):
            self.buildParameters.append(ConcBuildParameter(int(nIntervalSave), int(nEpoch), label="test" + str(k1)))
             
        for k1 in range(2):
            self.buildParameters.append(ConcBuildParameter(int(nIntervalSave), int(nEpoch)
                                                           , label="test case study 02a " + str(k1)
                                                           , nXi = 3
                                                           , target_casestudy = "cs02a"
                                                           ))

        for k1 in range(2):
            self.buildParameters.append(ConcBuildParameter(int(nIntervalSave), int(nEpoch)
                                                           , label="test case study 03a " + str(k1)
                                                           , nXi = 3
                                                           , target_casestudy = "cs03a"
                                                           ))

        for k1 in range(2):
            self.buildParameters.append(ConcBuildParameter(int(nIntervalSave), int(nEpoch)
                                                           , label="test case study 03b " + str(k1)
                                                           , nXi = 3
                                                           , target_casestudy = "cs03b"
                                                           ))

        for k1 in range(2):
            self.buildParameters.append(ConcBuildParameter(int(nIntervalSave), int(nEpoch)
                                                           , label="test case study 03c " + str(k1)
                                                           , nXi = 3
                                                           , target_casestudy = "cs03c"
                                                           ))
        
        self.loader = Loader(agentFactory, buildParameterFactory, environmentFactory, store)
        
    @classmethod
    def tearDownClass(cls):
        super(Test, cls).tearDownClass()
        if os.path.exists(cls.dbPath):
            os.remove(cls.dbPath)
                    
        if os.path.exists(WaeAgent.checkPointPath):
            shutil.rmtree(WaeAgent.checkPointPath)


    def test001(self):
        for buildParameter in self.buildParameters:
            assert isinstance(buildParameter, ConcBuildParameter)
            self.builder.build(buildParameter)
            
        assert isinstance(self.loader, Loader)        
        for agent, buildParameter, epoch in self.loader.load("test%", None):
            assert isinstance(agent, WaeAgent)
            assert isinstance(buildParameter, ConcBuildParameter)
Ejemplo n.º 24
0
from os import path
import os
import traceback

if __name__ == '__main__':
    parser = argparse.ArgumentParser(
        description='Prometheus - a Markdown-based HTML presentation generator'
    )
    parser.add_argument('-i', '--input', type=str, required=True)
    # parser.add_argument('-o', '--out', type=str, required=True)

    args = parser.parse_args()
    input_file_path = path.abspath(args.input)
    input_file_name = path.basename(input_file_path)
    output_file_path = path.join(os.path.dirname(__file__), 'build',
                                 input_file_name.replace('.md', '.html'))
    # print(input_file_name)
    # exit()

    print(f'Building {output_file_path}...')
    try:
        b = Builder(input_file_path, output_file_path)

        b.build()

        os.system('notify-send "Build successful"')
        print(f'Build successful')
    except Exception as e:
        os.system(f'notify-send -u critical "{e}"')

        traceback.print_exc()