Esempio n. 1
0
    def wait(self):
        end = 2145888000  # 2038-01-01
        for t in self.exp_time:
            if t is not None and t < end:
                end = t
        utils.random_sleep_until(end - 50, end + 30, 60)

        if time.time() > self.stop_time:
            print("Reach running hours limit.")
            return None

        if datetime.datetime.now().hour < 6 or datetime.datetime.now(
        ).hour > 2:
            print('Skipping midnight to avoid possible \'201\'s')
            LOCAL_TZ = datetime.datetime.now(
                datetime.timezone(datetime.timedelta(0))).astimezone().tzinfo
            target = datetime.datetime.now().replace(tzinfo=LOCAL_TZ,
                                                     hour=6,
                                                     minute=0)
            utils.random_sleep_until(calendar.timegm(target.utctimetuple()))

        # Clear API server to avoid affect by player's action.
        api_server.empty()
        request = game.dock_back_to_port()
        utils.random_sleep(2)
        self.decks = request.body["api_deck_port"]
        utils.random_sleep(2)
        return self.port
Esempio n. 2
0
def run(action, args):
    try:
        func = ACTIONS.get(action)
        if callable(func):
            api_server.empty()
            if issubclass(func, BaseDFA):
                func(*args).run()
            else:
                func(*args)
        else:
            print("Unknown command:", cmd)
    except KeyboardInterrupt:
        print()  # newline
    except:
        traceback.print_exc()
Esempio n. 3
0
    def wait(self):
        end = 2145888000  # 2038-01-01
        for t in self.exp_time:
            if t is not None and t < end:
                end = t
        utils.random_sleep_until(end - 50, end + 30, 60)

        if time.time() > self.stop_time:
            print("Reach running hours limit.")
            return None

        # Clear API server to avoid affect by player's action.
        api_server.empty()
        request = game.dock_back_to_port()
        self.decks = request.body["api_deck_port"]
        return self.port