コード例 #1
0
def list_identifiers() -> str:
    text = f"*Available restaurants:*\n"
    for entry in main.list_restaurants():
        text += f'- {entry["name"]}: `{entry["identifier"]}`\n'
    text += "- Solna: `solna`\n"
    text += "- Uppsala: `uppsala`\n"
    return text
コード例 #2
0
def list_restaurants():
    return flask.jsonify({
        "restaurants":
        main.list_restaurants(),
        "url":
        flask.url_for("list_restaurants", _external=True),
    })
コード例 #3
0
def handle_slack_request():
    import logging
    logging.error(flask.request.form['text'])
    command_text = flask.request.form['text']
    identifiers = command_text.split()
    available = [entry['identifier'] for entry in main.list_restaurants()]
    regions = ('ki', 'bmc', 'uu', 'uppsala', 'solna')

    text = ''
    for identifier in identifiers:
        if identifier not in available and identifier.lower() not in regions:
            text = f'*Available restaurants:*\n'
            for entry in main.list_restaurants():
                text += f'- {entry["name"]}: `{entry["identifier"]}`\n'
            break
        elif identifier.lower() in regions:
            if identifier.lower() in ('solna', 'ki'):
                new_ids = [
                    entry['identifier'] for entry in main.list_restaurants()
                    if entry['campus'] == 'Solna'
                ]
            else:
                new_ids = [
                    entry['identifier'] for entry in main.list_restaurants()
                    if entry['campus'] == 'Uppsala'
                ]
            for ident in new_ids:
                restaurant_data = dict(main.get_restaurant(ident))
                text += f'*{restaurant_data["title"]}*\n'
                for dish in restaurant_data['menu']:
                    text += f'- {dish}\n'
        else:
            restaurant_data = dict(main.get_restaurant(identifier))
            text += f'*{restaurant_data["title"]}*\n'
            for dish in restaurant_data['menu']:
                text += f'- {dish}\n'

    response = {
        "blocks": [{
            "type": "section",
            "text": {
                "type": "mrkdwn",
                "text": text
            }
        }]
    }
    return flask.jsonify(response)
コード例 #4
0
def handle_slack_command():
    command_text = flask.request.form["text"]
    identifiers = command_text.split()
    available = [entry["identifier"] for entry in main.list_restaurants()]
    regions = ("ki", "bmc", "uu", "uppsala", "solna")

    text = ""
    for identifier in identifiers:
        if identifier in available:
            restaurant_data = dict(main.get_restaurant(identifier))
            text += f'*{restaurant_data["title"]}*\n'
            for dish in restaurant_data["menu"]:
                text += f"- {dish}\n"
        elif identifier.lower() in regions:
            if identifier.lower() in ("solna", "ki"):
                new_ids = [
                    entry["identifier"] for entry in main.list_restaurants()
                    if entry["campus"] == "Solna"
                ]
            else:
                new_ids = [
                    entry["identifier"] for entry in main.list_restaurants()
                    if entry["campus"] == "Uppsala"
                ]
            for ident in new_ids:
                restaurant_data = dict(main.get_restaurant(ident))
                text += f'*{restaurant_data["title"]}*\n'
                for dish in restaurant_data["menu"]:
                    text += f"- {dish}\n"
        else:
            text = list_identifiers()
            break
    if not identifiers:
        text = list_identifiers()

    response = {
        "blocks": [{
            "type": "section",
            "text": {
                "type": "mrkdwn",
                "text": text
            }
        }]
    }
    return flask.jsonify(response)
コード例 #5
0
def api_list_restaurants():
    return jsonify(main.list_restaurants())
コード例 #6
0
ファイル: flask_app.py プロジェクト: andersmoldin/lunch-menu
def nbis_api_list_restaurants():
    return jsonify({'restaurants': main.list_restaurants()})
コード例 #7
0
def list_restaurants():
    return jsonify({'restaurants': main.list_restaurants()})