def build_committee_knessets_list_template(jinja_env, committees, aggregations): override_nums = os.environ["OVERRIDE_KNESSET_NUMS"].split(",") if os.environ.get("OVERRIDE_KNESSET_NUMS") else [] override_nums += aggregations["knesset_num"].keys() override_nums = set(map(int, override_nums)) for knesset_num, knesset_num_stats in aggregations["knesset_num"].items(): if not os.environ.get("OVERRIDE_KNESSET_NUMS") or int(knesset_num) in override_nums: context = get_committee_list_context(committees, knesset_num, aggregations) if len(context["committees"]) > 0: build_template(jinja_env, "committee_list.html", context, COMMITTEE_LIST_KNESSET_URL.format(num=knesset_num))
def build_committee_templates(jinja_env, committees, descriptor, aggregations): override_ids = get_override_committee_ids(aggregations) for committee_id, committee in committees.items(): if not os.environ.get("OVERRIDE_COMMITTEE_IDS") or int( committee_id) in override_ids: update_committee_aggregations(aggregations, is_built=True) build_template( jinja_env, "committee_detail.html", get_committee_detail_context(committee, descriptor, aggregations), COMMITTEE_DETAIL_URL.format(committee_id=committee_id)) else: update_committee_aggregations(aggregations, is_built=False)
def build_committees_index_template(jinja_env, committees, aggregations): override_nums = os.environ["OVERRIDE_KNESSET_NUMS"].split(",") if os.environ.get("OVERRIDE_KNESSET_NUMS") else [] override_nums += aggregations["knesset_num"].keys() override_nums = set(map(int, override_nums)) def knesset_nums(): for knesset_num, knesset_num_stats in aggregations["knesset_num"].items(): if not os.environ.get("OVERRIDE_KNESSET_NUMS") or int(knesset_num) in override_nums: num_meetings = 0 for committee_id, committee_stats in aggregations["committee_id"].items(): if int(committee_id) in map(int, knesset_num_stats["committee_ids"]): num_meetings += committee_stats["num_meetings"] yield {"num": knesset_num, "url": COMMITTEE_LIST_KNESSET_URL.format(num=knesset_num), "num_committees": len(knesset_num_stats["committee_ids"]), "num_meetings": num_meetings} context = get_context({"knesset_nums": sorted(knesset_nums(), key=lambda k: k["num"], reverse=True)}) build_template(jinja_env, "committees_index.html", context, COMMITTEES_INDEX_URL)
def build_meeting_templates(resource, committees, jinja_env, descriptor, committees_descriptor, aggregations): override_meeting_ids = list(map(int, os.environ["OVERRIDE_COMMITTEE_SESSION_IDS"].split(","))) if os.environ.get("OVERRIDE_COMMITTEE_SESSION_IDS") else None override_committee_ids = list(map(int, os.environ["OVERRIDE_COMMITTEE_IDS"].split(","))) if os.environ.get("OVERRIDE_COMMITTEE_IDS") else None override_knesset_nums = list(map(int, os.environ["OVERRIDE_KNESSET_NUMS"].split(","))) if os.environ.get("OVERRIDE_KNESSET_NUMS") else None logging.info("override_meeting_ids={}, ovverride_committee_ids={}, override_knesset_nums={}".format(override_meeting_ids, override_committee_ids, override_knesset_nums)) for meeting in resource: if not override_meeting_ids or int(meeting["CommitteeSessionID"]) in override_meeting_ids: committee_id = int(meeting["CommitteeID"]) committee = committees[committee_id] knesset_num = int(committee["KnessetNum"]) if ( (override_meeting_ids or not override_committee_ids or committee_id in override_committee_ids) and (override_meeting_ids or override_committee_ids or not override_knesset_nums or knesset_num in override_knesset_nums) ): update_meeting_aggregations(aggregations, meeting, True, committee_id, knesset_num) build_template(jinja_env, "committeemeeting_detail.html", get_meeting_context(meeting, committee, descriptor, committees_descriptor), get_meeting_path(meeting)) else: update_meeting_aggregations(aggregations, meeting, is_built=False, committee_id=committee_id, knesset_num=knesset_num) else: update_meeting_aggregations(aggregations, meeting)
from datapackage_pipelines.wrapper import ingest, spew import logging import template_functions parameters, datapackage, resources, stats = ingest() + ({}, ) def get_context(**context): return template_functions.get_context(context) def get_images(): for resource in resources: for row in resource: yield row env = template_functions.get_jinja_env() context = {"images": get_images()} template_functions.build_template(env, "arc_index.html", template_functions.get_context(context), "final-data/arc/index.html") spew(dict(datapackage, resources=[]), [], stats)
label_id: label[{ "he": 0, "en": 1 }[context["lang"]]] for label_id, label in LABELS.items() } return template_functions.get_context(context) def get_camps(lang): for index, camp in enumerate(all_camps): yield { "index": index, "id": camp["camp_name_en"].replace(' ', '').lower(), "name": camp["camp_name_{}".format(lang)], "leader_name": camp["name"], "leader_email": camp["email"], "description": camp.get("camp_desc_{}".format(lang)), "status": camp.get("status") } env = template_functions.get_jinja_env() for lang in ["he", "en"]: template_functions.build_template( env, "list.html", get_context(lang=lang, camps=get_camps(lang)), "public/index_{}.html".format(lang)) spew(dict(datapackage, resources=[]), [])