diff options
Diffstat (limited to 'ishtar_common/serializers.py')
| -rw-r--r-- | ishtar_common/serializers.py | 40 | 
1 files changed, 35 insertions, 5 deletions
diff --git a/ishtar_common/serializers.py b/ishtar_common/serializers.py index bd0dac3d4..7e61df517 100644 --- a/ishtar_common/serializers.py +++ b/ishtar_common/serializers.py @@ -34,14 +34,17 @@ class PublicSerializer(serializers.BaseSerializer):  TYPE_MODEL_EXCLUDE = ["Area", "OperationTypeOld"] -def type_serialization(archive=False, return_empty_types=False, -                       archive_name=None): -    TYPE_MODEL_LIST = [ +def get_type_models(): +    return [          model for model in apps.get_models()          if isinstance(model(), models.GeneralType) and ( -            model.__name__ not in TYPE_MODEL_EXCLUDE) +                model.__name__ not in TYPE_MODEL_EXCLUDE)      ] -    result = generic_get_results(TYPE_MODEL_LIST, "types") + + +def type_serialization(archive=False, return_empty_types=False, +                       archive_name=None): +    result = generic_get_results(get_type_models(), "types")      return archive_serialization(result, archive_dir="types", archive=archive,                                   return_empty_types=return_empty_types,                                   archive_name=archive_name) @@ -176,6 +179,33 @@ def document_serialization(archive=False, return_empty_types=False,      return full_archive +def full_serialization(operation_queryset=None, site_queryset=None, +                       cr_queryset=None, find_queryset=None, +                       warehouse_queryset=None): +    archive_name = type_serialization() +    conf_serialization(archive_name=archive_name) +    importer_serialization(archive_name=archive_name) +    geo_serialization(archive_name=archive_name) +    directory_serialization(archive_name=archive_name) +    document_serialization(archive_name=archive_name) +    operation_serialization( +        archive_name=archive_name, operation_queryset=operation_queryset, +        site_queryset=site_queryset, cr_queryset=cr_queryset, +        find_queryset=find_queryset, warehouse_queryset=warehouse_queryset) +    cr_serialization( +        archive_name=archive_name, operation_queryset=operation_queryset, +        site_queryset=site_queryset, cr_queryset=cr_queryset, +        find_queryset=find_queryset, warehouse_queryset=warehouse_queryset) +    find_serialization( +        archive_name=archive_name, operation_queryset=operation_queryset, +        site_queryset=site_queryset, cr_queryset=cr_queryset, +        find_queryset=find_queryset, warehouse_queryset=warehouse_queryset) +    warehouse_serialization( +        archive_name=archive_name, operation_queryset=operation_queryset, +        site_queryset=site_queryset, cr_queryset=cr_queryset, +        find_queryset=find_queryset, warehouse_queryset=warehouse_queryset) + +  def restore_serialized(archive_name, delete_existing=False):      with zipfile.ZipFile(archive_name, "r") as zip_file:          # check version  | 
