Esempio n. 1
0
File: mali.py Progetto: yeleman/nut
def get_total_adm_for(hc_code, cap, age, period=None, year=None, month=None):

    from database import Period, Report

    if not period:
        period = Period.from_date(date(year, month, 1))
    
    # return real data from report if it exist in DB.
    if Report.filter(period=period, hc_code=hc_code,
                     status=Report.STATUS_VALIDATED).count():
        report = Report.filter(period=period, hc_code=hc_code).get()
        return getattr(report.get_pec_report(cap), '%s_admitted' % age)
    else:
        # if not a report not in DB
        if not hc_code in gao_data.PEC_ADM:
            return None
        
        # retrieve value from flat data
        try:
            if period.year in (2009, 2010, 2011):
                return gao_data.PEC_ADM[hc_code][period.year][period.month][cap][age]
            else:
                return get_avg_adm_for(hc_code, period.month, cap, age)
        except KeyError:
            return None  # TODO
Esempio n. 2
0
File: mali.py Progetto: yeleman/nut
 def from_period(cls, period, hc_code, cap):
     # TODO: report???
     from nutclient.database import Report
     if Report.filter(period=period, hc_code=hc_code).count():
         report = Report.filter(period=period, hc_code=hc_code).get()
         return cls.from_sub_report(report.get_cons_report(cap))
     else:
         return cls.build_for_period(period, hc_code, cap)
Esempio n. 3
0
    def confirm(self):
        period_date = self.date_field.date().toPyDate()
        period = Period.from_date(period_date)

        # a report exist for that period.
        if Report.filter(period=period).count() == 1:
            report = Report.filter(period=period).get()
        else:
            report = Report.create_safe(period=period, user=self.user)

        self.parent.view_widget.report = report

        self.close()
Esempio n. 4
0
def viewForm():
    title = st.text_input("Report Title")
    desc = st.text_area('Report Description')
    btn = st.button("Submit")

    if btn:
        report1 = Report(title=title, desc=desc, data="")
        sess.add(report1)
        sess.commit()
        st.success('Report Saved')
Esempio n. 5
0
    def set_data_for(self, *args):

        if args:
            reports = []
            for prod in Product.all():
                try:
                    reports.append(
                        Report.filter(Report.product == prod, Report.date > args[0][
                            0], Report.date < args[0][1]).order_by(Report.date.desc()).get())
                except:
                    pass
            self.data = [(rap.product.name, rap.remaining,
                          rap.selling_price, rap.remaining * rap.selling_price)
                         for rap in reports]
Esempio n. 6
0
def save_report_form(fig):
    generateReport()
    if current_report['save_report']:
        with st.spinner("Saving Report..."):
            try:
                path = 'reports/'+current_report['img_name']+'.png'
                fig.write_image(path)
                report = Report(
                    title=current_report['title'], desc=current_report['desc'], img_name=path)
                sess.add(report)
                sess.commit()
                st.success('Report Saved')
            except Exception as e:
                st.error('Something went Wrong')
                print(e)
Esempio n. 7
0
    def set_data_for(self, *args):

        if args:
            reports = []
            for prod in Product.all():
                try:
                    reports.append(
                        Report.filter(Report.product == prod,
                                      Report.date > args[0][0],
                                      Report.date < args[0][1]).order_by(
                                          Report.date.desc()).get())
                except:
                    pass
            self.data = [(rap.product.name, rap.remaining, rap.selling_price,
                          rap.remaining * rap.selling_price)
                         for rap in reports]
Esempio n. 8
0
    def __init__(self, parent):
        super(InProgressTable, self).__init__(parent)

        def edit_report(ident):
            from report import ReportWidget
            self.parentWidget().change_main_context(ReportWidget, 
                                     report=Report.filter(id=ident).get())

        date_fmt = '%d %B, %Hh%M'
        for report in Report.opened():               
            self.data.append((report.verbose_status(),
                              report.__unicode__(),
                              report.created_on.strftime(date_fmt),
                              report.modified_on.strftime(date_fmt),                            
                              LinkButton(u"Éditer", edit_report, report.id)))
        self.hheaders = [u"Statut", u"Rapport", 
                         u"Créé le", u"Modifié le", u"Action"]
        self.stretch_columns = [1,]
        self.align_map = {0: 'l', 1: 'l'}
        self.max_rows = 5
        self.refresh()
Esempio n. 9
0
    def __init__(self, parent):

        def edit_report(ident):
            from report import ReportWidget
            self.parentWidget().change_main_context(ReportWidget, 
                                                    report=Report.filter(id=ident).get())

        def preview(ident):
            self.parentWidget().open_dialog(ReportPreview,
                                            modal=True,
                                            report=Report.filter(id=ident).get())

        super(ArchivesTable, self).__init__(parent)

        self.hheaders = [u"Période",
                        u"Statut",
                        u"UREN",
                        u"Dernière modif.",
                        u"PEC début",
                        u"PEC fin",
                        u"Aperçu",
                        u"Éditer"]

        for report in Report.select():
            self.data.append((report.period.__unicode__(),
                           report.verbose_status(),
                           report.verbose_caps(),
                           report.modified_on.strftime('%d %B, %H:%M'),
                           report.sum_for_field('all_total_beginning'),
                           report.sum_for_field('all_total_end'),
                           LinkButton(u"Aperçu", preview, report.id),
                           LinkButton(u"Éditer", edit_report, report.id)))
        
        self.display_vheaders = False
        self.stretch_columns = [0,]
        self.align_map = {0: 'l', 1: 'l'}
        self.refresh()
Esempio n. 10
0
                           room_id=room_id,
                           description=Markup(room.description))


@app.route('/room/<room_id>//get', strict_slashes=False)
def test_room_api(room_id):
    room = Room.query.filter_by(id=room_id).first()
    code = request.args.get('text', '')
    tests = tuple(case.test for case in room.test_cases)
    expects = tuple(case.expect for case in room.test_cases)
    results = test_runner(code, tests, expects)
    ratio = len([r for r in results if r["state"]]) / len(results) * 100

    report = json.loads(request.args.get('report', '{}'))
    if report.get('contact') is not None:
        report = Report(room_id, report.get('contact', ''), code,
                        report.get('about', ''))
        DB.session.add(report)
        DB.session.commit()

        for result, case in zip(results, room.test_cases):
            if result['state']:
                report.passed.append(case)
            else:
                report.failed.append(case)

        DB.session.commit()

    return json.dumps({"results": results, "ratio": round(ratio)})


@app.route('/create/')
Esempio n. 11
0
 def edit_report(ident):
     from report import ReportWidget
     self.parentWidget().change_main_context(ReportWidget, 
                                             report=Report.filter(id=ident).get())
Esempio n. 12
0
 def preview(ident):
     self.parentWidget().open_dialog(ReportPreview,
                                     modal=True,
                                     report=Report.filter(id=ident).get())