def error(self, message): if self.row and self.row.get("bearer"): retry = (settings.get_url() + "sheet?state=" + self.guid + "&createsheet=1") else: retry = settings.get_url() + "sheet" if not isinstance(message, str): message = json.dumps(message) error_url = "error.html?error={}&retry={}".format( urllib.parse.quote(message), urllib.parse.quote(retry)) self.start_response('302 Found', [('Location', error_url)]) return []
def application(env, start_response): start_response('200 OK', [('Content-Type','text/html')]) d = parse_qs(env["QUERY_STRING"]) if "get_config" in d: guid = guidhelper.new_guid() return [json.dumps({ "new_guid": guidhelper.new_guid(), "client_id": settings.get_client_id(), "oauth_url": settings.get_oauth_url(), "url": settings.get_url(), "dev_url": settings.get_dev_url(), "sandbox_url": settings.get_sandbox_url(), "prod_url": settings.get_prod_url(), }).encode()] if "guid" not in d: return error("Parameter guid required") guid = d["guid"][0] if not guidhelper.validate_uuid4(guid): return error("Parameter guid must be a valid guid") code = d["code"][0] if "code" in d else "" row = db.get_row(guid) if not row: row = db.new_row(guid) if code and not row["code"]: row["code"] = code db.put_row(row) if not row.get("bearer"): if not code: return error("Parameter code required for guid without bearer") url = settings.get_token_url() + "v1/token" response = requests.post(url, params={ "grant_type": "authorization_code", "code": code, "redirect_uri": settings.get_url(), "client_id": settings.get_client_id(), "client_secret": settings.get_client_secret() }).json() if "error" in response: return [json.dumps(response).encode()] if "access_token" not in response: return [json.dumps({"error": "No access_token returned", "raw_reply": response}).encode()] row["bearer"] = response["access_token"] db.put_row(row) print("Creating thread...") t = threading.Thread(target=prefetch_session, args=(row,)) print("Starting thread...") t.start() print("Thread running.") return [json.dumps({"success": "success"}).encode()]
def main(): numOfSamples = 3 tempSamples = [] tempFinal = [] for i in range(numOfSamples): tempSamples.append(getTemps()) tempFinal.append(0.0) for tempSample in tempSamples: tempSampleCount = 0 for temp in tempSample: tempFinal[tempSampleCount] = tempFinal[tempSampleCount] + temp tempSampleCount = tempSampleCount + 1 tempSampleCount = 0 for temp in tempFinal: tempFinal[tempSampleCount] = tempFinal[tempSampleCount] / numOfSamples tempSampleCount = tempSampleCount + 1 tempFinalText = json.dumps(tempFinal) print(tempFinalText) url = settings.get_url() res = requests.post('http://' + url + '/smomo/setdata', json=tempFinalText) if res.ok: print(res.json())
def get_api_data(firm_id, for_firm=True): level = 'firm' if for_firm else 'lawyers' url = settings.get_url(firm_id, for_firm) api_data = fetching_results_from_api(url) if api_data: save_json_to_file(f"data/{level}_{firm_id}.csv", api_data)
def __init__(self, web_driver): global driver global page_url page_url = settings.get_url() + "sign-in" super(SignIn, self).__init__(web_driver, url=page_url) driver = BasePage._driver
def request_bunq_oauth(self): url = (settings.get_oauth_url() + 'auth?' + 'response_type=code&' + 'client_id=' + settings.get_client_id() + '&' + 'redirect_uri=' + settings.get_url() + 'sheet&' + 'state=' + guidhelper.new_guid()) self.start_response('302 Found', [('Location', url)]) return []
def create_sheet(self, code): url = self.get_url() flow = self.get_flow() flow.fetch_token(authorization_response=url) credentials = flow.credentials service = discovery.build('sheets', 'v4', credentials=credentials) spreadsheet = {'properties': {'title': "Easylist"}} spreadsheet = service.spreadsheets().create( body=spreadsheet, fields='spreadsheetId,spreadsheetUrl').execute() spreadsheet_id = spreadsheet.get("spreadsheetId") csv_url = settings.get_url() + "generate?guid=" + self.guid body = {"values": [['=importdata("' + csv_url + '")']]} request = service.spreadsheets().values().update( spreadsheetId=spreadsheet_id, range="A1", valueInputOption="USER_ENTERED", body=body) response = request.execute() body = { "requests": [{ "repeatCell": { "range": { "sheetId": 0, "startColumnIndex": 2, "endColumnIndex": 3 }, "cell": { "userEnteredFormat": { "numberFormat": { "type": "DATE" } } }, "fields": "userEnteredFormat.numberFormat" } }] } request = service.spreadsheets().batchUpdate( spreadsheetId=spreadsheet_id, body=body) response = request.execute() sheet_url = spreadsheet.get("spreadsheetUrl") self.start_response('302 Found', [('Location', sheet_url)]) return []
def create_bunq_installation(self, code): url = settings.get_token_url() + "v1/token" response = requests.post(url, params={ "grant_type": "authorization_code", "code": code, "redirect_uri": settings.get_url() + "sheet", "client_id": settings.get_client_id(), "client_secret": settings.get_client_secret() }).json() if "error" in response: return self.error(response) if "access_token" not in response: return self.error({ "error": "No access_token returned", "raw_reply": response }) self.row = db.new_row(self.guid) self.row["bearer"] = response["access_token"] db.put_row(self.row) return self.request_google_oauth()
import thread import time import requests import json import settings import logging logging.basicConfig(filename='TiltLog.log', level=logging.INFO, format='%(asctime)s %(levelname)s - %(message)s', datefmt='%m/%d/%Y %I:%M:%S %p') while True: logging.info('TiltLog Start') logging.info('URL: %s', settings.get_url()) logging.info('Loop Timeout: %s', settings.get_looptimeout()) logging.info('Debug: %s', settings.get_debug()) try: tiltHydrometer = TiltHydrometer.TiltHydrometerManager(True, 60, 40) tiltHydrometer.loadSettings() tiltHydrometer.start() debug = settings.get_debug() while True: time.sleep(settings.get_looptimeout()) valuesToSend = []
def __init__(self, web_driver): global driver self.page_url = settings.get_url() + '#welcome/create-test-wizard/http' super(Welcome, self).__init__(web_driver, url=self.page_url) driver = BasePage._driver
def __init__(self, web_driver): global driver global page_url self.page_url = settings.get_url() super(AppMain, self).__init__(web_driver, url=self.page_url) driver = BasePage._driver
import thread import time import requests import json import settings tiltHydrometer = TiltHydrometer.TiltHydrometerManager(True, 60, 40) tiltHydrometer.loadSettings() tiltHydrometer.start() time.sleep(10) valuesToSend = [] value = tiltHydrometer.getValue('Black') tiltHydrometer.stop() print 'Temperature' print value.temperature print 'Gravity' print value.gravity valuesToSend = [value.temperature, value.gravity] valuesToSendText = json.dumps(valuesToSend) url = settings.get_url() res = requests.post('http://' + url + '/tilt/setdata', json=valuesToSendText) if res.ok: print(res.json())
def get_flow(self): flow = google_auth_oauthlib.flow.Flow.from_client_config( settings.get_app_credentials(), ['https://www.googleapis.com/auth/drive.file']) flow.redirect_uri = settings.get_url() + "sheet" return flow