sync simplified
This commit is contained in:
1 parent
207233125d
commit
0cd61e0ed9
6 files changed
+2
-40
No files matched your search
@@ -2,7 +2,6 @@
|
||||
database_uri: 'mongodb://localhost:27017/hudozka'
|
||||
|
||||
env: 'production'
|
||||
origin: 'Yandex.Disk'
|
||||
yandex_disk_access_token: '<YANDEX_DISK_TOKEN>'
|
||||
interval: 0
|
||||
|
||||
|
||||
@@ -59,8 +59,6 @@ date_formats = [
|
||||
'%d.%m.%Y %H:%M:%S'
|
||||
]
|
||||
|
||||
origin = value('origin')
|
||||
|
||||
collection_images = 'images'
|
||||
collection_documents = 'documents'
|
||||
collection_pages = 'pages'
|
||||
|
||||
@@ -8,7 +8,6 @@ class Sync:
|
||||
super().__init__()
|
||||
|
||||
self.validate_urls = True
|
||||
self.strict_origin = False
|
||||
self.__default_build_args = {
|
||||
'sizes': settings.image_sizes,
|
||||
}
|
||||
@@ -53,14 +52,6 @@ class Sync:
|
||||
'id': {'$nin': [doc.id for doc in items]},
|
||||
}
|
||||
|
||||
if self.strict_origin:
|
||||
items_origin = list(set([doc.origin for doc in items]))
|
||||
|
||||
query = {
|
||||
**query,
|
||||
'origin': {'$in': items_origin},
|
||||
}
|
||||
|
||||
return query
|
||||
|
||||
async def run(self):
|
||||
|
||||
@@ -28,16 +28,14 @@ class Document(Model):
|
||||
@staticmethod
|
||||
def read_path(provider, path):
|
||||
name = os.path.basename(path)
|
||||
|
||||
document = {
|
||||
'category': os.path.dirname(path),
|
||||
params = {
|
||||
'title': os.path.splitext(name)[0]
|
||||
}
|
||||
|
||||
return Document(
|
||||
provider,
|
||||
path,
|
||||
document
|
||||
params
|
||||
)
|
||||
|
||||
@staticmethod
|
||||
@@ -45,7 +43,6 @@ class Document(Model):
|
||||
document = Document.read_path(provider, file)
|
||||
changed = await document.is_changed()
|
||||
if changed:
|
||||
document.hide()
|
||||
await document.build(sizes=sizes)
|
||||
await document.upload()
|
||||
await document.save()
|
||||
@@ -70,16 +67,12 @@ class Document(Model):
|
||||
self.file_size = None
|
||||
self.preview = None
|
||||
|
||||
self.type = 'document' # 'award'
|
||||
self.hidden = False
|
||||
|
||||
super().__init__(provider, store, file, params=params)
|
||||
|
||||
def init(self):
|
||||
self.__set_id()
|
||||
self.__set_url()
|
||||
self.__set_hash()
|
||||
self._set_origin()
|
||||
|
||||
filename = os.path.basename(self.file)
|
||||
self.file_name = filename
|
||||
@@ -88,9 +81,6 @@ class Document(Model):
|
||||
if self.has_param('title'):
|
||||
self.title = self.get_param('title')
|
||||
|
||||
if self.has_param('hidden'):
|
||||
self.hidden = self.get_param('hidden')
|
||||
|
||||
def set_title(self, value: str):
|
||||
self.title = value
|
||||
|
||||
@@ -130,10 +120,7 @@ class Document(Model):
|
||||
'file': self.file,
|
||||
'hash': self.hash,
|
||||
'url': self.url,
|
||||
'type': self.type,
|
||||
'title': self.title,
|
||||
'origin': self.origin,
|
||||
'hidden': self.hidden,
|
||||
'preview': self.preview.ref,
|
||||
'fileInfo': {
|
||||
'name': self.file_name,
|
||||
@@ -165,10 +152,6 @@ class Document(Model):
|
||||
async def create_preview(self, sizes):
|
||||
self.preview = await DocumentPreviewImage.new(self.provider, self.file, sizes)
|
||||
|
||||
def hide(self):
|
||||
self.hidden = True
|
||||
return self
|
||||
|
||||
def __str__(self):
|
||||
return f'<Document file={self.file} id={self.id}>'
|
||||
|
||||
|
||||
@@ -66,8 +66,6 @@ class Image(Model):
|
||||
def __init__(self, provider, file, data, url_factory):
|
||||
self.__hash_salt = settings.hash_salt_images
|
||||
|
||||
self.origin = None
|
||||
|
||||
self.data = data
|
||||
self.url_factory = url_factory
|
||||
|
||||
@@ -77,8 +75,6 @@ class Image(Model):
|
||||
self.id = self.__get_id()
|
||||
self.hash = self.__get_hash()
|
||||
|
||||
self.origin = f"{settings.origin}:{os.path.dirname(self.file)}"
|
||||
|
||||
async def is_changed(self):
|
||||
i = await Image.find_one({'file': self.file})
|
||||
return self._is_changed_hash(i)
|
||||
@@ -119,7 +115,6 @@ class Image(Model):
|
||||
return {
|
||||
'id': self.id,
|
||||
'file': self.file,
|
||||
'origin': self.origin,
|
||||
'hash': self.hash,
|
||||
'data': self.data,
|
||||
}
|
||||
|
||||
@@ -20,7 +20,6 @@ class Model:
|
||||
self.store = store
|
||||
self.file = file
|
||||
|
||||
self.origin = None
|
||||
self.id = None
|
||||
self.url = None
|
||||
self.hash = None
|
||||
@@ -57,9 +56,6 @@ class Model:
|
||||
return default_value
|
||||
return self.params[name]
|
||||
|
||||
def _set_origin(self):
|
||||
self.origin = f'{settings.origin}:{os.path.dirname(self.file)}'
|
||||
|
||||
def _is_changed_hash(self, item):
|
||||
if not item:
|
||||
return True
|
||||
|
||||
Reference in new issue
Block a user