Beispiel #1
0
    def title(self, **kwargs):

        title = getattr(self, "title_{}".format(g.locale))
        title = self.format_text(title, kwargs)


        if g.locale == "pt":
            if "wld" in title and "bra" in title:
                if self.imports:
                    if "comercializam" not in title:
                        if title.index("wld") > title.index("bra"):
                            title = title.replace("wld", "temp", 2)
                            title = title.replace("bra", "wld", 2)
                            title = title.replace("temp", "bra", 2)
                    else:
                        title = title.replace("comercializam <wld_para>", "importam <wld_de>")

        else:
            if self.imports:
                if "of <bra>" and "to <wld>" in title:
                    title = title.replace("to <wld>", "to <bra>")
                    title = title.replace("of <bra>", "from <wld>")
                if "trade with" in title:
                    title = title.replace("trade with", "import from")

        if title:

            for f in ["bra", "cnae", "hs", "cbo", "wld", "university", "course_hedu", "course_sc"]:
                if hasattr(self, f):
                    attr = getattr(self, f)
                    if not isinstance(attr, (unicode, str)):
                        title = title_format(title, attr)

        return title
Beispiel #2
0
def recommend(app_name=None, dataset=None, bra_id="4mg", filter1=None, filter2=None, output=None):

    recommended = {}

    build_filter1, build_filter2 = filler(dataset, filter1, filter2)

    '''Grab attrs for bra and filters
    '''
    bra_all = [Wld.query.get_or_404("sabra")]
    if bra_id == "all":
        bra_attr = bra_all
    else:
        bra_attr = [Bra.query.get_or_404(b) for b in bra_id.split("_")]
    filter1_attr = filter1
    filter2_attr = filter2
    profile = False
    if filter1 != "all":
        filter1_attr = globals()[build_filter1.capitalize()].query.get_or_404(filter1)
        if output == build_filter1:
            profile = filter1_attr
            recommended["crosswalk"] = crosswalk_recs(dataset, build_filter1, filter1)
    if filter2 != "all":
        filter2_attr = globals()[build_filter2.capitalize()].query.get_or_404(filter2)
        if output == build_filter2:
            profile = filter2_attr
            recommended["crosswalk"] = crosswalk_recs(dataset, build_filter2, filter2)

    if profile == False and output == "bra":
        profile = bra_attr[0]
    if profile and output != "school":
        if g.locale == "pt":
            title = u"Perfil <{0}_para> <{0}>".format(output)
        else:
            title = u"Profile for <{0}>".format(output)
        recommended["profile"] = {
            "title": title_format(title, profile),
            "url": profile.url()
        }

    if build_filter1 != "all":
        build_filter1 = "<{}>".format(build_filter1)
    if build_filter2 != "all":
        build_filter2 = "<{}>".format(build_filter2)

    kwargs = {k: v for k, v in request.args.items()}
    if app_name == "geo_map" and len(bra_id) < 9:
        custom = Build.query.filter_by(app_id=3, dataset=dataset, filter1=build_filter1, filter2=build_filter2, output=output).first()
        custom.set_bra(bra_attr)
        custom.set_filter1(filter1_attr)
        custom.set_filter2(filter2_attr)
        recommended["custom"] = custom.json(**kwargs)

    for bra in bra_attr:
        recommended['builds'] = get_builds(bra, dataset, build_filter1, filter1_attr, build_filter2, filter2_attr, kwargs)
    if bra_id != "all" and output != "bra":
        recommended['builds'] += get_builds(bra_all[0], dataset, build_filter1, filter1_attr, build_filter2, filter2_attr, kwargs)

    return jsonify(recommended)
Beispiel #3
0
    def title(self, **kwargs):

        title = getattr(self, "title_{}".format(g.locale))
        title = self.format_text(title, kwargs)

        if title:
            for f in ["bra", "cnae", "hs", "cbo", "wld", "university", "course_hedu", "course_sc"]:
                if hasattr(self, f):
                    attr = getattr(self, f)
                    if not isinstance(attr, (unicode, str)):
                        title = title_format(title, attr)

        return title
Beispiel #4
0
    def title(self, **kwargs):

        title = getattr(self, "title_{}".format(g.locale))
        title = self.format_text(title, kwargs)

        if title:
            for f in ["bra", "cnae", "hs", "cbo", "wld", "university", "course_hedu", "course_sc"]:
                if hasattr(self, f):
                    attr = getattr(self, f)
                    if not isinstance(attr, (unicode, str)):
                        title = title_format(title, attr)

        return title
Beispiel #5
0
def recommend(app_name=None,
              dataset=None,
              bra_id="4mg",
              filter1=None,
              filter2=None,
              output=None):

    recommended = {}

    build_filter1, build_filter2 = filler(dataset, filter1, filter2)
    '''Grab attrs for bra and filters
    '''
    bra_all = [Wld.query.get_or_404("sabra")]
    if bra_id == "all":
        bra_attr = bra_all
    else:
        bra_attr = [Bra.query.get_or_404(b) for b in bra_id.split("_")]
    filter1_attr = filter1
    filter2_attr = filter2
    profile = False
    if filter1 != "all":
        filter1_attr = globals()[build_filter1.capitalize()].query.get_or_404(
            filter1)
        if output == build_filter1:
            profile = filter1_attr
            recommended["crosswalk"] = crosswalk_recs(dataset, build_filter1,
                                                      filter1)
    if filter2 != "all":
        filter2_attr = globals()[build_filter2.capitalize()].query.get_or_404(
            filter2)
        if output == build_filter2:
            profile = filter2_attr
            recommended["crosswalk"] = crosswalk_recs(dataset, build_filter2,
                                                      filter2)

    if profile == False and output == "bra":
        profile = bra_attr[0]
    if profile and output != "school":
        if g.locale == "pt":
            title = u"Perfil <{0}_para> <{0}>".format(output)
        else:
            title = u"Profile for <{0}>".format(output)
        recommended["profile"] = {
            "title": title_format(title, profile),
            "url": profile.url()
        }

    if build_filter1 != "all":
        build_filter1 = "<{}>".format(build_filter1)
    if build_filter2 != "all":
        build_filter2 = "<{}>".format(build_filter2)

    kwargs = {k: v for k, v in request.args.items()}
    if app_name == "geo_map" and len(bra_id) < 9:
        custom = Build.query.filter_by(app_id=3,
                                       dataset=dataset,
                                       filter1=build_filter1,
                                       filter2=build_filter2,
                                       output=output).first()
        custom.set_bra(bra_attr)
        custom.set_filter1(filter1_attr)
        custom.set_filter2(filter2_attr)
        recommended["custom"] = custom.json(**kwargs)

    for bra in bra_attr:
        recommended['builds'] = get_builds(bra, dataset, build_filter1,
                                           filter1_attr, build_filter2,
                                           filter2_attr, kwargs)
    if bra_id != "all" and output != "bra":
        recommended['builds'] += get_builds(bra_all[0], dataset, build_filter1,
                                            filter1_attr, build_filter2,
                                            filter2_attr, kwargs)

    return jsonify(recommended)