documente_shared 0.1.16__tar.gz → 0.1.18__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 documente_shared might be problematic. Click here for more details.
- {documente_shared-0.1.16 → documente_shared-0.1.18}/PKG-INFO +1 -1
- {documente_shared-0.1.16 → documente_shared-0.1.18}/documente_shared/domain/entities.py +27 -6
- {documente_shared-0.1.16 → documente_shared-0.1.18}/pyproject.toml +1 -1
- {documente_shared-0.1.16 → documente_shared-0.1.18}/README.md +0 -0
- {documente_shared-0.1.16 → documente_shared-0.1.18}/documente_shared/__init__.py +0 -0
- {documente_shared-0.1.16 → documente_shared-0.1.18}/documente_shared/application/__init__.py +0 -0
- {documente_shared-0.1.16 → documente_shared-0.1.18}/documente_shared/application/digest.py +0 -0
- {documente_shared-0.1.16 → documente_shared-0.1.18}/documente_shared/domain/__init__.py +0 -0
- {documente_shared-0.1.16 → documente_shared-0.1.18}/documente_shared/domain/base_enum.py +0 -0
- {documente_shared-0.1.16 → documente_shared-0.1.18}/documente_shared/domain/enums.py +0 -0
- {documente_shared-0.1.16 → documente_shared-0.1.18}/documente_shared/domain/repositories.py +0 -0
- {documente_shared-0.1.16 → documente_shared-0.1.18}/documente_shared/infrastructure/__init__.py +0 -0
- {documente_shared-0.1.16 → documente_shared-0.1.18}/documente_shared/infrastructure/dynamo_repositories.py +0 -0
- {documente_shared-0.1.16 → documente_shared-0.1.18}/documente_shared/infrastructure/dynamo_table.py +0 -0
- {documente_shared-0.1.16 → documente_shared-0.1.18}/documente_shared/infrastructure/s3_bucket.py +0 -0
- {documente_shared-0.1.16 → documente_shared-0.1.18}/documente_shared/infrastructure/sqs_queue.py +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from dataclasses import dataclass
|
|
2
2
|
from datetime import datetime
|
|
3
3
|
from decimal import Decimal
|
|
4
|
-
from typing import Optional
|
|
4
|
+
from typing import Optional, List
|
|
5
5
|
|
|
6
6
|
from documente_shared.domain.enums import (
|
|
7
7
|
DocumentProcessStatus,
|
|
@@ -15,12 +15,15 @@ class DocumentProcess(object):
|
|
|
15
15
|
digest: str
|
|
16
16
|
status: DocumentProcessStatus
|
|
17
17
|
file_path: str
|
|
18
|
+
file_bytes: Optional[bytes] = None
|
|
18
19
|
category: Optional[DocumentProcessCategory] = None
|
|
19
20
|
sub_category: Optional[DocumentProcessSubCategory] = None
|
|
20
21
|
processed_csv_path: Optional[str] = None
|
|
22
|
+
processed_csv_bytes: Optional[bytes] = None
|
|
21
23
|
processed_xlsx_path: Optional[str] = None
|
|
24
|
+
processed_xlsx_bytes: Optional[bytes] = None
|
|
22
25
|
processing_time: Optional[Decimal] = None
|
|
23
|
-
|
|
26
|
+
uploaded_at: Optional[datetime] = None
|
|
24
27
|
enqueued_at: Optional[datetime] = None
|
|
25
28
|
started_at: Optional[datetime] = None
|
|
26
29
|
failed_at: Optional[datetime] = None
|
|
@@ -98,13 +101,31 @@ class DocumentProcess(object):
|
|
|
98
101
|
str(self.processing_time)
|
|
99
102
|
if self.processing_time else None
|
|
100
103
|
),
|
|
101
|
-
'
|
|
104
|
+
'uploaded_at': self.uploaded_at.isoformat() if self.uploaded_at else None,
|
|
102
105
|
'enqueued_at': self.enqueued_at.isoformat() if self.enqueued_at else None,
|
|
103
106
|
'started_at': self.started_at.isoformat() if self.started_at else None,
|
|
104
107
|
'failed_at': self.failed_at.isoformat() if self.failed_at else None,
|
|
105
108
|
'completed_at': self.completed_at.isoformat() if self.completed_at else None,
|
|
106
109
|
}
|
|
107
110
|
|
|
111
|
+
def overload(
|
|
112
|
+
self,
|
|
113
|
+
new_instance: 'DocumentProcess',
|
|
114
|
+
properties: List[str] = None,
|
|
115
|
+
):
|
|
116
|
+
instance_properties = properties or [
|
|
117
|
+
'status', 'file_path', 'file_bytes', 'category', 'sub_category',
|
|
118
|
+
'processed_csv_path', 'processed_csv_bytes', 'processed_xlsx_path',
|
|
119
|
+
'processed_xlsx_bytes', 'processing_time', 'uploaded_at',
|
|
120
|
+
'enqueued_at', 'started_at', 'failed_at', 'completed_at',
|
|
121
|
+
]
|
|
122
|
+
for _property in instance_properties:
|
|
123
|
+
property_value = getattr(new_instance, _property)
|
|
124
|
+
if not hasattr(self, _property):
|
|
125
|
+
continue
|
|
126
|
+
setattr(self, _property, property_value)
|
|
127
|
+
return self
|
|
128
|
+
|
|
108
129
|
@classmethod
|
|
109
130
|
def from_dict(cls, data: dict) -> 'DocumentProcess':
|
|
110
131
|
return cls(
|
|
@@ -125,9 +146,9 @@ class DocumentProcess(object):
|
|
|
125
146
|
Decimal(data.get('processing_time'))
|
|
126
147
|
if data.get('processing_time') else None
|
|
127
148
|
),
|
|
128
|
-
|
|
129
|
-
datetime.fromisoformat(data.get('
|
|
130
|
-
if data.get('
|
|
149
|
+
uploaded_at=(
|
|
150
|
+
datetime.fromisoformat(data.get('uploaded_at'))
|
|
151
|
+
if data.get('uploaded_at') else None
|
|
131
152
|
),
|
|
132
153
|
enqueued_at=(
|
|
133
154
|
datetime.fromisoformat(data.get('enqueued_at'))
|
|
File without changes
|
|
File without changes
|
{documente_shared-0.1.16 → documente_shared-0.1.18}/documente_shared/application/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{documente_shared-0.1.16 → documente_shared-0.1.18}/documente_shared/infrastructure/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{documente_shared-0.1.16 → documente_shared-0.1.18}/documente_shared/infrastructure/dynamo_table.py
RENAMED
|
File without changes
|
{documente_shared-0.1.16 → documente_shared-0.1.18}/documente_shared/infrastructure/s3_bucket.py
RENAMED
|
File without changes
|
{documente_shared-0.1.16 → documente_shared-0.1.18}/documente_shared/infrastructure/sqs_queue.py
RENAMED
|
File without changes
|