Exemple #1
0
 def on_app_requested(self, app_id) -> str or int:
     db = DataStore(DataStore.get_db_connection(self._db_conn_str))
     app = db.get_app(app_id)
     if app:
         return json.dumps(app.json())
     else:
         return 404
def show_map_callback():
    for p in DataStore.instance().data["all_players"]:
        conn = DataStore.instance().data["account_connection"][p.get_account()]
        for item in show_map(p):
            dest, msg = item
            if msg["map"] != {}:
                conn.push(dest, msg)
Exemple #3
0
def show_map_callback():
    for p in DataStore.instance().data["all_players"]:
        conn = DataStore.instance().data["account_connection"][p.get_account()]
        for item in show_map(p):
            dest, msg = item
            if msg["map"] != {}:
                conn.push(dest, msg)
Exemple #4
0
 def on_config_update(self, app_id: str, config: str) -> int:
     """
     Config params: data_series_var,
     :param app_id:
     :param config:
     :return:
     """
     db = DataStore(DataStore.get_db_connection(self._db_conn_str))
     db.apply_config(app_id, json.loads(config))
     return 201
Exemple #5
0
def login_handler(conn):
    while True:
        signed_username = yield
        signed_username = signed_username.replace('"', '')
        username = tornado.web.decode_signed_value(conn.application.settings["cookie_secret"], "user", signed_username)
        print(username.decode("utf-8"))
        acc = get(username.decode("utf-8"))
        if not acc == None:
            DataStore.instance().data["account_connection"][acc] = conn
            p = DataStore.instance().data["default_player"]
            DataStore.instance().add_player(p)
            p.set_account(acc)
            conn.set_data_handler(command_handler(p, conn))
Exemple #6
0
def login_handler(conn):
    while True:
        signed_username = yield
        signed_username = signed_username.replace('"', '')
        username = tornado.web.decode_signed_value(
            conn.application.settings["cookie_secret"], "user",
            signed_username)
        print(username.decode("utf-8"))
        acc = get(username.decode("utf-8"))
        if not acc == None:
            DataStore.instance().data["account_connection"][acc] = conn
            p = DataStore.instance().data["default_player"]
            DataStore.instance().add_player(p)
            p.set_account(acc)
            conn.set_data_handler(command_handler(p, conn))
Exemple #7
0
def show_map(p, size = (33, 20), args = None):
    pos = p.location
    cache_map = generate(pos, size, DataStore.instance().data["game_map"])
    norm_map = normalize(cache_map, p.get_location(), size)
    diff_map = diff(p.cache_map, norm_map)
    p.set_cache_map(norm_map)
    
    return ("gamemap", {"map": diff_map, "dir":p.direction}),
Exemple #8
0
    def on_data_received(self, app_id: str, payload: str, accept_type: str, created: str = None) -> int:

        if created:
            try:
                created = float(created)
            except ValueError:
                return 400

        db = DataStore(DataStore.get_db_connection(self._db_conn_str))
        app_obj = db.get_app(app_id)
        entry_data = payload
        if not entry_data:
            return 400

        if not app_obj:
            db.create_app(app_id)

        # Either its binary or its text, we don't care for anything else when it comes to storage
        if accept_type == self._BINARY:
            return 501
        else:
            db.add_app_entry(app_id, entry_data, datetime.utcfromtimestamp(created) if created else created)
            return 200
if __name__ == "__main__":
    input_size = utils.num_letters
    hidden_size = 200
    output_size = utils.num_letters
    learnin_rate = 0.005
    n_epochs = 500000
    print_every = 1000


    # model = CustomCGRCell(input_size, hidden_size, output_size)
    model = torch.load("trained_models/pokemon_generator-500000-epochs.pt")
    criterion = nn.NLLLoss()
    optimizer = torch.optim.SGD(model.parameters(), lr=learnin_rate)


    data_store = DataStore("data/data.txt")
    data_store.read_raw_data()
    pokemons = data_store.raw_data

    total_loss = 0

    for epoch in range(1, 1 + n_epochs):
        loss = train()
        total_loss += loss 

        if epoch % print_every == 0:
            print("Training {}% --> Current Loss = {}".format((epoch / n_epochs) * 100, total_loss/print_every))
            total_loss = 0

    
    print("Training Complete")
