from models import Ad
from utils import recursive_round, render_template, time_range_len

logging.basicConfig(
    format="[%(asctime)s] %(levelname)s: %(message)s",
    level=logging.INFO,
    datefmt="%Y-%m-%d %H:%M:%S",
)

SEPT_1 = date(year=2020, month=9, day=1)
NUMBER_OF_DATES = time_range_len(SEPT_1, date.today())

if __name__ == "__main__":

    ads_per_party = {
        p: Ad.ads_in_time_range(first_date=SEPT_1).where(Ad.party == p)
        for p in PARTIES
    }

    for party in PARTIES:
        logging.info(
            f"Processing {len(ads_per_party[party])} ads for {party}.")

        party_data = {
            "total-ads":
            len(ads_per_party[party]),
            "spending-total-lower":
            sum(ad.spending_lower for ad in ads_per_party[party]),
            "spending-total-upper":
            sum(ad.spending_upper for ad in ads_per_party[party]),
        }
Esempio n. 2
0
from constants import DATA_TYPES, PARTIES
from models import Ad
from utils import recursive_round, render_template, time_range_len

logging.basicConfig(
    format="[%(asctime)s] %(levelname)s: %(message)s",
    level=logging.INFO,
    datefmt="%Y-%m-%d %H:%M:%S",
)

SEPT_1 = date(year=2020, month=9, day=1)
NUMBER_OF_DATES = time_range_len(SEPT_1, date.today())

if __name__ == "__main__":

    ads = list(Ad.ads_in_time_range(first_date=SEPT_1))
    ads_per_party = {p: [ad for ad in ads if ad.party == p] for p in PARTIES}

    most_expensive_ad = max(ads, key=lambda e: e.average_spending_per_day)

    logging.info("Creating general data.")

    general_data = {
        "number-of-ads-total":
        len(ads),
        "number-of-ads-party": [len(ads_per_party[p]) for p in PARTIES],
        "spending-total-lower":
        sum(ad.spending_lower for ad in ads),
        "spending-total-upper":
        sum(ad.spending_upper for ad in ads),
        "spending-party":