From 90c1de33626057e381ccec38528c4e47726ac869 Mon Sep 17 00:00:00 2001 From: simon987 Date: Tue, 20 Mar 2018 19:23:38 -0400 Subject: [PATCH] Added thumbnail generator --- crawler.py | 17 +++++++++++---- indexer.py | 2 -- search.py | 2 +- spec/Crawler_spec.py | 4 ++-- spec/ThumbnailGenerator_spec.py | 33 ++++++++++++++++++++++++++++ spec/test_folder/sample_5.png | Bin 0 -> 14554 bytes spec/test_folder/sample_6.gif | Bin 0 -> 25884 bytes spec/test_folder/sample_7.bmp | Bin 0 -> 90522 bytes storage.py | 8 +++++++ thumbnail.py | 37 ++++++++++++++++++++++++++++---- 10 files changed, 90 insertions(+), 13 deletions(-) create mode 100644 spec/test_folder/sample_5.png create mode 100644 spec/test_folder/sample_6.gif create mode 100644 spec/test_folder/sample_7.bmp diff --git a/crawler.py b/crawler.py index d0b0346..2074c73 100644 --- a/crawler.py +++ b/crawler.py @@ -6,6 +6,7 @@ from apscheduler.schedulers.background import BackgroundScheduler from parsing import GenericFileParser, Md5CheckSumCalculator, ExtensionMimeGuesser from indexer import Indexer from search import Search +from thumbnail import ThumbnailGenerator class RunningTask: @@ -80,10 +81,10 @@ class TaskManager: if task.type == Task.INDEX: c = Crawler([]) - path = self.storage.dirs()[task.dir_id].path - self.current_task.total_files.value = c.countFiles(path) + directory = self.storage.dirs()[task.dir_id] + self.current_task.total_files.value = c.countFiles(directory.path) - self.current_process = Process(target=self.execute_crawl, args=(path, self.current_task.parsed_files, + self.current_process = Process(target=self.execute_crawl, args=(directory.path, self.current_task.parsed_files, self.current_task.done, self.current_task.task.dir_id)) self.current_process.start() @@ -99,17 +100,25 @@ class TaskManager: c = Crawler([GenericFileParser([Md5CheckSumCalculator()], ExtensionMimeGuesser())]) c.crawl(path, counter) + # todo: create indexer inside the crawler and index every X files Indexer("changeme").index(c.documents, directory) done.value = 1 def execute_thumbnails(self, dir_id: int, total_files: Value, counter: Value, done: Value): - docs = list(Search("changeme").getAllDocuments(dir_id)) + docs = list(Search("changeme").get_all_documents(dir_id)) + + print(docs) #todo remove total_files.value = len(docs) + tn_generator = ThumbnailGenerator(300) # todo get from config + + + done.value = 1 + def cancel_task(self): self.current_task = None self.current_process.terminate() diff --git a/indexer.py b/indexer.py index ca48acd..46692ce 100644 --- a/indexer.py +++ b/indexer.py @@ -53,9 +53,7 @@ class Indexer: def index(self, docs: list, directory: int): print("Indexing " + str(len(docs)) + " docs") index_string = Indexer.create_bulk_index_string(docs, directory) - print("bulk-start") self.es.bulk(body=index_string, index=self.index_name, doc_type="file", refresh="true") - print("bulk-done") def clear(self): diff --git a/search.py b/search.py index 9a59482..852f37c 100644 --- a/search.py +++ b/search.py @@ -15,7 +15,7 @@ class Search: except: print("elasticsearch is not running") - def getAllDocuments(self, dir_id: int): + def get_all_documents(self, dir_id: int): return helpers.scan(client=self.es, query={"_source": {"includes": ["path", "name"]}, diff --git a/spec/Crawler_spec.py b/spec/Crawler_spec.py index 2639b86..9fdc903 100644 --- a/spec/Crawler_spec.py +++ b/spec/Crawler_spec.py @@ -12,10 +12,10 @@ class CrawlerTest(TestCase): c.crawl("test_folder") - self.assertEqual(len(c.documents), 28) + self.assertEqual(len(c.documents), 31) def test_file_count(self): c = Crawler([]) - self.assertEqual(c.countFiles("test_folder"), 28) + self.assertEqual(c.countFiles("test_folder"), 31) diff --git a/spec/ThumbnailGenerator_spec.py b/spec/ThumbnailGenerator_spec.py index 2e4cacb..d1b0c9b 100644 --- a/spec/ThumbnailGenerator_spec.py +++ b/spec/ThumbnailGenerator_spec.py @@ -2,6 +2,7 @@ from unittest import TestCase from thumbnail import ThumbnailGenerator from PIL import Image import os +import shutil class ThumbnailGeneratorTest(TestCase): @@ -22,3 +23,35 @@ class ThumbnailGeneratorTest(TestCase): if os.path.isfile("test_thumb1.jpg"): os.remove("test_thumb1.jpg") + def test_generate_all(self): + shutil.rmtree("test_thumbnails") + + generator = ThumbnailGenerator(300) + + docs = [{'_source': {'path': 'test_folder', 'name': 'books.csv'}, '_id': 'books.csv-ID'}, + {'_source': {'path': 'test_folder', 'name': 'sample_3.jpg'}, '_id': 'sample_3.jpg-ID'}, + {'_source': {'path': 'test_folder', 'name': 'sample_5.png'}, '_id': 'sample_5.png-ID'}, + {'_source': {'path': 'test_folder', 'name': 'sample_6.gif'}, '_id': 'sample_6.gif-ID'}, + {'_source': {'path': 'test_folder', 'name': 'sample_7.bmp'}, '_id': 'sample_7.bmp-ID'}, + {'_source': {'path': 'test_folder', 'name': 'sample_2.jpeg'}, '_id': 'sample_2.jpeg-ID'}] + + generator.generate_all(docs, "test_thumbnails") + + self.assertFalse(os.path.isfile("test_thumbnails/books.csv-ID") and + os.path.getsize("test_thumbnails/books.csv-ID") > 0) + self.assertTrue(os.path.isfile("test_thumbnails/sample_3.jpg-ID") and + os.path.getsize("test_thumbnails/sample_3.jpg-ID") > 0) + self.assertTrue(os.path.isfile("test_thumbnails/sample_2.jpeg-ID") and + os.path.getsize("test_thumbnails/sample_2.jpeg-ID") > 0) + self.assertTrue(os.path.isfile("test_thumbnails/sample_5.png-ID") and + os.path.getsize("test_thumbnails/sample_5.png-ID") > 0) + self.assertTrue(os.path.isfile("test_thumbnails/sample_6.gif-ID") and + os.path.getsize("test_thumbnails/sample_6.gif-ID") > 0) + self.assertTrue(os.path.isfile("test_thumbnails/sample_7.bmp-ID") and + os.path.getsize("test_thumbnails/sample_7.bmp-ID") > 0) + + + + + + diff --git a/spec/test_folder/sample_5.png b/spec/test_folder/sample_5.png new file mode 100644 index 0000000000000000000000000000000000000000..2d7586bfe69b9ac7c85d980b35b842d9e99e4491 GIT binary patch literal 14554 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 NQI=PiE0Z-3{XekgL)8EP literal 0 HcmV?d00001 diff --git a/spec/test_folder/sample_6.gif b/spec/test_folder/sample_6.gif new file mode 100644 index 0000000000000000000000000000000000000000..30c08f4fff2f330aeaf5f155941160d20fa42386 GIT binary patch literal 25884 zcmV(`K-0fRNk%w1VWa^&0q6e!3=R(w6dMf{ClD4OAQUGS85t59HY^n!85|T2978`5 zBRUccdi5g`*ES!)z3au*y}9W*5@J2xjl8ZkO$8#^m5E*dR$AuebdI44vjLnSa< zJ2DU+G*UD&CY%%?Ln>E~8!5RRB$p>fN<<$|Mg}ZJe||GhMoShyLxYMlMRqq_BT!jN zNjg7DSV&1pk~c0YQ%kQfA7Vdpwkvot^?XgoGrm!L=*$~a*{T%9#w zqby^jXQu#U~Ya? zaFa-JuRVQRVr-YuQdrnhL`-$FPIS4>Trfp=v{`bvTXvjJc(!_OoQiiG;#7C=Qe}2~ zL`r?Sgn2kpd%1ylO`CfJTYSGyfxpUYFV$gqT7jonfWLKlvCwQuREES|gu}#jE>?!i zV1>HPZ(dc2zEYBJv2}M}h0S+>z;1)RdWM5&h^bkM$YF@chl7=HikV)MkL+x5mW6m- zj?7?=)M$&{XpGc`jC^N~&ai)(ZkK*ylhLh^9DR_(b(FJjmBeS3*1wJ`pOr;xmffhC zCUBY4Yns`$nG61Qny8j)?}kipp5Aqy*?^$TdZN~Hq}_U>-GZUs@rrzjqrZ5ug6Nh{ zey8DtrR1llbJU(!d8_1qs@{gE-iE5!f~w{FjiKn0>G5g{|q9 zs@$oos)exS$*w)juq1`E-;J{2ma*U7t4E2n>Akd8yt8G(wnoLbImfv#jJWKew$hEe z=ajnXoVe$ZyYP+2mXg8mnZWOx!s@5M?3c}}*uIOd#OBt@N6y8y@x)uX$lm45J@~

u25N_TlI0=I+_} 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

    DR+7odh5#66>z~9Y9TTKq=5pU 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 z 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%0A*{CbLCd@u6$E#}Re?2^0Gdykl9&$ty4 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 literal 0 HcmV?d00001 diff --git a/storage.py b/storage.py index 41c0cfc..fcd2f87 100644 --- a/storage.py +++ b/storage.py @@ -54,6 +54,14 @@ class Directory: def __str__(self): return self.path + " | enabled: " + str(self.enabled) + " | opts: " + str(self.options) + + def get_option(self, key): + + for option in self.options: + if option.key == key: + return option.value + + return None class Task: diff --git a/thumbnail.py b/thumbnail.py index 6f2d6be..a1fec43 100644 --- a/thumbnail.py +++ b/thumbnail.py @@ -1,14 +1,43 @@ from PIL import Image +import os +from parsing import ContentMimeGuesser class ThumbnailGenerator: def __init__(self, size): self.size = (size, size) + self.mime_guesser = ContentMimeGuesser def generate(self, path, dest_path): - image = Image.open(path) - image.thumbnail(self.size, Image.BICUBIC) - image.save(dest_path) - image.close() + try: + with open(path, "rb") as image_file: + with Image.open(image_file) as image: + + image.thumbnail(self.size, Image.BICUBIC) + + canvas = Image.new("RGB", image.size, (255, 0, 255)) + + if image.mode in ('RGBA', 'LA') or (image.mode == 'P' and 'transparency' in image.info): + canvas.paste(image, mask=image.split()[3]) # 3 is the alpha channel + else: + canvas.paste(image) + + canvas.save(dest_path, "JPEG", quality=50, optimize=True) + canvas.close() + + except OSError as e: + print(e) + print("Not an image " + path) + + def generate_all(self, docs, dest_path): + + os.makedirs(dest_path, exist_ok=True) + + for doc in docs: + + full_path = os.path.join(doc["_source"]["path"], doc["_source"]["name"]) + + if os.path.isfile(full_path): + self.generate(full_path, os.path.join(dest_path, doc["_id"])) \ No newline at end of file