def load_departments(): """ Loads departments from connected Uber instance :return: """ REQUEST_HEADERS = {'X-Auth-Token': cfg.uber_authkey} # data being sent to API request_data = {'method': 'dept.list'} request = requests.post(url=cfg.api_endpoint, json=request_data, headers=REQUEST_HEADERS) response = json.loads(request.text) response = response['result'].items() # print('loading departments') session = models.new_sesh() for dept in response: try: mydept = session.query(Department).filter_by(id=dept[0]).one() if not mydept.name == dept[1]: mydept.name = dept[1] except sqlalchemy.orm.exc.NoResultFound: mydept = Department() mydept.id = dept[0] mydept.name = dept[1] session.add(mydept) session.commit() session.close() return
def load_departments(): """ Loads departments from connected Uber instance :return: """ REQUEST_HEADERS = {'X-Auth-Token': cfg.uber_authkey} request_data = {'method': 'dept.list'} request = requests.post(url=cfg.api_endpoint, json=request_data, headers=REQUEST_HEADERS) response = json.loads(request.text) response = response['result'].items() session = models.new_sesh() for dept in response: try: mydept = session.query(Department).filter_by(id=dept[0]).one() if not mydept.name == dept[1]: mydept.name = dept[1] except sqlalchemy.orm.exc.NoResultFound: mydept = Department() mydept.id = dept[0] mydept.name = dept[1] session.add(mydept) request_data = {'method': 'dept.jobs', "params": {"department_id": dept[0]}} request = requests.post(url=cfg.api_endpoint, json=request_data, headers=REQUEST_HEADERS) dept_details = json.loads(request.text) # this checks if changed before updating because my memory tells me # fewer changed records makes the SQL commit faster if not mydept.is_shiftless == dept_details['result']['is_shiftless']: mydept.is_shiftless = dept_details['result']['is_shiftless'] session.commit() session.close() return