Exemplo n.º 1
0
def nextGame(uk, us):
    for r in ("uk", "us"):
        if r == "us":
            BEARER_TOKEN = us[0]
        else:
            BEARER_TOKEN = uk[0]
        main_url = "https://api-quiz.hype.space/shows/now?type="
        headers = {
            "Authorization": "Bearer %s" % BEARER_TOKEN,
            "x-hq-client": "Android/1.3.0"
        }
        done = False
        loops = 0
        while done == False:
            loops += 1
            if loops > 2: return (None, None)
            try:
                response_data = asyncio.get_event_loop().run_until_complete(
                    networking.get_json_response(main_url,
                                                 timeout=1.5,
                                                 headers=headers))
            except:
                print("Server response not JSON, retrying...")
                time.sleep(1)
                continue
            if "broadcast" not in response_data or response_data[
                    "broadcast"] is None:
                if "error" in response_data and response_data[
                        "error"] == "Auth not valid":
                    raise RuntimeError("Connection settings invalid")
                else:
                    try:
                        next_time = datetime.strptime(
                            response_data["nextShowTime"],
                            "%Y-%m-%dT%H:%M:%S.000Z")
                        now = time.time()
                        offset = datetime.fromtimestamp(
                            now) - datetime.utcfromtimestamp(now)

                        if r == "uk":
                            timetouk = next_time - datetime.strptime(
                                datetime.now().strftime(
                                    "%Y-%m-%dT%H:%M:%S.000Z"),
                                "%Y-%m-%dT%H:%M:%S.000Z")
                        elif r == "us":
                            timetous = next_time - datetime.strptime(
                                datetime.now().strftime(
                                    "%Y-%m-%dT%H:%M:%S.000Z"),
                                "%Y-%m-%dT%H:%M:%S.000Z")
                        done = True
                    except Exception as e:
                        print(e)
    tTo = "Time to next UK game: %s\nTime to next US game: %s" % (timetouk,
                                                                  timetouk)
    if timetouk < timetous: return ("uk", tTo)
    else: return ("us", tTo)
Exemplo n.º 2
0
    if test:
        # q = input("enter question: ")
        input("done. press enter to restart lol")
        q = "Which of these physics terms gets its name from an Indian scientist?"
        print(q)
        answers = ["Boson", "Ferrimagnetism", "Lepton"]
        # for x in range(3):
        #     answers.append(input(f"enter answer {x}: "))
        asyncio.get_event_loop().run_until_complete(
            testing.test_question(q, answers))
    else:
        print()
        try:
            response_data = asyncio.get_event_loop().run_until_complete(
                networking.get_json_response(main_url,
                                             timeout=1.5,
                                             headers=headers))
        except:
            print("Server response not JSON, retrying...")
            time.sleep(1)
            continue

        logging.info(response_data)

        if "broadcast" not in response_data or response_data[
                "broadcast"] is None:
            if "error" in response_data and response_data[
                    "error"] == "Auth not valid":
                raise RuntimeError("Connection settings invalid")
            else:
                print("Show not on.")
Exemplo n.º 3
0
        BEARER_TOKEN_US = settings[0].split("=")[1]
    except IndexError as e:
        raise e

print("Getting...")
main_url = f"https://api-quiz.hype.space/shows/now?type="
headers = {"Authorization": f"Bearer {BEARER_TOKEN_US}",
           "x-hq-client": "Android/1.3.0"}
# "x-hq-stk": "MQ==",
# "Connection": "Keep-Alive",
# "User-Agent": "okhttp/3.8.0"}

while True:
    print()
    try:
        response_data = asyncio.get_event_loop().run_until_complete(networking.get_json_response(main_url, timeout=1.5, headers=headers))
    except:
        print("Server response not JSON, retrying...")
        time.sleep(1)
        continue
    
    if "broadcast" not in response_data or response_data["broadcast"] is None:
        if "error" in response_data and response_data["error"] == "Auth not valid":
            raise RuntimeError("Connection settings invalid")
        else:
            print("Show not on.")
            next_time = datetime.strptime(response_data["nextShowTime"], "%Y-%m-%dT%H:%M:%S.000Z")
            now = time.time()
            offset = datetime.fromtimestamp(now) - datetime.utcfromtimestamp(now)
            print(f"Next show time: {(next_time + offset).strftime('%Y-%m-%d %I:%M %p')}")
            print("Prize: " + response_data["nextShowPrize"])