filler2 = filter2 if filler2 != "all": if dataset == "rais": filler2 = "cbo" elif dataset == "secex": filler2 = "wld" elif dataset == "hedu": filler2 = "course_hedu" elif dataset == "sc": filler2 = "course_sc" return filler1, filler2 @mod.route('/') @view_cache.cached(key_prefix=api_cache_key("apps:guide")) def guide(): apps = [] default_bra = Bra.query.get("4mg") compare_bra = Bra.query.get("4sp") default_cnae = Cnae.query.get("i56112") default_cbo = Cbo.query.get("2235") default_hs = Hs.query.get("052601") build_list = Build.query.all() # Bar Chart builds = [b for b in build_list if b.id in (176,177,178)] builds[0].set_bra(default_bra) builds[1].set_filter1(default_cnae) builds[2].set_filter2(default_cbo) apps.append({
@babel.timezoneselector def get_timezone(): user = getattr(g, 'user', None) if user is not None: return user.timezone ############################### # General views # --------------------------- @app.after_request def after_request(response): return response @mod.route('/', methods=['GET']) @view_cache.cached(key_prefix=api_cache_key("homepage")) def home(): return render_template("general/index.html") @mod.route('/inicie-uma-pesquisa/', methods=['GET']) @view_cache.cached(key_prefix=api_cache_key("browsecat")) def browse_categories(): return render_template("general/browse_categories.html") @mod.route('close/') def close(): return render_template("general/close.html") @mod.route('upgrade/')
@babel.timezoneselector def get_timezone(): user = getattr(g, 'user', None) if user is not None: return user.timezone ############################### # General views # --------------------------- @app.after_request def after_request(response): return response @mod.route('/', methods=['GET', 'POST']) @view_cache.cached(key_prefix=api_cache_key("homepage")) @gzipped def home(): # return render_template("test.html") g.page_type = "home" carousels = [] limit = 20 carousel_base = "/stats/carousel/?metric={}&show={}&profile={}&limit={}" metric, show, profile = "export_val", "bra_id", "bra" data = stats_list(metric, show, limit=limit) items = make_items(data, Bra)
import StringIO, csv from flask import Blueprint, request, jsonify, Response from dataviva import db from dataviva.api.attrs.models import Bra from dataviva.api.rais.models import Yb_rais, Yi, Yo, Ybi, Ybi_reqs, Ybo, Yio, Ybio from dataviva.utils import table_helper, query_helper from dataviva.utils.gzip_data import gzip_response from dataviva import view_cache from dataviva.utils.cached_query import api_cache_key from dataviva.utils.csv_helper import gen_csv, is_download mod = Blueprint('rais', __name__, url_prefix='/rais') @mod.route('/<year>/<bra_id>/<cnae_id>/<cbo_id>/') @view_cache.cached(key_prefix=api_cache_key("rais"), unless=is_download) def rais_api(**kwargs): limit = int(kwargs.pop('limit', 0)) or int(request.args.get('limit', 0)) order = request.args.get('order', None) or kwargs.pop('order', None) sort = request.args.get('sort', None) or kwargs.pop('sort', 'desc') offset = request.args.get('offset', None) or kwargs.pop('offset', None) if order and "." in order: order, sort = order.split(".") # ignore_zeros = request.args.get('zeros', True) or kwargs.pop('zeros', True) serialize = request.args.get('serialize', None) or kwargs.pop( 'serialize', True) exclude = request.args.get('exclude', None) or kwargs.pop('exclude', None) download = request.args.get('download', None) or kwargs.pop( 'download', None) required_bras = request.args.get('required_bras', False) or kwargs.pop( 'required_bras', False)
def before_request(): g.page_type = mod.name @mod.url_value_preprocessor def pull_lang_code(endpoint, values): g.locale = values.pop('lang_code') @mod.url_defaults def add_language_code(endpoint, values): values.setdefault('lang_code', get_locale()) @mod.route('/', methods=['GET']) @view_cache.cached(key_prefix=api_cache_key("apps:ranking_index")) def index(): return render_template('rankings/location-international-trade.html', tab='location-international-trade') @mod.route('/location/international-trade', methods=['GET']) @view_cache.cached(key_prefix=api_cache_key("apps:ranking_location_international_trade")) def location_international_trade(): return render_template('rankings/location-international-trade.html', tab='location-international-trade') @mod.route('/location/wages-and-employment', methods=['GET']) @view_cache.cached(key_prefix=api_cache_key("apps:ranking_location_wages")) def location_wages(): return render_template('rankings/location-wages.html', tab='location-wages')
def before_request(): g.page_type = mod.name g.path = request.path g.color = "#e0902d" @mod.url_value_preprocessor def pull_lang_code(endpoint, values): g.locale = values.pop('lang_code') @mod.url_defaults def add_language_code(endpoint, values): values.setdefault('lang_code', get_locale()) @mod.route('/') @view_cache.cached(key_prefix=api_cache_key("profile")) def index(): profile_types = [] # Bra most_recent_year = parse_year(__year_range__["secex"][-1]) top = Ymb.query.filter_by(year=most_recent_year, month=0, bra_id_len=9).order_by(Ymb.export_val.desc()).limit(5).all() top = [t.bra for t in top] profile_types.append({ "summary": gettext("Showing exports, employment and education data, statistics and visualizations about the chosen Brazilian location."), "top": top, "title": gettext(u"Brazilian Locations"), "type": "bra" })
############################################################ # ---------------------------------------------------------- # All attribute views # ############################################################ def get_planning_region_map(): prs = db.session.query(bra_pr).all() pr_map = {k: v for k, v in prs} return pr_map @mod.route("/school/") @view_cache.cached(key_prefix=api_cache_key("attrs")) def voc_schools(): attrs = School.query.filter(School.is_vocational == 1).all() lang = request.args.get('lang', None) or g.locale data = [fix_name(a.serialize(), lang) for a in attrs] return jsonify(data=data) @mod.route("/school/in/<bra_id>/") @gzipped @view_cache.cached(key_prefix=api_cache_key("attrs")) def school_attrs(bra_id): results = db.engine.execute(''' SELECT id, school_type_id, name_pt, color FROM attrs_school LEFT JOIN sc_ybs
filler2 = filter2 if filler2 != "all": if dataset == "rais": filler2 = "cbo" elif dataset == "secex": filler2 = "wld" elif dataset == "hedu": filler2 = "course_hedu" elif dataset == "sc": filler2 = "course_sc" return filler1, filler2 @mod.route('/') @view_cache.cached(key_prefix=api_cache_key("apps:guide")) def guide(): apps = [] default_bra = Bra.query.get("4mg") compare_bra = Bra.query.get("4sp") default_cnae = Cnae.query.get("i56112") default_cbo = Cbo.query.get("2235") default_hs = Hs.query.get("052601") build_list = Build.query.all() # Bar Chart builds = [b for b in build_list if b.id in (176, 177, 178)] builds[0].set_bra(default_bra) builds[1].set_filter1(default_cnae) builds[2].set_filter2(default_cbo) apps.append({
return attr ############################################################ # ---------------------------------------------------------- # All attribute views # ############################################################ def get_planning_region_map(): prs = db.session.query(bra_pr).all() pr_map = {k: v for k, v in prs} return pr_map @mod.route("/school/") @view_cache.cached(key_prefix=api_cache_key("attrs")) def voc_schools(): attrs = School.query.filter(School.is_vocational == 1).all() lang = request.args.get("lang", None) or g.locale data = [fix_name(a.serialize(), lang) for a in attrs] return jsonify(data=data) @mod.route("/school/in/<bra_id>/") @gzipped @view_cache.cached(key_prefix=api_cache_key("attrs")) def school_attrs(bra_id): results = db.engine.execute( """ SELECT id, school_type_id, name_pt, color FROM attrs_school
if "is_vocational" in attr: del attr["is_vocational"] return attr ############################################################ # ---------------------------------------------------------- # All attribute views # ############################################################ def get_planning_region_map(): prs = db.session.query(bra_pr).all() pr_map = {k:v for k,v in prs} return pr_map @mod.route("/school/") @view_cache.cached(key_prefix=api_cache_key("attrs")) def voc_schools(): attrs = School.query.filter(School.is_vocational == 1).all() lang = request.args.get('lang', None) or g.locale data = [fix_name(a.serialize(), lang) for a in attrs] return jsonify(data=data) @mod.route("/school/in/<bra_id>/") @gzipped @view_cache.cached(key_prefix=api_cache_key("attrs")) def school_attrs(bra_id): results = db.engine.execute(''' SELECT id, school_type_id, name_pt, color FROM attrs_school LEFT JOIN sc_ybs ON attrs_school.id=sc_ybs.school_id
return attr ############################################################ # ---------------------------------------------------------- # All attribute views # ############################################################ def get_planning_region_map(): prs = db.session.query(bra_pr).all() pr_map = {k: v for k, v in prs} return pr_map @mod.route("/school/") @view_cache.cached(key_prefix=api_cache_key("attrs")) def voc_schools(): attrs = School.query.filter(School.is_vocational == 1).all() lang = request.args.get('lang', None) or g.locale data = [fix_name(a.serialize(), lang) for a in attrs] return jsonify(data=data) @mod.route("/school/in/<bra_id>/") @gzipped @view_cache.cached(key_prefix=api_cache_key("attrs")) def school_attrs(bra_id): results = db.engine.execute( ''' SELECT id, school_type_id, name_pt, color FROM attrs_school
from flask import Blueprint, request, jsonify from dataviva import db from dataviva.ei.models import Ymr, Yms, Ymsr from dataviva.utils.gzip_data import gzipped from dataviva.utils import make_query from dataviva.utils import table_helper, query_helper from dataviva import view_cache from dataviva.utils.cached_query import api_cache_key mod = Blueprint('ei', __name__, url_prefix='/ei') @mod.route('/<year>-<month>/<bra_id_s>/<bra_id_r>/') @mod.route('/<year>/<bra_id_s>/<bra_id_r>/') @gzipped @view_cache.cached(key_prefix=api_cache_key("ei")) def ei_api(**kwargs): tables = [Ymr, Yms, Ymsr] limit = int(request.args.get('limit', 0) or kwargs.pop('limit', 0)) order = request.args.get('order', None) or kwargs.pop('order', None) if order and "." in order: order, sort = order.split(".") sort = request.args.get('sort', None) or kwargs.pop('sort', 'desc') offset = request.args.get('offset', None) or kwargs.pop('offset', None) serialize = request.args.get('serialize', None) or kwargs.pop('serialize', True) exclude = request.args.get('exclude', None) or kwargs.pop('exclude', None) download = request.args.get('download', None) or kwargs.pop('download', None) if not "month" in kwargs: kwargs["month"] = query_helper.ALL
return bra_cities.filter(Bra.id.like(bra_state.id+'%')).first() return None return None @mod.route('/table/') @mod.route('/table/<data_type>/<year>/<bra_id>/<filter_1>/') @mod.route('/table/<data_type>/<year>/<bra_id>/<filter_1>/<filter_2>/') def table(data_type="rais", year="all", bra_id="4mg", filter_1="show.1", filter_2="all"): g.page_type = "table" data_url = "/{}/{}/{}/{}/{}/".format(data_type,year,bra_id,filter_1,filter_2) return render_template("general/table.html",data_url = data_url) @mod.route('/') @mod.route('/<data_type>/<year>/<bra_id>/<filter_1>/') @mod.route('/<data_type>/<year>/<bra_id>/<filter_1>/<filter_2>/') @view_cache.cached(key_prefix=api_cache_key("dataviewer")) def index(data_type="rais", year="all", bra_id=None, filter_1=None, filter_2=None): # /hedu/all/show.3/01298.show.5/all/ def get_filter_by_id(f): match = [v for v in filters if v["id"] == f] if match: return match[0] return None datasets = [["rais", _('Wages and Employment')], ["secex", _('International Trade')], ["hedu", _('Higher Education')], ["sc", _('School Census')]] for d in datasets: start_year, end_year = __year_range__[d[0]]
from dataviva.stats.util import parse_year from dataviva.stats.profile_helper import compute_stats mod = Blueprint('profiles', __name__, url_prefix='/profiles') @mod.before_request def before_request(): g.page_type = mod.name g.path = request.path g.color = "#e0902d" @mod.route('/') @view_cache.cached(key_prefix=api_cache_key("profile")) def index(): profile_types = [] # Bra most_recent_year = parse_year(__year_range__["secex"][-1]) top = Ymb.query.filter_by(year=most_recent_year, month=0, bra_id_len=9).order_by( Ymb.export_val.desc()).limit(5).all() top = [t.bra for t in top] profile_types.append({ "summary": gettext( "Showing exports, employment and education data, statistics and visualizations about the chosen Brazilian location." ),
from flask import Blueprint, request, jsonify from dataviva import db from dataviva.general.views import get_locale from dataviva.secex.models import Ymb, Ymp, Ymbp, Ymbpw, Ymbw, Ympw, Ymw from dataviva.utils import table_helper, query_helper from dataviva.utils.gzip_data import gzip_response from dataviva import view_cache from dataviva.utils.cached_query import api_cache_key from dataviva.utils.csv_helper import gen_csv, is_download mod = Blueprint("secex", __name__, url_prefix="/secex") @mod.route("/<year>/<bra_id>/<hs_id>/<wld_id>/") @mod.route("/<year>-<month>/<bra_id>/<hs_id>/<wld_id>/") @view_cache.cached(key_prefix=api_cache_key("secex"), unless=is_download) def secex_api(**kwargs): limit = int(kwargs.pop("limit", 0)) or int(request.args.get("limit", 0)) order = request.args.get("order", None) or kwargs.pop("order", None) sort = request.args.get("sort", None) or kwargs.pop("sort", "desc") offset = request.args.get("offset", None) or kwargs.pop("offset", None) if order and "." in order: order, sort = order.split(".") ignore_zeros = request.args.get("zeros", False) or kwargs.pop("zeros", False) serialize = request.args.get("serialize", None) or kwargs.pop("serialize", True) exclude = request.args.get("exclude", None) or kwargs.pop("exclude", None) download = request.args.get("download", None) or kwargs.pop("download", None) if not "month" in kwargs: kwargs["month"] = query_helper.ALL