onadata.apps.viewer package¶
Subpackages¶
- onadata.apps.viewer.management package
- onadata.apps.viewer.migrations package
- Submodules
- onadata.apps.viewer.migrations.0001_initial module
- onadata.apps.viewer.migrations.0001_pre-django-3-upgrade module
- onadata.apps.viewer.migrations.0002_alter_export_export_type module
- onadata.apps.viewer.migrations.0002_export_options module
- onadata.apps.viewer.migrations.0003_auto_20151226_0100 module
- onadata.apps.viewer.migrations.0003_genericexport module
- onadata.apps.viewer.migrations.0004_auto_20151226_0109 module
- onadata.apps.viewer.migrations.0005_auto_20160408_0325 module
- onadata.apps.viewer.migrations.0006_auto_20160418_0525 module
- onadata.apps.viewer.migrations.0007_export_error_message module
- onadata.apps.viewer.migrations.0008_auto_20190125_0517 module
- onadata.apps.viewer.migrations.0009_alter_export_options module
- Module contents
- onadata.apps.viewer.models package
- Subpackages
- Submodules
- onadata.apps.viewer.models.column_rename module
- onadata.apps.viewer.models.data_dictionary module
- onadata.apps.viewer.models.export module
ExportExport.DoesNotExistExport.MultipleObjectsReturnedExport.created_onExport.error_messageExport.export_typeExport.export_urlExport.exports_outdated()Export.filedirExport.filenameExport.get_export_type_display()Export.get_next_by_created_on()Export.get_previous_by_created_on()Export.idExport.internal_statusExport.is_filename_unique()Export.objectsExport.optionsExport.save()Export.set_filename()Export.task_idExport.time_of_last_submissionExport.xformExport.xform_id
ExportBaseModelExportBaseModel.CSV_EXPORTExportBaseModel.CSV_ZIP_EXPORTExportBaseModel.EXPORT_MIMESExportBaseModel.EXPORT_OPTION_FIELDSExportBaseModel.EXPORT_TYPESExportBaseModel.EXPORT_TYPE_DICTExportBaseModel.EXTERNAL_EXPORTExportBaseModel.FAILEDExportBaseModel.GEOJSON_EXPORTExportBaseModel.GOOGLE_SHEETS_EXPORTExportBaseModel.KML_EXPORTExportBaseModel.MAX_EXPORTSExportBaseModel.MetaExportBaseModel.OSM_EXPORTExportBaseModel.PENDINGExportBaseModel.SAV_EXPORTExportBaseModel.SAV_ZIP_EXPORTExportBaseModel.SUCCESSFULExportBaseModel.XLSX_EXPORTExportBaseModel.ZIP_EXPORTExportBaseModel.created_onExportBaseModel.error_messageExportBaseModel.export_typeExportBaseModel.export_urlExportBaseModel.filedirExportBaseModel.filenameExportBaseModel.filepathExportBaseModel.full_filepathExportBaseModel.get_export_type_display()ExportBaseModel.get_next_by_created_on()ExportBaseModel.get_previous_by_created_on()ExportBaseModel.internal_statusExportBaseModel.is_pendingExportBaseModel.is_successfulExportBaseModel.optionsExportBaseModel.statusExportBaseModel.task_idExportBaseModel.time_of_last_submission
ExportConnectionErrorExportTypeErrorGenericExportGenericExport.DoesNotExistGenericExport.MultipleObjectsReturnedGenericExport.content_objectGenericExport.content_typeGenericExport.content_type_idGenericExport.created_onGenericExport.error_messageGenericExport.export_typeGenericExport.export_urlGenericExport.exports_outdated()GenericExport.filedirGenericExport.filenameGenericExport.get_export_type_display()GenericExport.get_next_by_created_on()GenericExport.get_object_content_type()GenericExport.get_previous_by_created_on()GenericExport.idGenericExport.internal_statusGenericExport.is_filename_unique()GenericExport.object_idGenericExport.objectsGenericExport.optionsGenericExport.save()GenericExport.task_idGenericExport.time_of_last_submission
export_delete_callback()get_export_options_query_kwargs()
- onadata.apps.viewer.models.parsed_instance module
ParseErrorParsedInstanceParsedInstance.DEFAULT_BATCHSIZEParsedInstance.DEFAULT_LIMITParsedInstance.DoesNotExistParsedInstance.MultipleObjectsReturnedParsedInstance.STATUSParsedInstance.USERFORM_IDParsedInstance.add_note()ParsedInstance.dicts()ParsedInstance.end_timeParsedInstance.get_notes()ParsedInstance.idParsedInstance.instanceParsedInstance.instance_idParsedInstance.latParsedInstance.lngParsedInstance.objectsParsedInstance.remove_note()ParsedInstance.save()ParsedInstance.start_timeParsedInstance.to_dict()ParsedInstance.to_dict_for_mongo()
build_sql_where()datetime_from_str()dict_for_mongo()exclude_deleting_submissions_clause()get_etag_hash_from_query()get_name_from_survey_element()get_sql_with_params()query_count()query_data()query_fields_data()
- Module contents
- onadata.apps.viewer.templatetags package
- onadata.apps.viewer.tests package
- Submodules
- onadata.apps.viewer.tests.export_helpers module
- onadata.apps.viewer.tests.test_attachment_url module
TestAttachmentUrlTestAttachmentUrl.setUp()TestAttachmentUrl.tearDown()TestAttachmentUrl.test_attachment_has_mimetype()TestAttachmentUrl.test_attachment_not_found()TestAttachmentUrl.test_attachment_url()TestAttachmentUrl.test_attachment_url_has_azure_sas_token()TestAttachmentUrl.test_attachment_url_no_redirect()TestAttachmentUrl.test_attachment_url_w_media_id()TestAttachmentUrl.test_attachment_url_w_media_id_no_redirect()
- onadata.apps.viewer.tests.test_charts_view module
- onadata.apps.viewer.tests.test_data_view module
TestDataViewTestDataView.setUp()TestDataView.test_allow_if_shared()TestDataView.test_allow_if_user_given_permission()TestDataView.test_data_view()TestDataView.test_data_view_with_username_and_id_string_in_uppercase()TestDataView.test_disallow_if_user_permission_revoked()TestDataView.test_restrict_for_anon()TestDataView.test_restrict_for_not_owner()
- onadata.apps.viewer.tests.test_export_list module
TestDataExportURLTestDataExportURL.setUp()TestDataExportURL.test_csv_export_url()TestDataExportURL.test_csv_export_url_without_records()TestDataExportURL.test_csv_zip_export_url()TestDataExportURL.test_sav_zip_export_long_variable_length()TestDataExportURL.test_sav_zip_export_url()TestDataExportURL.test_xlsx_export_url()
TestExportListTestExportList.setUp()TestExportList.test_csv_export_list()TestExportList.test_csv_zip_export_list()TestExportList.test_export_data_with_unavailable_id_string()TestExportList.test_external_export_list()TestExportList.test_external_export_list_no_template()TestExportList.test_kml_export_list()TestExportList.test_sav_zip_export_list()TestExportList.test_unauthorised_users_cannot_export_form_data()TestExportList.test_unsupported_type_export()TestExportList.test_xls_export_not_supported()TestExportList.test_xlsx_export_list()TestExportList.test_zip_export_list()
- onadata.apps.viewer.tests.test_exports module
TestExportsTestExports.FakeDateTestExports.setUp()TestExports.test_404_on_export_io_error()TestExports.test_add_index_to_filename()TestExports.test_all_keys_cleaned_of_slashes()TestExports.test_auto_export_if_none_exists()TestExports.test_column_header_delimiter_export_option()TestExports.test_create_export()TestExports.test_create_export_url()TestExports.test_create_export_url_with_unavailable_id_string()TestExports.test_create_external_export_url()TestExports.test_create_external_export_url_with_non_existing_export_id()TestExports.test_create_external_export_without_template()TestExports.test_create_xlsx_export_non_existent_id()TestExports.test_csv_http_response()TestExports.test_csv_without_na_values()TestExports.test_delete_export_url()TestExports.test_delete_file_on_export_delete()TestExports.test_delete_oldest_export_on_limit()TestExports.test_deleted_submission_not_in_export()TestExports.test_dict_to_joined_export_notes()TestExports.test_dict_to_joined_export_works()TestExports.test_direct_export_returns_newest_export_if_not_updated_since()TestExports.test_dont_auto_export_if_exports_exist()TestExports.test_duplicate_export_filename_is_renamed()TestExports.test_edited_submissions_in_exports()TestExports.test_export_download_url()TestExports.test_export_ids_dont_have_comma_separation()TestExports.test_export_progress_output()TestExports.test_export_progress_updates()TestExports.test_exports_outdated_considers_pending_exports()TestExports.test_exports_outdated_doesnt_consider_failed_exports()TestExports.test_generate_csv_zip_export()TestExports.test_graceful_exit_on_export_delete_if_file_doesnt_exist()TestExports.test_invalid_export_type()TestExports.test_last_submission_time_empty()TestExports.test_last_submission_time_on_export()TestExports.test_query_data_with_invalid_args()TestExports.test_responses_for_empty_exports()TestExports.test_split_select_multiple_export_option()TestExports.test_unique_xls_sheet_name()
TestGetExportOptionsQueryKwargs
- onadata.apps.viewer.tests.test_instance_view module
TestInstanceViewTestInstanceView.setUp()TestInstanceView.test_allow_if_shared()TestInstanceView.test_allow_if_user_given_permission()TestInstanceView.test_disallow_if_user_permission_revoked()TestInstanceView.test_instance_view()TestInstanceView.test_restrict_for_anon()TestInstanceView.test_restrict_for_not_owner()
- onadata.apps.viewer.tests.test_kml_export module
- onadata.apps.viewer.tests.test_map_view module
- onadata.apps.viewer.tests.test_parsed_instance module
TestParsedInstanceTestParsedInstance.test_get_where_clause_or_date_range()TestParsedInstance.test_get_where_clause_with_integer()TestParsedInstance.test_get_where_clause_with_json_query()TestParsedInstance.test_get_where_clause_with_string_query()TestParsedInstance.test_invalid_date_format()TestParsedInstance.test_parse_sort_fields_function()TestParsedInstance.test_parse_where_clause_simple_query()TestParsedInstance.test_parse_where_with_date_value()TestParsedInstance.test_parse_where_with_null_value()TestParsedInstance.test_retrieve_records_based_on_form_verion()TestParsedInstance.test_retrieve_records_using_list_of_queries()
- onadata.apps.viewer.tests.test_stats_table_view module
- onadata.apps.viewer.tests.test_tasks module
- Module contents
Submodules¶
onadata.apps.viewer.admin module¶
onadata.apps.viewer.parsed_instance_tools module¶
ParsedInstance model utility functions
- onadata.apps.viewer.parsed_instance_tools.get_where_clause(query, form_integer_fields=None, form_decimal_fields=None)¶
Returns where clause and related parameters.
onadata.apps.viewer.signals module¶
Viewer signals module.
- onadata.apps.viewer.signals.post_save_osm_data(instance_id)¶
Process OSM data post submission.
- onadata.apps.viewer.signals.post_save_submission(sender, **kwargs)¶
Calls webhooks and OSM data processing for ParsedInstance/Instance model.
onadata.apps.viewer.tasks module¶
Export tasks.
- onadata.apps.viewer.tasks.create_async_export(xform, export_type, query, force_xlsx, options=None)¶
Starts asynchronous export tasks and returns an export object.
Throws ExportTypeError if export_type is not in EXPORT_TYPES. Throws ExportConnectionError if rabbitmq broker is down.
onadata.apps.viewer.views module¶
data views.
- onadata.apps.viewer.views.add_submission_with(request, username, id_string)¶
Returns JSON response with Enketo form url preloaded with coordinates.
- onadata.apps.viewer.views.attachment_url(request, size='medium')¶
Redirects to image attachment of the specified size, defaults to ‘medium’.
- onadata.apps.viewer.views.average(values)¶
Get average of a list of values.
- onadata.apps.viewer.views.charts(request, username, id_string)¶
Charts view.
- onadata.apps.viewer.views.create_export(request, username, id_string, export_type)¶
Create async export tasks view.
- onadata.apps.viewer.views.data_export(request, username, id_string, export_type)¶
Data export view.
- onadata.apps.viewer.views.data_view(request, username, id_string)¶
Data view displays submission data.
- onadata.apps.viewer.views.delete_export(request, username, id_string, export_type)¶
Delete export view.
- onadata.apps.viewer.views.encode(time_str)¶
Reformat a time string into YYYY-MM-dd HH:mm:ss.
- onadata.apps.viewer.views.export_download(request, username, id_string, export_type, filename)¶
Export download view.
- onadata.apps.viewer.views.export_list(request, username, id_string, export_type)¶
Export list view.
- onadata.apps.viewer.views.export_progress(request, username, id_string, export_type)¶
Async export progress view.
- onadata.apps.viewer.views.format_date_for_mongo(time_str)¶
Reformat a time string into YYYY-MM-ddTHH:mm:ss.
- onadata.apps.viewer.views.google_xlsx_export(request, username, id_string)¶
Google export view, uploads an excel export to google drive and then redirects to the uploaded google sheet.
- onadata.apps.viewer.views.instance(request, username, id_string)¶
Data view for browsing submissions one at a time.
- onadata.apps.viewer.views.instances_for_export(data_dictionary, start=None, end=None)¶
Returns Instance submission queryset filtered by start and end dates.
- onadata.apps.viewer.views.kml_export(request, username, id_string)¶
KML export view.
- onadata.apps.viewer.views.map_embed_view(request, username, id_string)¶
Embeded map view.
- onadata.apps.viewer.views.map_view(request, username, id_string, template='map.html')¶
Map view.
- onadata.apps.viewer.views.set_instances_for_export(id_string, owner, request)¶
Apply start and end filters to DataDictionary.instances_for_export.
Returns True/False and DataDictionary/HttpResponseBadRequest if the process is successful or not respectively.
- onadata.apps.viewer.views.stats_tables(request, username, id_string)¶
Stats view.
- onadata.apps.viewer.views.thank_you_submission(request, username, id_string)¶
Thank you view after successful submission.
- onadata.apps.viewer.views.zip_export(request, username, id_string)¶
Zip export view.
onadata.apps.viewer.xls_writer module¶
XlsWriter module - generate a spreadsheet workbook in XLSX format.
- class onadata.apps.viewer.xls_writer.XlsWriter¶
Bases:
objectXlsWriter class - generate a spreadsheet workbook in XLSX format.
- add_column(sheet_name, column_name)¶
Add a
column_nameto the givensheet_nameto this workbook.
- add_obs(obs)¶
Add data in
obsdictionary into specified sheets to this workbook.
- add_row(sheet_name, row)¶
Add a
rowto the givensheet_nameto this workbook.
- add_sheet(name)¶
Add a given
namesheet to this workbook.
- reset_workbook()¶
Reset a Workbook to sensible default.
- save_workbook_to_file()¶
Saves the XLSX workbook to a file.
- set_data_dictionary(data_dictionary)¶
Set the data_dictionary XForm model object for this class.
- set_file(file_object=None)¶
If the file object is None use a StringIO object.
- write_tables_to_workbook(tables)¶
tables should be a list of pairs, the first element in the pair is the name of the table, the second is the actual data.
TODO: figure out how to write to the xls file rather than keep the whole workbook in memory.