コード例 #1
0
ファイル: trend.py プロジェクト: bravefoot/citizen-budget
def show(fund_url,category_url):
    if not installed():
        return redirect(url_for('index.show'))

    # get all the categories with these identifiers
    categories = Category.get_url_fund(category_url,fund_url)

    # setup yearly category plot
    plot_data = []
    plotted = {}
    series = Series()
    for category in categories:
        for item in category.items:
            if item.code in plotted:
                continue
            plotted[item.code] = True
            data = Data(name=item.name)
            for i in Item.get_code(item.code):
                data.add([i.category.fund.year.date,i.amount])
            plot_data.append(data)

    sorted_data = sorted(plot_data, key = lambda data: max(data.data['data'], key = lambda x: x[1])[1],reverse=True)
    for data in sorted_data:
        series.add(data)

    return render_template('trend.html',active="trend",subactive="",
                           city=city,fund=categories[0].fund,
                           category=categories[0],
                           series=series.jsonify())
コード例 #2
0
ファイル: index.py プロジェクト: bravefoot/citizen-budget
def show():
    if installed():
        # get year
        year = Year.get_recent()

        if not year:
            # No funds added yet.
            session['auth'] = 'Install'
            return render_template('setup.html',city=city,active='home')

        # get all the funds for this year
        year_funds = Fund.get_year(year.date)

        # setup revenue and expenditures plot
        years = Year.all()
        series = Series()
        revenue = Data(name='Revenue')
        expenditures = Data(name='Expenditures')
        import datetime
        import time
        for year in years:
            revenue.add([year.date,year.total_revenue])
            expenditures.add([year.date,year.total_expenditures])
        series.add(revenue)
        series.add(expenditures)

        print series.jsonify()

        return render_template('index.html',active='home',subactive='',
                               city=city,year=year,fund=year_funds[1],
                               year_funds=year_funds,
                               series=series.jsonify(),
                               charts=show_year(year.date))

    # create database
    create_db()

    users = User.all()
    return render_template('install.html',
                           city=city,
                           users=users,
                           user_form=UserForm())
コード例 #3
0
ファイル: year.py プロジェクト: bravefoot/citizen-budget
def show(url,date):
    if not installed():
        return redirect(url_for('index.show'))

    # get year
    year = Year.get_date(date)

    # get all the funds for this year
    year_funds = Fund.get_year(date)

    # setup yearly fund plot
    fund = Fund.get_url_year(url=url,date=date)
    funds = Fund.get_name(fund.name)
    series = Series()
    revenue = Data(name='Revenue')
    expenditures = Data(name='Expenditures')
    for f in funds:
        revenue.add([f.year.date,f.total_revenue])
        expenditures.add([f.year.date,f.total_expenditures])
    series.add(revenue)
    series.add(expenditures)

    # setup fund revenue and expenditures plots
    revenueSeries = Series()
    data = Data()
    for category in fund.revenues():
        data.add([category.name,category.total])
    # data.reverse()
    revenueSeries.add(data)
    expendituresSeries = Series()
    data = Data()
    for category in fund.expenditures():
        data.add([category.name,category.total])
    # data.reverse()
    expendituresSeries.add(data)

    return render_template('year.html',active="fund",subactive=fund.url,
                           city=city,year=year,fund=fund,
                           year_funds=year_funds,
                           series=series.jsonify(),
                           revenueSeries=revenueSeries.jsonify(),
                           expendituresSeries=expendituresSeries.jsonify())