onadata.apps.logger package

Subpackages

Submodules

onadata.apps.logger.admin module

Logger admin module.

class onadata.apps.logger.admin.FilterByUserMixin

Bases: object

Filter queryset by request.user.

get_queryset(request)

Returns queryset filtered by the request.user.

class onadata.apps.logger.admin.ProjectAdmin(*args, **kwargs)

Bases: FilterByUserMixin, VersionAdmin, ModelAdmin

Customise the Project admin view.

list_max_show_all = 2000
property media
ordering = ['name']
search_fields = ('name', 'organization__username', 'organization__email')
user_lookup_field = 'organization'
class onadata.apps.logger.admin.XFormAdmin(model, admin_site)

Bases: FilterByUserMixin, ModelAdmin

Customise the XForm admin view.

actions = ['restore_form']
delete_model(request, obj)

Override delete_model to perform soft deletion on a single XForm.

delete_queryset(request, queryset)

Override delete_queryset to perform soft deletion on XForms.

exclude = ('user',)
internal_id(obj)

Display the internal ID.

list_display = ('internal_id', 'id_string', 'project_id', 'downloadable', 'shared')
property media
restore_form(request, queryset)

Custom admin action to restore soft-deleted XForms.

search_fields = ('id', 'id_string', 'title', 'project__id', 'project__name')
user_lookup_field = 'user'

onadata.apps.logger.apps module

Loggger AppsConfig module

class onadata.apps.logger.apps.LoggerConfig(app_name, app_module)

Bases: AppConfig

Logger AppsConfig class.

name = 'onadata.apps.logger'
ready()

Override this method in subclasses to run code when Django starts.

verbose_name = 'Logger'

onadata.apps.logger.factory module

Factory utility functions.

class onadata.apps.logger.factory.XFormManagerFactory

Bases: object

XForm manager factory.

create_registration_instance(custom_values=None)

Create registration instance.

create_registration_xform()

Calls ‘get_registration_xform’, saves the result, and returns.

create_simple_xform()

Creates and returns xform.

get_registration_instance(custom_values=None)
  1. Checks to see if the registration form has been created alread. If not, it loads it in.

  2. Loads a registration instance.

get_registration_xform()

Gets a registration xform. (currently loaded in from fixture) Returns it without saving.

get_simple_instance(custom_values=None)

Returns a simple submission instance.

get_simple_xform()

Returns a simple xform.

onadata.apps.logger.import_tools module

Import forms and submission utility functions.

onadata.apps.logger.import_tools.django_file(path, field_name, content_type)

Returns an InMemoryUploadedFile object of a given file at the path.

onadata.apps.logger.import_tools.import_instance(username, xform_path, photos, osm_files, status)

This callback is passed an instance of a XFormInstanceFS. See xform_fs.py for more info.

onadata.apps.logger.import_tools.import_instances_from_path(path, user, status='zip', is_async=False)

Process all submission instances in the given directory tree at path.

onadata.apps.logger.import_tools.import_instances_from_zip(zipfile_path, user, status='zip')

Unzips a zip file and imports submission instances from it.

onadata.apps.logger.import_tools.iterate_through_instances(dirpath, callback, user=None, status='zip', is_async=False)

Iterate through all files and directories in the given dirpath.

onadata.apps.logger.signals module

logger signals module

onadata.apps.logger.signals.create_or_update_entity(sender, instance, created=False, **kwargs)

Create or update an Entity after Instance saved

onadata.apps.logger.signals.decrement_entity_list_num_entities(sender, instance, **kwargs)

Decrement EntityList num_entities

onadata.apps.logger.signals.delete_entity_list_metadata(sender, instance, **kwargs)

Delete EntityList related data on delete

onadata.apps.logger.signals.increment_entity_list_num_entities(sender, instance, created=False, **kwargs)

Increment EntityList num_entities

onadata.apps.logger.signals.set_entity_list_perms(sender, instance, created=False, **kwargs)

Set project permissions to EntityList

onadata.apps.logger.signals.update_last_entity_update_time(sender, instance, **kwargs)

Update EntityList last_entity_update_time

onadata.apps.logger.signals.update_last_entity_update_time_now(sender, instance, **kwargs)

Update EntityList last_entity_update_time

onadata.apps.logger.tasks module

Asynchronous tasks for the logger app

onadata.apps.logger.views module

logger views.

onadata.apps.logger.views.bulksubmission(request, username)

Bulk submission view.

onadata.apps.logger.views.bulksubmission_form(request, username=None)

Bulk submission form view

onadata.apps.logger.views.delete_xform(request, username, id_string)

Delete XForm view.

onadata.apps.logger.views.download_jsonform(request, username, id_string)

XForm JSON view.

onadata.apps.logger.views.download_xform(request, username, id_string)

Download XForm XML view.

onadata.apps.logger.views.download_xlsform(request, username, id_string)

