Skip to content

Instantly share code, notes, and snippets.

@simonjisu
Last active September 25, 2021 12:27
Show Gist options
  • Save simonjisu/c63f28d9740f3577a2a51ee2337790b3 to your computer and use it in GitHub Desktop.
Save simonjisu/c63f28d9740f3577a2a51ee2337790b3 to your computer and use it in GitHub Desktop.
Parser Code in Request
# Python
import json
import requests
class Parser(object):
def __init__(self, token: str, base_url: str, verbose=0):
if base_url[-1] == '/':
base_url = base_url[:-1]
self.base_url = base_url
self.content_type = 'application/json'
self.token = token
self.verbose = verbose
def post(self, x, headers=None, data=None):
if x[0] != '/':
x = '/' + x
url = self.base_url + x
response = requests.post(url, headers=headers, data=data)
if self.verbose:
print(response.status_code)
return response.json()
def get(self, x, headers=None, params=None):
if x[0] != '/':
x = '/' + x
url = self.base_url + x
response = requests.get(url, headers=headers, params=params)
if self.verbose:
print(response.status_code)
return response.json()
def put(self, x, headers=None, data=None):
if x[0] != '/':
x = '/' + x
url = self.base_url + x
response = requests.put(url, headers=headers, data=data)
if self.verbose:
print(response.status_code)
return response.json()
# token = 'e189380f4eed25fb71016b91800f6654'
# base_url = f'https://kox947ka1a.execute-api.ap-northeast-2.amazonaws.com/prod/users'
# problem = 1
# parser = Parser(token=token, base_url=base_url, verbose=1)
# post_headers = {
# 'X-Auth-Token': parser.token,
# 'Content-Type': parser.content_type,
# }
# start_res = parser.post('/start', headers=post_headers, data=json.dumps({'problem': 1}))
# auth_key = start_res['auth_key']
# headers = {
# 'Authorization': auth_key,
# 'Content-Type': parser.content_type,
# }
# loc_res = parser.get('/locations', headers=headers)
# truck_res = parser.get('/trucks', headers=headers)
# sim_res = parser.put('/simulate', headers=headers, data=json.dumps({'commands': [{'truck_id': 0, 'command': [2, 5, 4, 1, 6]}]}))
# score_res = parser.get('/score', headers=headers)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment