clear-skies 1.19.30__tar.gz → 1.19.31__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of clear-skies might be problematic. Click here for more details.
- {clear_skies-1.19.30 → clear_skies-1.19.31}/PKG-INFO +1 -1
- {clear_skies-1.19.30 → clear_skies-1.19.31}/pyproject.toml +1 -1
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/column_types/__init__.py +5 -0
- clear_skies-1.19.31/src/clearskies/column_types/timestamp.py +72 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/LICENSE +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/README.md +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/__init__.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/application.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/authentication/__init__.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/authentication/auth0_jwks.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/authentication/auth_exception.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/authentication/authorization.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/authentication/jwks.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/authentication/jwks_jwcrypto.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/authentication/public.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/authentication/secret_bearer.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/__init__.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/formats/__init__.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/formats/oai3_json/__init__.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/formats/oai3_json/oai3_json.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/formats/oai3_json/oai3_schema_resolver.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/formats/oai3_json/parameter.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/formats/oai3_json/request.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/formats/oai3_json/response.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/formats/oai3_json/schema/__init__.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/formats/oai3_json/schema/array.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/formats/oai3_json/schema/default.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/formats/oai3_json/schema/enum.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/formats/oai3_json/schema/object.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/formats/oai3_json/test.json +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/request/__init__.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/request/header.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/request/json_body.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/request/request.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/request/url_parameter.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/request/url_path.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/response/__init__.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/response/response.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/schema/__init__.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/schema/array.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/schema/base64.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/schema/boolean.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/schema/date.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/schema/datetime.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/schema/double.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/schema/enum.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/schema/integer.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/schema/long.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/schema/number.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/schema/object.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/schema/password.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/schema/string.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/backends/__init__.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/backends/api_backend.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/backends/backend.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/backends/cursor_backend.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/backends/example_backend.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/backends/file_backend.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/backends/json_backend.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/backends/memory_backend.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/backends/restful_api_advanced_search_backend.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/backends/secrets_backend.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/binding_config.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/column_types/audit.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/column_types/belongs_to.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/column_types/boolean.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/column_types/category_tree.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/column_types/column.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/column_types/created.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/column_types/created_by_authorization_data.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/column_types/created_by_header.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/column_types/created_by_ip.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/column_types/created_by_routing_data.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/column_types/created_by_user_agent.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/column_types/created_micro.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/column_types/datetime.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/column_types/datetime_micro.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/column_types/email.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/column_types/float.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/column_types/has_many.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/column_types/integer.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/column_types/json.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/column_types/many_to_many.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/column_types/many_to_many_with_data.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/column_types/phone.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/column_types/select.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/column_types/string.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/column_types/updated.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/column_types/updated_micro.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/column_types/uuid.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/columns.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/condition_parser.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/contexts/__init__.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/contexts/bash.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/contexts/build_context.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/contexts/cli.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/contexts/context.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/contexts/convert_to_application.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/contexts/extract_handler.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/contexts/test.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/contexts/wsgi.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/decorators/__init__.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/decorators/auth0_jwks.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/decorators/authorization.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/decorators/binding_classes.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/decorators/binding_modules.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/decorators/bindings.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/decorators/create.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/decorators/delete.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/decorators/docs.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/decorators/get.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/decorators/jwks.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/decorators/merge.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/decorators/patch.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/decorators/post.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/decorators/public.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/decorators/response_headers.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/decorators/return_raw_response.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/decorators/schema.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/decorators/secret_bearer.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/decorators/security_headers.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/di/__init__.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/di/additional_config.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/di/additional_config_auto_import.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/di/di.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/di/standard_dependencies.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/di/test_module/__init__.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/di/test_module/another_module/__init__.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/di/test_module/module_class.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/environment.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/functional/__init__.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/functional/string.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/functional/validations.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/handlers/__init__.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/handlers/advanced_search.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/handlers/base.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/handlers/callable.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/handlers/create.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/handlers/crud_by_method.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/handlers/database_connector.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/handlers/delete.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/handlers/exceptions/__init__.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/handlers/exceptions/authentication.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/handlers/exceptions/authorization.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/handlers/exceptions/client_error.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/handlers/exceptions/input_error.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/handlers/exceptions/not_found.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/handlers/get.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/handlers/health_check.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/handlers/input_processing.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/handlers/list.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/handlers/mygrations.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/handlers/request_method_routing.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/handlers/restful_api.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/handlers/routing.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/handlers/schema_helper.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/handlers/simple_routing.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/handlers/simple_routing_route.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/handlers/simple_search.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/handlers/update.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/handlers/write.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/input_outputs/__init__.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/input_outputs/cli.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/input_outputs/exceptions/__init__.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/input_outputs/exceptions/cli_input_error.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/input_outputs/exceptions/cli_not_found.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/input_outputs/input_output.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/input_outputs/wsgi.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/input_requirements/__init__.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/input_requirements/after.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/input_requirements/before.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/input_requirements/in_the_future_at_least.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/input_requirements/in_the_future_at_most.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/input_requirements/in_the_past_at_least.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/input_requirements/in_the_past_at_most.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/input_requirements/maximum_length.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/input_requirements/maximum_value.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/input_requirements/minimum_length.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/input_requirements/minimum_value.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/input_requirements/required.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/input_requirements/requirement.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/input_requirements/time_delta.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/input_requirements/unique.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/mocks/__init__.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/mocks/input_output.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/mocks/models.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/model.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/models.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/secrets/__init__.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/secrets/additional_configs/__init__.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/secrets/additional_configs/mysql_connection_dynamic_producer.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/secrets/additional_configs/mysql_connection_dynamic_producer_via_ssh_cert_bastion.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/secrets/akeyless.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/secrets/exceptions/__init__.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/secrets/exceptions/not_found.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/secrets/secrets.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/security_headers/__init__.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/security_headers/base.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/security_headers/cache_control.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/security_headers/cors.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/security_headers/csp.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/security_headers/hsts.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/security_headers/x_content_type_options.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/security_headers/x_frame_options.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/tests/__init__.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/tests/simple_api/__init__.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/tests/simple_api/models/__init__.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/tests/simple_api/models/status.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/tests/simple_api/models/user.py +0 -0
- {clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/tests/simple_api/users_api.py +0 -0
|
@@ -22,6 +22,7 @@ from .many_to_many_with_data import ManyToManyWithData
|
|
|
22
22
|
from .phone import Phone
|
|
23
23
|
from .select import Select
|
|
24
24
|
from .string import String
|
|
25
|
+
from .timestamp import Timestamp
|
|
25
26
|
from .updated import Updated
|
|
26
27
|
from .updated_micro import UpdatedMicro
|
|
27
28
|
from .uuid import UUID
|
|
@@ -123,6 +124,10 @@ def string(name, **kwargs):
|
|
|
123
124
|
return build_column_config(name, String, **kwargs)
|
|
124
125
|
|
|
125
126
|
|
|
127
|
+
def timestamp(name, **kwargs):
|
|
128
|
+
return build_column_config(name, Timestamp, **kwargs)
|
|
129
|
+
|
|
130
|
+
|
|
126
131
|
def updated(name, **kwargs):
|
|
127
132
|
return build_column_config(name, Updated, **kwargs)
|
|
128
133
|
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
from .datetime import DateTime
|
|
2
|
+
from datetime import datetime, timezone
|
|
3
|
+
import dateparser
|
|
4
|
+
from ..autodoc.schema import DateTime as AutoDocDateTime
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class Timestamp(DateTime):
|
|
8
|
+
my_configs = [
|
|
9
|
+
"date_format",
|
|
10
|
+
"milliseconds",
|
|
11
|
+
]
|
|
12
|
+
|
|
13
|
+
def _finalize_configuration(self, configuration):
|
|
14
|
+
return {
|
|
15
|
+
**{
|
|
16
|
+
"date_format": self._date_format,
|
|
17
|
+
"milliseconds": False,
|
|
18
|
+
},
|
|
19
|
+
**super()._finalize_configuration(configuration),
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
def from_backend(self, value):
|
|
23
|
+
mult = 1000 if self.config("milliseconds") else 1
|
|
24
|
+
if not value:
|
|
25
|
+
date = None
|
|
26
|
+
elif isinstance(value, str):
|
|
27
|
+
if not value.isdigit():
|
|
28
|
+
raise ValueError(
|
|
29
|
+
f"Invalid data was found in the backend for model {self.model_class.__name__} and column {self.name}: a string value was found that is not a timestamp. It was '{value}'"
|
|
30
|
+
)
|
|
31
|
+
date = datetime.fromtimestamp(int(value) / mult)
|
|
32
|
+
elif isinstance(value, int):
|
|
33
|
+
date = datetime.fromtimestamp(value / mult)
|
|
34
|
+
else:
|
|
35
|
+
if not isinstance(value, datetime):
|
|
36
|
+
raise ValueError(
|
|
37
|
+
f"Invalid data was found in the backend for model {self.model_class.__name__} and column {self.name}: the value was neither an integer, a string, nor a datetime object"
|
|
38
|
+
)
|
|
39
|
+
date = value
|
|
40
|
+
return date.replace(tzinfo=timezone.utc) if date else None
|
|
41
|
+
|
|
42
|
+
def to_backend(self, data):
|
|
43
|
+
if not self.name in data or isinstance(data[self.name], int) or data[self.name] == None:
|
|
44
|
+
return data
|
|
45
|
+
|
|
46
|
+
value = data[self.name]
|
|
47
|
+
if isinstance(value, str):
|
|
48
|
+
if not value.isdigit():
|
|
49
|
+
raise ValueError(
|
|
50
|
+
f"Invalid data was sent to the backend for model {self.model_class.__name__} and column {self.name}: a string value was found that is not a timestamp. It was '{value}'"
|
|
51
|
+
)
|
|
52
|
+
value = int(value)
|
|
53
|
+
elif isinstance(value, datetime):
|
|
54
|
+
value = value.timestamp()
|
|
55
|
+
else:
|
|
56
|
+
raise ValueError(
|
|
57
|
+
f"Invalid data was sent to the backend for model {self.model_class.__name__} and column {self.name}: the value was neither an integer, a string, nor a datetime object"
|
|
58
|
+
)
|
|
59
|
+
|
|
60
|
+
# hopefully this is a Python datetime object in UTC timezone...
|
|
61
|
+
return {**data, **{self.name: value}}
|
|
62
|
+
|
|
63
|
+
def input_error_for_value(self, value, operator=None):
|
|
64
|
+
if not isinstance(value, int):
|
|
65
|
+
return f"'{self.name}' must be an integer"
|
|
66
|
+
return ""
|
|
67
|
+
|
|
68
|
+
def values_match(self, value_1, value_2):
|
|
69
|
+
"""
|
|
70
|
+
Compares two values to see if they are the same
|
|
71
|
+
"""
|
|
72
|
+
return value_1 == value_2
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/formats/oai3_json/__init__.py
RENAMED
|
File without changes
|
{clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/formats/oai3_json/oai3_json.py
RENAMED
|
File without changes
|
|
File without changes
|
{clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/formats/oai3_json/parameter.py
RENAMED
|
File without changes
|
{clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/formats/oai3_json/request.py
RENAMED
|
File without changes
|
{clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/formats/oai3_json/response.py
RENAMED
|
File without changes
|
|
File without changes
|
{clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/formats/oai3_json/schema/array.py
RENAMED
|
File without changes
|
|
File without changes
|
{clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/formats/oai3_json/schema/enum.py
RENAMED
|
File without changes
|
|
File without changes
|
{clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/autodoc/formats/oai3_json/test.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/column_types/created_by_header.py
RENAMED
|
File without changes
|
|
File without changes
|
{clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/column_types/created_by_routing_data.py
RENAMED
|
File without changes
|
{clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/column_types/created_by_user_agent.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/column_types/many_to_many_with_data.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/contexts/convert_to_application.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/decorators/return_raw_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/di/additional_config_auto_import.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/di/test_module/another_module/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/handlers/exceptions/authentication.py
RENAMED
|
File without changes
|
{clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/handlers/exceptions/authorization.py
RENAMED
|
File without changes
|
{clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/handlers/exceptions/client_error.py
RENAMED
|
File without changes
|
{clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/handlers/exceptions/input_error.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/handlers/request_method_routing.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/input_outputs/exceptions/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/input_outputs/exceptions/cli_not_found.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/input_requirements/in_the_past_at_most.py
RENAMED
|
File without changes
|
{clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/input_requirements/maximum_length.py
RENAMED
|
File without changes
|
{clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/input_requirements/maximum_value.py
RENAMED
|
File without changes
|
{clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/input_requirements/minimum_length.py
RENAMED
|
File without changes
|
{clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/input_requirements/minimum_value.py
RENAMED
|
File without changes
|
|
File without changes
|
{clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/input_requirements/requirement.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/secrets/additional_configs/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/security_headers/cache_control.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/security_headers/x_frame_options.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/tests/simple_api/models/__init__.py
RENAMED
|
File without changes
|
{clear_skies-1.19.30 → clear_skies-1.19.31}/src/clearskies/tests/simple_api/models/status.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|