import flask
import json
from flask import Blueprint, request
from flask import current_app as app

from app.netedit.network import Network

network_operations = Blueprint("network_operations", __name__)

data_dir = f"{app.dotenv['DATA_DIR']}/{app.dotenv['URBANITE_CITY']}"
city = app.dotenv["URBANITE_CITY"]


@app.route("/dss/generate_bike_lanes/", methods=["POST"])
def generate_bike_lanes():
    req = request.get_json()
    # TODO fix this path to be more universal
    net = Network(city, f"{data_dir}/original_input/networks/1/network.xml")
    links = [
        l["id"]
        for l in net.add_bike_lane(
            req["geometry"], req["twoLane"], req["laneSeparation"]
        )
    ]
    return {"links": links}