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.

Files changed (16) hide show
  1. {documente_shared-0.1.16 → documente_shared-0.1.18}/PKG-INFO +1 -1
  2. {documente_shared-0.1.16 → documente_shared-0.1.18}/documente_shared/domain/entities.py +27 -6
  3. {documente_shared-0.1.16 → documente_shared-0.1.18}/pyproject.toml +1 -1
  4. {documente_shared-0.1.16 → documente_shared-0.1.18}/README.md +0 -0
  5. {documente_shared-0.1.16 → documente_shared-0.1.18}/documente_shared/__init__.py +0 -0
  6. {documente_shared-0.1.16 → documente_shared-0.1.18}/documente_shared/application/__init__.py +0 -0
  7. {documente_shared-0.1.16 → documente_shared-0.1.18}/documente_shared/application/digest.py +0 -0
  8. {documente_shared-0.1.16 → documente_shared-0.1.18}/documente_shared/domain/__init__.py +0 -0
  9. {documente_shared-0.1.16 → documente_shared-0.1.18}/documente_shared/domain/base_enum.py +0 -0
  10. {documente_shared-0.1.16 → documente_shared-0.1.18}/documente_shared/domain/enums.py +0 -0
  11. {documente_shared-0.1.16 → documente_shared-0.1.18}/documente_shared/domain/repositories.py +0 -0
  12. {documente_shared-0.1.16 → documente_shared-0.1.18}/documente_shared/infrastructure/__init__.py +0 -0
  13. {documente_shared-0.1.16 → documente_shared-0.1.18}/documente_shared/infrastructure/dynamo_repositories.py +0 -0
  14. {documente_shared-0.1.16 → documente_shared-0.1.18}/documente_shared/infrastructure/dynamo_table.py +0 -0
  15. {documente_shared-0.1.16 → documente_shared-0.1.18}/documente_shared/infrastructure/s3_bucket.py +0 -0
  16. {documente_shared-0.1.16 → documente_shared-0.1.18}/documente_shared/infrastructure/sqs_queue.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: documente_shared
3
- Version: 0.1.16
3
+ Version: 0.1.18
4
4
  Summary: Shared utilities for Documente AI projects
5
5
  License: MIT
6
6
  Author: Tech
@@ -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
- uploded_at: Optional[datetime] = None
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
- 'uploded_at': self.uploded_at.isoformat() if self.uploded_at else None,
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
- uploded_at=(
129
- datetime.fromisoformat(data.get('uploded_at'))
130
- if data.get('uploded_at') else None
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'))
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "documente_shared"
3
- version = "0.1.16"
3
+ version = "0.1.18"
4
4
  description = "Shared utilities for Documente AI projects"
5
5
  authors = ["Tech <tech@llamitai.com>"]
6
6
  license = "MIT"