コード例 #1
0
 def generate(self, d):
     from constants import REPORT
     from handlers import APIError
     from tasks import backgroundReportRun
     type = self.request.get_range('type')
     if not type:
         raise APIError("No type in report request")
     ftype = self.request.get_range('ftype', default=REPORT.CSV)
     specs_json = self.request.get('specs_json')
     specs = tools.getJson(specs_json)
     report = Report.Create(self.user, type=type, specs=specs, ftype=ftype)
     report.put()
     tools.safe_add_task(backgroundReportRun, report.key.urlsafe(), _queue="report-queue")
     self.set_response(success=True, message="%s generating..." % report.title, data={
         'report': report.json() if report else None
     })
コード例 #2
0
ファイル: testing_exports.py プロジェクト: lagvier/echo-sense
    def testReportGeneration(self):

        # With non-ascii text in batch
        BATCH_1 = {
            'speed': [0 for x in range(10)],
            'narrative': [
                None, None, "Narrative", "Test", "", u"Làst", None, None, None,
                None
            ]
        }
        self.__createNewRecords(BATCH_1, first_dt=datetime.now())

        specs = {
            'sensortype_id': self.spedometer.key().id(),
            'columns': ['narrative', 'speed']
        }
        r = Report.Create(self.e, type=REPORT.SENSOR_DATA_REPORT, specs=specs)
        r.put()
        r.run(None)

        self.execute_tasks_until_empty()

        r = Report.get(r.key())
        self.assertTrue(r.isDone())