Example #1
0
def html_datasets(provider=None):

    query_providers = {"enable": True}
    projection_provider = {"_id": False, 
                           "name": True, "slug": True}

    query_datasets = {"enable": True}
    projection_datasets = {"_id": False, 
                           "name": True, "slug": True, 
                           "dataset_code": True, "provider_name": True}
    
    if provider:
        provider_doc = queries.col_providers().find_one({"slug": provider})
        query_datasets["provider_name"] = provider_doc["name"]
        query_providers["name"] = provider_doc["name"]

    providers = dict([(doc["name"], doc) for doc in queries.col_providers().find(query_providers, 
                                                                                projection_provider)])
    
    query_datasets["provider_name"] = {"$in": list(providers.keys())}
    datasets = queries.col_datasets().find(query_datasets, projection_datasets)
    
    docs = {}
    for dataset in datasets:
        provider_name = dataset["provider_name"]
        if not provider_name in docs:
            docs[provider_name] = {"provider": providers[provider_name],
                                   "datasets": []}
        docs[provider_name]["datasets"].append(dataset)
    
    return render_template("datasets.html", docs=docs)
Example #2
0
def providers_list():
    query = {"enable": True}
    projection = {"_id": False}
    docs = [doc for doc in queries.col_providers().find(query, projection)]
    return render_template("html/generic-list.html",
                           docs=docs,
                           fields=[("long_name", "Name"), ("region", "Region"),
                                   ("website", "Web Site")])
Example #3
0
def providers_list():
    query = {"enable": True}
    projection = {"_id": False}
    docs = [doc for doc in queries.col_providers().find(query, projection)]
    return render_template("html/generic-list.html", 
                           docs=docs, 
                           fields=[("long_name", "Name"), 
                                   ("region", "Region"), 
                                   ("website", "Web Site")])
Example #4
0
def providers_list():
    query = {"enable": True}
    projection = {
        "_id": False,
        "lock": False,
        "metadata": False,
        "enable": False,
        "version": False
    }
    docs = [doc for doc in queries.col_providers().find(query, projection)]
    return json_tools.json_response(docs)
Example #5
0
def html_datasets(provider=None):

    query_providers = {"enable": True}
    projection_provider = {"_id": False, "name": True, "slug": True}

    query_datasets = {"enable": True}
    projection_datasets = {
        "_id": False,
        "name": True,
        "slug": True,
        "dataset_code": True,
        "provider_name": True
    }

    if provider:
        provider_doc = queries.col_providers().find_one({"slug": provider})
        query_datasets["provider_name"] = provider_doc["name"]
        query_providers["name"] = provider_doc["name"]

    providers = dict([(doc["name"], doc)
                      for doc in queries.col_providers().find(
                          query_providers, projection_provider)])

    query_datasets["provider_name"] = {"$in": list(providers.keys())}
    datasets = queries.col_datasets().find(query_datasets, projection_datasets)

    docs = {}
    for dataset in datasets:
        provider_name = dataset["provider_name"]
        if not provider_name in docs:
            docs[provider_name] = {
                "provider": providers[provider_name],
                "datasets": []
            }
        docs[provider_name]["datasets"].append(dataset)

    return render_template("datasets.html", docs=docs)
Example #6
0
def providers_list_keys():
    docs = queries.col_providers().distinct("slug", filter={"enable": True})
    return json_tools.json_response(docs)
Example #7
0
def html_providers():
    query = {"enable": True}
    projection = {"_id": False, "name": True, "slug": True, "enable": True}
    docs = queries.col_providers().find(query, projection)
    return render_template("providers.html", providers=docs)
Example #8
0
def get_providers():
    query = {"enable": True}
    projection = {"_id": False}
    docs = queries.col_providers().find(query, projection)
    return json_response(json_util.dumps(docs, default=json_util.default))
Example #9
0
def providers_list_keys():
    docs = queries.col_providers().distinct("slug", filter={"enable": True})
    return json_tools.json_response(docs)
Example #10
0
def html_providers():
    query = {"enable": True}
    projection = {"_id": False, "name": True, "slug": True, "enable": True}
    docs = queries.col_providers().find(query, projection)
    return render_template("providers.html", providers=docs)
Example #11
0
def providers_list():
    query = {"enable": True}
    projection = {"_id": False, "lock": False, "metadata": False, 
                  "enable": False, "version": False}
    docs = [doc for doc in queries.col_providers().find(query, projection)]
    return json_tools.json_response(docs)
Example #12
0
def get_providers():
    query = {"enable": True}
    projection = {"_id": False}
    docs = queries.col_providers().find(query, projection)
    return json_response(json_util.dumps(docs, default=json_util.default))