def get_by_id(): data = request.get_json(force=True) report_id = data.get('id') response = {'status': 'success', 'report': {}} try: report = Report.get_by_id(report_id) except Exception as e: return jsonify({'status': 'error', 'error': str(e)}) if report: response['report'] = report.to_json() return jsonify(response)
def test_save_object(self): report = Report() report.location = 'Heidelberg' report.date = date.today() report.start_time = parse("14:30").time() report.end_time = parse("16:30").time() self.object_to_remove.append(report) report.report_saved = date.today() self.db.session.add(report) self.db.session.commit() report2 = Report.get_by_date_and_location(date.today(), "Heidelberg") self.assertIsNotNone(report2)
def get_updates(): data = request.get_json(force=True) date = data.get('date') if date is None: return jsonify({'status': 'error', 'error': 'No date received'}) try: reports = Report.get_updates(date) return jsonify({ 'status': 'success', 'reports': [rep.to_summary() for rep in reports] }) except Exception as e: return jsonify({'status': 'error', 'error': str(e)})
def get_next_N_reports(): if 'json' not in request.content_type: return jsonify({'status': 'error', 'error': 'content type should be json. Got instead: {}'.format(request.content_type)}) data = request.get_json(force=True) if data is None: return jsonify({'status': 'error', 'error': 'No data received or is not a valid json'}) N = data.get('N') location = data.get('location') date = data.get('date') try: reports = Report.get_next_N_reports(location, date, N) except Exception as e: return jsonify({'status': 'error', 'error': str(e)}) return jsonify({'status': 'success', 'reports': [rep.to_summary() for rep in reports]})
def report_exists(): if 'json' not in request.content_type: return jsonify({'status': 'error', 'error': 'content type should be json. Got instead: {}'.format(request.content_type)}) data = request.get_json(force=True) if data is None: return jsonify({'status': 'error', 'error': 'No data received or is not a valid json'}) date = data.get('date') location = data.get('location') try: report = Report.get_by_date_and_location(date, location) except Exception as e: return jsonify({'status': 'error', 'error': str(e)}) response = {'status': 'success', 'report_exists': False} if report is not None: response['report_exists'] = True response['report_id'] = report.id return jsonify(response)
def get_by_location_and_date(): if 'json' not in request.content_type: return jsonify({'status': 'error', 'error': 'content type should be json. Got instead: {}'.format(request.content_type)}) data = request.get_json(force=True) if data is None: return jsonify({'status': 'error', 'error': 'No data received or is not a valid json'}) date = data.get('date') location = data.get('location') # if no report in the database, empty dict will be returned response = {'status': 'success', 'report': {}} try: report = Report.get_by_date_and_location(date, location) except Exception as e: return jsonify({'status': 'error', 'error': str(e)}) if report: response['report'] = report.to_json() return jsonify(response)
def test_create_report(self): report = Report() report.location = "Heidelberg" self.assertEqual(report.location, "Heidelberg") self.assertNotEqual(report.location, "")
def get_last_report(): try: report = Report.get_last_report() return jsonify({'status': 'success', 'report': report.to_json()}) except Exception as e: return jsonify({'status': 'error', 'error': str(e)})
def save_report(): if 'json' not in request.content_type: return jsonify({'status': 'error', 'error': 'content type should be json. Got instead: {}'.format(request.content_type)}) data = request.get_json(force=True) if data is None: return jsonify({'status': 'error', 'error': 'No report received or data is not a valid json'}) report = Report() report.date = data.get('meeting_date') report.start_time = data.get('start_time') report.end_time = data.get('end_time') report.location = data.get('location') report.female_organizers = data.get('female_organisers') report.male_organizers = data.get('male_organisers') report.other_organizers = data.get('diverse_organisers') report.male_attendees = data.get('male_regular_attendees') report.female_attendees = data.get('female_regular_attendees') report.other_attendees = data.get('diverse_regular_attendees') report.female_new_attendees = data.get('female_new_attendees') report.male_new_attendees = data.get('male_new_attendees') report.other_new_attendees = data.get('diverse_new_attendees') report.report_saved = datetime.date.today().isoformat() report.report_created = data.get('report_created_date', datetime.date.today().isoformat()) report.report_created = dt_parse(report.report_created).date().isoformat() report.topics = data.get('topics') report.important_notes = data.get('notes') report_id = data.get('id') try: if report_id != -1: existing_report = Report.get_by_id(report_id) if existing_report is not None: existing_report.update(report) else: report.save() else: report.save() error = None status = 'success' except Exception as e: status = 'error' error = str(e) return jsonify({'status': status, 'error': error, 'report_id': report.id})