Example #1
0
    def open_session(self, app, request):
        try:
            if 'session_id' in request.cookies:
                session_response = requests.get(service_uris['sessions'] + '/' + request.cookies['session_id'])
                if session_response.status_code == 200:
                    session = session_response.json()
                    if parse_datetime(session['last_used_at']) + config['website']['session_expires_after'] > datetime.now():
                        return Session(session)

            session_response = requests.post(service_uris['sessions'], json={
                'last_used_at': render_datetime(datetime.now()),
            })
            if session_response.status_code == 201:
                session = session_response.json()
                return Session(session)
        except requests.exceptions.RequestException:
            return Session({
                'id': None,
                'user_id': None,
                'data_items': [],
            })
Example #2
0
def post_to_order():
    order_items = []
    for clothes_id, quantity in flask.session['cart'].items():
        order_items.append({
            'clothes_id': int(clothes_id),
            'quantity': quantity,
        })

    try:
        order_response = requests.post(service_uris['orders'], json={
            'user_id': flask.session.user_id,
            'opened_at': render_datetime(datetime.now()),
            'items': order_items,
            'deliver_to': flask.request.form['deliver_to'],
        })
        assert order_response.status_code == 201

        del flask.session['cart']
    except requests.exceptions.RequestException:
        pass

    return flask.redirect('/orders/', code=303)
Example #3
0
 def to_json(self):
     return {
         'user_id': self.user_id,
         'last_used_at': render_datetime(datetime.now()),
         'data_items': [{'key': key, 'value': value} for key, value in self.data.items()]
     }