remove Person model from sync as it never exist

This commit is contained in:
tmshv committed 2020-02-25 04:11:23 +03:00
1 parent 4c0e968e5e
commit ebd6290ccf
4 files changed
-164

No files matched your search

-12
View File
@@ -41,15 +41,6 @@ database_uri = value('database_uri') # env('MONGO_URI')
skip_unchanged = value('skip_unchanged')
person_uri = {
'Н.В.Андреева': 'nv-andreeva',
'И.Н.Втюрина': 'in-vturina',
'О.Д.Гоголева': 'od-gogoleva',
'В.А.Саржин': 'va-sarzhin',
'Р.К.Тимашев': 'rk-timashev',
'А.С.Тимашева': 'as-timasheva',
}
image_processing_enabled = value('image_processing')
album_html_img_class = 'hudozka-product'
@@ -104,7 +95,6 @@ collection_images = 'images'
collection_documents = 'documents'
collection_schedules = 'schedules'
collection_articles = 'articles'
collection_collective = 'collective'
collection_albums = 'albums'
collection_pages = 'pages'
@@ -113,7 +103,6 @@ hash_salt_pages = '4'
hash_salt_albums = '1'
hash_salt_documents = '4'
hash_salt_images = '5'
hash_salt_person = '4'
provider_name = value('provider')['name'] # env('SYNC_PROVIDER', 'fs')
provider_root = value('provider')['root'] # env('SYNC_PROVIDER', 'fs')
@@ -124,7 +113,6 @@ dir_settings = './Settings'
dir_documents = './Documents'
dir_schedules = './Schedules'
dir_articles = './Articles'
dir_persons = './Collective'
dir_albums = './Gallery'
dir_pages = './Pages'
dir_images = './Images'
-9
View File
@@ -11,7 +11,6 @@ from sync.models.Image import Image
from sync.models.Album import Album
from sync.models.Article import Article
from sync.models.Page import Page
from sync.models.Person import Person
from sync.models.Schedule import Schedule
from sync.models.Settings import Settings
@@ -58,13 +57,6 @@ async def run(run_interval=0):
)
sync_pages.set_options(True, True, True)
sync_persons = Sync(
provider=io(settings.provider_root),
model=Person,
)
sync_persons.set_options(True, True, True)
sync_persons.validate_urls = False
sync_articles = Sync(
provider=io(settings.provider_root),
model=Article,
@@ -105,7 +97,6 @@ async def run(run_interval=0):
await asyncio.wait([
run_sync(sync_documents),
run_sync(sync_pages),
run_sync(sync_persons),
run_sync(sync_articles),
run_sync(sync_schedules),
run_sync(sync_albums),
-130
View File
@@ -1,130 +0,0 @@
import logging
import os
import settings
from db import collection
from sync import create_post
from sync.data import Provider
from sync.models import Model
from sync.models.Image import Image
from utils.fn import swap_ext
from utils.hash import hash_str
from utils.io import read_yaml_md, parse_yaml_front_matter
from utils.text.transform import url_encode_text
logger = logging.getLogger(settings.name + '.Person')
store = collection(settings.collection_collective)
class Person(Model):
@staticmethod
async def find(query):
return store.find(query)
@staticmethod
async def delete(query):
return store.find_one_and_delete(query)
@staticmethod
async def scan(provider):
scan_dir = settings.dir_persons
documents = provider.type_filter(scan_dir, '.md')
documents = [Person.read(provider, i) for i in documents]
return documents
@staticmethod
def read(provider, path):
params = get_manifest(provider, path)
return Person(
provider,
path,
params=params,
)
def __init__(self, provider, file, params=None):
self.__hash_salt = settings.hash_salt_person
self.__hash_keys = ['id', 'url']
self.__id_template: str = '{category}-{file}'
self.__url_template: str = settings.document_url_template
self.__url_preview_template: str = settings.document_url_preview_template
self.picture = None
self.preview = None
self.post = None
self.images = None
self.documents = None
super().__init__(provider, store, file, params)
def init(self):
pass
self.__set_id()
self.__set_hash()
async def build(self, **kwargs):
sizes = kwargs['sizes']
image_path = self._get_relpath(self.get_param('picture'))
self.picture = await Image.new(self.provider, image_path, sizes)
markdown_post = self.get_param('content')
post, images, documents = await create_post(self.provider, self.get_param('folder'), markdown_post, sizes)
self.post = post
self.images = images
self.documents = documents
if self.has_param('preview'):
preview = self.get_param('preview')
preview = self._get_relpath(preview)
self.preview = await Image.new(self.provider, preview, sizes)
def bake(self):
return {
**self.params,
'post': self.post,
'images': [x.ref for x in self.images],
'documents': [x.ref for x in self.documents],
'id': self.id,
'hash': self.hash,
'file': self.file,
'picture': self.picture.ref,
'preview': self.preview.ref if self.preview else None,
}
def __set_id(self):
if 'id' in self.params:
self.id = self.params['id']
else:
self.id = url_encode_text(self.params['name'])
def __set_hash(self):
files = [self.file]
files.append(self._get_relpath(self.get_param('picture')))
if self.has_param('preview'):
files.append(self._get_relpath(self.get_param('preview')))
hashes = [self.provider.hash(x) for x in files]
self.hash = hash_str(
self.__hash_salt + ''.join(hashes)
)
def __str__(self):
return f'<Person file={self.file} id={self.id}>'
def get_manifest(provider: Provider, path: str) -> dict:
data = provider.read(path).read().decode('utf-8')
manifest = parse_yaml_front_matter(data)
return {
**manifest,
'picture': manifest['picture'] if 'picture' in manifest else os.path.basename(swap_ext('.jpg')(path)),
'preview': manifest['preview'] if 'preview' in manifest else os.path.basename(swap_ext('.jpg')(path)),
'folder': os.path.dirname(path),
'hidden': manifest['hidden'] if 'hidden' in manifest else False,
}
-13
View File
@@ -1,6 +1,5 @@
import settings
from db import collection
from sync.core.person import SyncPerson
from utils.text.transform import interpolate_swift
@@ -15,14 +14,6 @@ def resolve_value(param, store):
return store(i)
def resolve_teacher(i):
sync = SyncPerson(
collection(settings.collection_collective),
None,
''
)
return resolve_value(i, lambda teacher_id: sync.read({'id': teacher_id}))
def create_product(doc):
# author, image, title, awards, teacher, date
@@ -33,8 +24,4 @@ def create_product(doc):
product = {**doc}
# unpop_image(product)
# product['teacher'] = resolve_teacher(doc['teacher'])
# if (product['teacher']):
# unpop_teacher(product)
return product