예제 #1
0
def details(charm_or_bundle_name, series_or_version=None, version=None):
    reference = None
    try:
        reference = references.Reference.from_jujucharms_url(request.path[1:])
    except ValueError:
        pass

    entity = None
    if reference:
        entity = models.get_charm_or_bundle(reference)

    if entity:
        try:
            response = requests.get(
                (f"https://api.snapcraft.io/v2/charms/info/"
                 f"{charm_or_bundle_name}"))
            exists_in_charmhub = response.status_code == 200
        except Exception:
            exists_in_charmhub = False

        template = "store/{}-details.html".format(
            "charm" if entity.is_charm else "bundle")
        return render_template(
            template,
            context={
                "entity": entity,
                "expert": get_experts(entity.owner),
                "charm_bundle_name": charm_or_bundle_name,
                "exists_in_charmhub": exists_in_charmhub,
            },
        )
    else:
        return abort(404, "Entity not found {}".format(charm_or_bundle_name))
예제 #2
0
def experts_omnivector():
    EXPERTS_RETURN = os.environ.get("EXPERTS_RETURN",
                                    default="https://jaas.ai")
    return render_template(
        "jaasai/experts/omnivector.html",
        expertThanksPage=EXPERTS_RETURN,
        context={"expert": get_experts("omnivector")},
    )
예제 #3
0
def experts_tengu():
    EXPERTS_RETURN = os.environ.get("EXPERTS_RETURN",
                                    default="https://jaas.ai")
    return render_template(
        "jaasai/experts/tengu.html",
        expertThanksPage=EXPERTS_RETURN,
        context={"expert": get_experts("tengu-team")},
    )
예제 #4
0
def experts_spicule():
    EXPERTS_RETURN = os.environ.get("EXPERTS_RETURN",
                                    default="https://jaas.ai")
    return render_template(
        "jaasai/experts/spicule.html",
        expertThanksPage=EXPERTS_RETURN,
        context={"expert": get_experts("spiculecharms")},
    )
예제 #5
0
파일: views.py 프로젝트: steverydz/jaas.ai
def details(charm_or_bundle_name, series_or_version=None, version=None):
    reference = None
    try:
        reference = references.Reference.from_jujucharms_url(request.path[1:])
    except ValueError:
        pass

    entity = None
    if reference:
        entity = models.get_charm_or_bundle(reference)

    if entity:
        template = "store/{}-details.html".format(
            "charm" if entity.is_charm else "bundle"
        )
        return render_template(
            template,
            context={"entity": entity, "expert": get_experts(entity.owner)},
        )
    else:
        return abort(404, "Entity not found {}".format(charm_or_bundle_name))
예제 #6
0
def store():
    return render_template("store/store.html",
                           context={"experts": get_experts()})
예제 #7
0
def experts():
    return render_template("jaasai/experts.html",
                           context={"experts": get_experts()})
예제 #8
0
def experts_tengu():
    return render_template(
        "jaasai/experts/tengu.html",
        context={"expert": get_experts("tengu-team")},
    )