from unicodedata import name from otree.api import * import requests import time import datetime class C(BaseConstants): NAME_IN_URL = 'time' PLAYERS_PER_GROUP = None NUM_ROUNDS = 1 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): name = models.IntegerField() # FUNCTIONS def getTimeStamp(): url = "https://api.thingspeak.com/channels/1815870/fields/1/last.json?api_key=TWVU33EJPKIZH9DV" res = requests.get(url) js = res.json() thingTime = js["created_at"] #formatThingTime = datetime.datetime.strptime(thingTime, '%y-%m-%dT%H:%M:%SZ') unixThingTime = time.mktime(thingTime) matlabTime = float(js["field1"]) oTreeTime = float(time.time()) diffThingOTree = oTreeTime - unixThingTime return dict(thingTime=unixThingTime, matlabTime=matlabTime, oTreeTime=oTreeTime, diffThingOTree=diffThingOTree) # PAGES class Results(Page): form_fields = [] @staticmethod def live_method(player: Player, data): resp = getTimeStamp() thingTime = resp["thingTime"] matlabTime = resp["matlabTime"] oTreeTime = resp["oTreeTime"] diffThingOTree = resp["diffThingOTree"] result = { "thingTime" : thingTime, "matlabTime" : matlabTime, "oTreeTime" : oTreeTime, "diffThingOTree" : diffThingOTree } return {0: result} page_sequence = [Results]