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))
Пример #2
0
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)
Пример #4
0
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)
Пример #5
0
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)
Пример #6
0
        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=[]), [])