Exemplo n.º 1
0
def put_library():
    """
    Create favorite library on record. It must be unique on one user record.
    """
    body = request.get_json()
    id_token = body.get("idToken")
    libid = body.get("libid")
    logger.info(body)
    document, status_code = get_resource(resource_name="ALL", id_token=id_token)

    if status_code == 200:
        registered_favolib = document["favolib"]
        registered_libid = list(map(lambda favolib: favolib["libid"], registered_favolib))

        if libid in registered_libid:
            # 406: not acceptable
            return jsonify({"status": 406, "message": "This library is already registered."}), 406
        else:
            libinfo = db.library.find(libid)

            lib_doc = dict()
            lib_doc["timestamp"] = int(time.time())
            lib_doc["formal"] = libinfo["formal"]
            lib_doc["libid"] = libinfo["libid"]
            lib_doc["systemid"] = libinfo["systemid"]

            logger.debug(f"additional favorite library: {lib_doc}")
            document["favolib"].append(lib_doc)

            resource, status_code = create_resource(document, id_token)
            return jsonify(resource), status_code

    else:
        return jsonify({"status": 500, "message": "api server error"}), 500
Exemplo n.º 2
0
def put_options():
    """
    Create favorite library on record. It must be unique on one user record.
    """
    body = request.get_json()
    id_token = body.get("idToken")
    options = body.get("items")
    logger.info(body)
    document, status_code = get_resource(resource_name="ALL", id_token=id_token)

    if status_code == 200:
        registered_options = document["options"]
        for key, val in options.items():
            registered_options[key] = val

        document["options"] = registered_options
        logger.debug(document)
        resource, status_code = create_resource(document, id_token)

        return jsonify(resource), status_code

    else:
        return jsonify({"status": 500, "message": "api server error"}), 500
Exemplo n.º 3
0
def get_history():
    idToken = request.args.get("idToken")
    resource, status_code = get_resource("history", idToken)
    return jsonify(resource), status_code
Exemplo n.º 4
0
def get_option():
    title = ""
    isbn = ""
    idToken = request.args.get("idToken")
    resource, status_code = get_resource("options", idToken)

    links_names = {
        # "calil": {
        #    "link": f"https://calil.jp/book/{isbn}",
        #    "displayName": "詳細"
        #},
        "google": {
            "link": f"https://www.google.com/search?q={isbn}",
            "displayName": "Google"
        },
        "honto": {
            "link": f"https://honto.jp/netstore/search_10{title}.html",
            "displayName": "honto"
        },
        "amazon": {
            "link": f"https://amazon.co.jp/s?k={title}",
            "displayName": "Amazon"
        },
        "rakuten": {
            "link": f"https://search.rakuten.co.jp/search/mall/{title}/",
            "displayName": "楽天"
        },
        "yodobashi": {
            "link": f"https://www.yodobashi.com/category/81001/?word={isbn}",
            "displayName": "ヨドバシドットコム"
        },
        "yahoo": {
            "link": f"https://shopping.yahoo.co.jp/search?&p={title}",
            "displayName": "ヤフーショッピング"
        },
        "mercari": {
            "link":
            f"https://www.mercari.com/jp/search/?keyword={title}&category_root=5",
            "displayName": "メルカリ"
        },
        "rakuma": {
            "link": f"https://fril.jp/s?query={title}&category_id=733",
            "displayName": "ラクマ"
        },
        "paypayfleamarket": {
            "link":
            f"https://paypayfleamarket.yahoo.co.jp/search/{title}?categoryIds=10002",
            "displayName": "PayPayフリマ"
        },
    }
    display_name = {
        key: values["displayName"]
        for key, values in links_names.items()
    }

    resource["items"].pop("calil")
    res = {
        "items": {
            "options": resource["items"],
            "displayName": display_name
        }
    }
    logger.debug(res)

    return jsonify(res), status_code
Exemplo n.º 5
0
def get_library():
    idToken = request.args.get("idToken")
    resource, status_code = get_resource("favolib", idToken)
    return jsonify(resource), status_code
Exemplo n.º 6
0
def get_bookmark():
    idToken = request.args.get("idToken")
    resource, status_code = get_resource("bookmark", idToken)
    return jsonify(resource), status_code