Exemple #10
0
def inventory_callback():
    for p in DataStore.instance().data["all_players"]:
        conn = DataStore.instance().data["account_connection"][p.get_account()]
        dest, msg = inv(p)
        conn.push(dest, msg)
        
Exemple #11
0
 def on_app_delete(self, app_id: str) -> int:
     db = DataStore(DataStore.get_db_connection(self._db_conn_str))
     db.delete_app(app_id)
     return 204
Exemple #12
0
 def on_entries_requested_limit_min(self, app_id: str, limit_min: int) -> str:
     db = DataStore(DataStore.get_db_connection(self._db_conn_str))
     return json.dumps(list(map(lambda x: x.json(), db.get_app_entries_limit_time(app_id, limit_min))))
Exemple #13
0
 def on_all_entries_requested(self, app_id: str) -> str:
     db = DataStore(DataStore.get_db_connection(self._db_conn_str))
     return json.dumps(list(map(lambda x: x.json(), db.get_all_app_entries(app_id))))
Exemple #14
0
 def setUp(self) -> None:
     store = DataStore(DBConnection(self.get_db_conn()))
     for app in store.get_apps():
         store.delete_app(app.app_id)
Exemple #15
0
 def on_apps_requested(self) -> str:
     db = DataStore(DataStore.get_db_connection(self._db_conn_str))
     return json.dumps(list(map(lambda x: x.json(), db.get_apps())))
}

application = tornado.web.Application([
    (r"/", MainHandler),
    (r"/websocket", EchoWebSocket),
    (r"/login", LoginHandler),
], **settings)


if __name__ == "__main__":
    ##Init
    
    gmap = GameMap(generate_sector, DataMap)
    
    #Global state
    DataStore.instance().data["game_map"] = gmap
    DataStore.instance().data["default_player"] = Player("Nicholas", (0, 0), gmap)
    DataStore.instance().data["default_player"].add_upgrade(Jetpack()) 
    DataStore.instance().data["all_players"] = []
    DataStore.instance().data["account_connection"] = {}
    
    
    application.listen(8888)
    gravity = tornado.ioloop.PeriodicCallback(gravity_callback, 500, tornado.ioloop.IOLoop.instance())
    send_map = tornado.ioloop.PeriodicCallback(show_map_callback, 50, tornado.ioloop.IOLoop.instance())
    send_inventory = tornado.ioloop.PeriodicCallback(inventory_callback, 1000, tornado.ioloop.IOLoop.instance())
    #db_dump = tornado.ioloop.PeriodicCallback(dump_to_db, 5000, tornado.ioloop.IOLoop.instance())
    #gravity.start()
    send_inventory.start()
    send_map.start()
    #db_dump.start()
Exemple #17
0
def inventory_callback():
    for p in DataStore.instance().data["all_players"]:
        conn = DataStore.instance().data["account_connection"][p.get_account()]
        dest, msg = inv(p)
        conn.push(dest, msg)
    "login_url": "/login",
}

application = tornado.web.Application([
    (r"/", MainHandler),
    (r"/websocket", EchoWebSocket),
    (r"/login", LoginHandler),
], **settings)

if __name__ == "__main__":
    ##Init

    gmap = GameMap(generate_sector, DataMap)

    #Global state
    DataStore.instance().data["game_map"] = gmap
    DataStore.instance().data["default_player"] = Player(
        "Nicholas", (0, 0), gmap)
    DataStore.instance().data["default_player"].add_upgrade(Jetpack())
    DataStore.instance().data["all_players"] = []
    DataStore.instance().data["account_connection"] = {}

    application.listen(8888)
    gravity = tornado.ioloop.PeriodicCallback(gravity_callback, 500,
                                              tornado.ioloop.IOLoop.instance())
    send_map = tornado.ioloop.PeriodicCallback(
        show_map_callback, 50, tornado.ioloop.IOLoop.instance())
    send_inventory = tornado.ioloop.PeriodicCallback(
        inventory_callback, 1000, tornado.ioloop.IOLoop.instance())
    #db_dump = tornado.ioloop.PeriodicCallback(dump_to_db, 5000, tornado.ioloop.IOLoop.instance())
    #gravity.start()
Exemple #19
0
 def setUp(self) -> None:
     super().setUp()
     self.database = DataStore(DBConnection(self.get_db_conn()))
Exemple #20
0
def gravity_callback():
    for p in DataStore.instance().data["all_players"]:
        gravity(p)