Merge pull request #44 from tmshv/fix/sync-document-update
Sync document update
This commit is contained in:
3 files changed
+18
-35
No files matched your search
@@ -1,4 +1,5 @@
|
||||
from kazimir.Token import parse_file, is_document, Token
|
||||
import math
|
||||
|
||||
|
||||
class DocumentToken(Token):
|
||||
@@ -10,7 +11,7 @@ class DocumentToken(Token):
|
||||
super().__init__(name='file', data=data)
|
||||
self.joinable = False
|
||||
self.build = None
|
||||
|
||||
|
||||
async def get_data(self):
|
||||
data = parse_file(self.data)
|
||||
document = await self.build(data)
|
||||
@@ -23,6 +24,9 @@ class DocumentToken(Token):
|
||||
|
||||
|
||||
def create_document(document):
|
||||
file_size = get_size(document['file_size'], 1)
|
||||
file_format = 'ПДФ'
|
||||
|
||||
return f'''
|
||||
<div>
|
||||
<div class="document-row">
|
||||
@@ -38,9 +42,18 @@ def create_document(document):
|
||||
|
||||
<div class="document-row__file-info">
|
||||
<a href="{document['file_url']}" target="_blank">
|
||||
{document['file_format']} ({document['file_size']})
|
||||
{file_format} ({file_size})
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
'''.strip()
|
||||
|
||||
|
||||
def get_size(number_of_bytes, precision=1):
|
||||
units = ['байт', 'КБ', 'МБ', 'ГБ', 'ТБ', 'ПБ']
|
||||
number = math.floor(math.log(number_of_bytes) / math.log(1024))
|
||||
size = (number_of_bytes / math.pow(1024, math.floor(number)))
|
||||
size = round(size, precision)
|
||||
|
||||
return f'{size} {units[number]}'
|
||||
@@ -15,8 +15,6 @@ from sync.data import Provider
|
||||
from sync.models import Model
|
||||
from sync.models.Document import Document
|
||||
from sync.models.Image import Image
|
||||
from utils.text.file import get_size
|
||||
from utils.text.file import get_ext
|
||||
|
||||
|
||||
def create_date(date_str, date_formats=None):
|
||||
@@ -90,11 +88,12 @@ async def create_post(provider: Provider, folder: str, md: str, sizes):
|
||||
|
||||
return {
|
||||
'url': url,
|
||||
'slug': document.id,
|
||||
'image_url': image_url,
|
||||
'file_url': document.url,
|
||||
'title': document.title,
|
||||
'file_size': get_size(document.file_size, 1),
|
||||
'file_format': get_ext(data['file']),
|
||||
'file_size': document.file_size,
|
||||
'file_format': 'application/pdf',
|
||||
}
|
||||
|
||||
async def build_image(data):
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
import os
|
||||
|
||||
import math
|
||||
|
||||
|
||||
def default_ext(ext: str):
|
||||
return ext.upper()
|
||||
|
||||
|
||||
def get_ext(filename):
|
||||
ext_s = ['.png', '.pdf', '.jpg', '.jpeg', '.gif', '.doc']
|
||||
ext_d = ['ПНГ', 'ПДФ', 'ЖПГ', 'ЖПГ', 'ГИФ', 'ДОК']
|
||||
|
||||
_, ext = os.path.splitext(filename)
|
||||
|
||||
if ext in ext_s:
|
||||
i = ext_s.index(ext)
|
||||
return ext_d[i]
|
||||
else:
|
||||
default_ext(ext)
|
||||
|
||||
|
||||
def get_size(number_of_bytes, precision=1):
|
||||
units = ['байт', 'КБ', 'МБ', 'ГБ', 'ТБ', 'ПБ']
|
||||
|
||||
number = math.floor(math.log(number_of_bytes) / math.log(1024))
|
||||
size = (number_of_bytes / math.pow(1024, math.floor(number)))
|
||||
size = round(size, precision)
|
||||
return f'{size} {units[number]}'
|
||||
Reference in new issue
Block a user