[Sync] refactoring, removed old code, cleanup

This commit is contained in:
Roman Timashev committed 2017-09-17 13:40:09 +03:00
1 parent 32843f4d09
commit 84745ead6d
17 files changed
+61 -248

No files matched your search

+1 -1
View File
@@ -14,7 +14,7 @@ from sync.data import Provider, list_images
from sync.models import Model
from sync.models.Image import Image
from utils.fn import swap_ext, first, map_cases, constant, combine, iterate_iter_over_fns
from utils.fn import swap_ext, first, map_cases, constant, combine
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
+1 -4
View File
@@ -1,16 +1,13 @@
import os
from tempfile import mkstemp
import requests
import settings
from db import collection
from sync.data import scan_subdirs, request
from sync.models import Model
from sync.models.Image import Image
from utils.fn import last_good, lmap
from utils.fn import last_good
from utils.hash import hash_str
from utils.image import create_image
from utils.image.resize import image_magick_pdf_to_img
from utils.text.transform import url_encode_text, url_encode_file
+6 -16
View File
@@ -34,13 +34,13 @@ class Page(Model):
documents = [i for i in provider.scan('.') if provider.is_dir(i)]
documents = [provider.type_filter(i, '.md') for i in documents]
documents = [i[0] for i in documents if len(i)]
documents = [Page.read_path(provider, i) for i in documents]
documents = [Page.read(provider, i) for i in documents]
documents = [i for i in documents if i]
return documents
@staticmethod
def read_path(provider, path):
def read(provider, path):
params = {
'file': os.path.basename(path),
'folder': os.path.dirname(path),
@@ -89,17 +89,6 @@ class Page(Model):
return not (self.hash == i['hash'])
async def save(self):
document = self.bake()
query = {'id': document['id']}
try:
self.store.update_one(query, {'$set': document}, upsert=True)
return self
except ValueError:
pass
return None
async def setup_images(self, sizes, url_factory):
folder = self.params['folder']
images = []
@@ -142,15 +131,16 @@ class Page(Model):
def __set_id(self):
if 'id' in self.params:
self.id = self.params['id']
self.id = self.get_param('id')
else:
self.id = url_encode_text(self.params['url'])
self.id = url_encode_text(self.get_param('url'))
def __set_url(self):
self.url = self.params['url']
def __set_hash(self):
images = [os.path.join(self.params['folder'], i) for i in self.params['images']]
f = self.get_param('folder')
images = [os.path.join(f, i) for i in self.get_param('images')]
files = sorted([self.file] + images)
hashes = [self.provider.hash(i) for i in files]
+6 -10
View File
@@ -1,8 +1,6 @@
import settings
from db import collection
from sync.core.person import SyncPerson
from sync.image import sync_image
from utils.fn import key_mapper
from utils.text.transform import interpolate_swift
@@ -17,9 +15,6 @@ def resolve_value(param, store):
return store(i)
unpop_image = key_mapper('image', lambda i: sync_image(i)['_id'])
def resolve_teacher(i):
sync = SyncPerson(
collection(settings.collection_collective),
@@ -32,13 +27,14 @@ def resolve_teacher(i):
def create_product(doc):
# author, image, title, awards, teacher, date
unpop_teacher = key_mapper('teacher', lambda i: i['_id'])
# unpop_image = key_mapper('image', lambda i: sync_image(i)['_id'])
# unpop_teacher = key_mapper('teacher', lambda i: i['_id'])
product = {**doc}
unpop_image(product)
# unpop_image(product)
product['teacher'] = resolve_teacher(doc['teacher'])
if (product['teacher']):
unpop_teacher(product)
# product['teacher'] = resolve_teacher(doc['teacher'])
# if (product['teacher']):
# unpop_teacher(product)
return product