Download XLSForm view.

onadata.apps.logger.views.edit_data(request, username, id_string, data_id)

Redirects to Enketo webform to edit a submission with the data_id.

onadata.apps.logger.views.enter_data(request, username, id_string)

Redirects to Enketo webform view.

onadata.apps.logger.views.formList(request, username)

formList view, /formList OpenRosa Form Discovery API 1.0.

onadata.apps.logger.views.form_upload(request, username)

XForm upload view.

Briefcase Aggregate API /formUpload.

onadata.apps.logger.views.submission(request, username=None)

Submission view, /submission of the OpenRosa Form Submission API 1.0.

onadata.apps.logger.views.toggle_downloadable(request, username, id_string)

Toggle XForm view, changes downloadable status of a form.

onadata.apps.logger.views.view_download_submission(request, username)

Submission download view.

Briefcase Aggregate API view/downloadSubmissionList.

onadata.apps.logger.views.view_submission_list(request, username)

Submission list view.

Briefcase Aggregate API view/submissionList.

onadata.apps.logger.views.xformsManifest(request, username, id_string)

XFormManifest view, part of OpenRosa Form Discovery API 1.0.

onadata.apps.logger.xform_fs module

ODK Collect/Briefcase XForm instances folder traversal.

class onadata.apps.logger.xform_fs.XFormInstanceFS(filepath)

Bases: object

A class to traverse an ODK Collect/Briefcase XForm instances folder.

classmethod is_valid_instance(filepath)

Returns True if the XML at filepath is a valid XML file.

property metadata_directory

Returns the metadata directory.

property osm

Returns all .osm file paths.

property photos

Returns all .jpg file paths.

property xml

Returns the submission XML

onadata.apps.logger.xform_instance_parser module

XForm submission XML parser utility functions.

exception onadata.apps.logger.xform_instance_parser.AttachmentNameError

Bases: Exception

exception onadata.apps.logger.xform_instance_parser.DuplicateInstance

Bases: Exception

exception onadata.apps.logger.xform_instance_parser.InstanceEmptyError

Bases: InstanceParseError

exception onadata.apps.logger.xform_instance_parser.InstanceEncryptionError

Bases: Exception

exception onadata.apps.logger.xform_instance_parser.InstanceFormatError

Bases: Exception

exception onadata.apps.logger.xform_instance_parser.InstanceInvalidUserError

Bases: Exception

exception onadata.apps.logger.xform_instance_parser.InstanceMultipleNodeError

Bases: Exception

exception onadata.apps.logger.xform_instance_parser.InstanceParseError

Bases: Exception

exception onadata.apps.logger.xform_instance_parser.NonUniqueFormIdError

Bases: Exception

class onadata.apps.logger.xform_instance_parser.XFormInstanceParser(xml_str, data_dictionary)

Bases: object

XFormInstanceParser - parses an XML string into an XML object.

get(abbreviated_xpath)
get_attributes()
get_flat_dict_with_attributes()

Adds the submission XML top level attributes to the resulting python object.

get_root_node()
get_root_node_name()
get_version()

Returns the submission XML version attribute.

get_xform_id_string()

Returns the submission XML id attribute.

parse(xml_str)

Parses a submission XML into a python dictionary object.

to_dict()
to_flat_dict()
exception onadata.apps.logger.xform_instance_parser.XLSFormError

Bases: Exception

onadata.apps.logger.xform_instance_parser.clean_and_parse_xml(xml_string)

Removes spaces between XML tags in xml_string

Returns an XML object via minidom.parseString(xml_string)

onadata.apps.logger.xform_instance_parser.get_deprecated_uuid_from_xml(xml)

Returns the deprecatedID from submission XML

onadata.apps.logger.xform_instance_parser.get_entity_uuid_from_xml(xml)

Returns the uuid for the XML submission’s entity

onadata.apps.logger.xform_instance_parser.get_meta_from_xml(xml_str, meta_name)

Return the meta section of an XForm submission XML.

onadata.apps.logger.xform_instance_parser.get_submission_date_from_xml(xml)

Returns submissionDate from an XML submission.

onadata.apps.logger.xform_instance_parser.get_uuid_from_xml(xml)

Returns the uuid of an XForm submisison XML

onadata.apps.logger.xform_instance_parser.parse_xform_instance(xml_str, data_dictionary)

Parses an XForm submission XML into a flattened python object with additional attributes.

onadata.apps.logger.xform_instance_parser.xform_instance_to_dict(xml_str, data_dictionary)

Parses an XForm submission XML into a python object.

onadata.apps.logger.xform_instance_parser.xform_instance_to_flat_dict(xml_str, data_dictionary)

Parses an XForm submission XML into a flattened python object.

onadata.apps.logger.xform_instance_parser.xpath_from_xml_node(node)

Returns the xpath of an XML node.

Module contents