コード例 #1
0
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
コード例 #2
0
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