From b64c70e0cd54ea2c08edf2d13a6f6f73b0556e1a Mon Sep 17 00:00:00 2001 From: Terrtia Date: Mon, 19 Jun 2023 10:53:15 +0200 Subject: [PATCH] fix: [retro hunt] fix object tag queue + decoded content --- bin/lib/objects/Decodeds.py | 16 ++++++++++++++-- bin/trackers/Retro_Hunt.py | 12 +++++++++--- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/bin/lib/objects/Decodeds.py b/bin/lib/objects/Decodeds.py index a936a1a9..001f7dfd 100755 --- a/bin/lib/objects/Decodeds.py +++ b/bin/lib/objects/Decodeds.py @@ -111,13 +111,25 @@ class Decoded(AbstractDaterangeObject): def get_rel_path(self, mimetype=None): if not mimetype: mimetype = self.get_mimetype() + if not mimetype: + self.logger.warning(f'Decoded {self.id}: Empty mimetype') + return None return os.path.join(HASH_DIR, mimetype, self.id[0:2], self.id) def get_filepath(self, mimetype=None): - return os.path.join(os.environ['AIL_HOME'], self.get_rel_path(mimetype=mimetype)) + rel_path = self.get_rel_path(mimetype=mimetype) + if not rel_path: + return None + else: + return os.path.join(os.environ['AIL_HOME'], rel_path) def get_content(self, mimetype=None, r_type='str'): filepath = self.get_filepath(mimetype=mimetype) + if not filepath: + if r_type == 'str': + return '' + else: + return b'' if r_type == 'str': with open(filepath, 'r') as f: content = f.read() @@ -442,7 +454,7 @@ def get_all_decodeds_objects(filters={}): if i >= len(files): files = [] for file in files: - yield Decoded(file).id + yield Decoded(file) ############################################################################ diff --git a/bin/trackers/Retro_Hunt.py b/bin/trackers/Retro_Hunt.py index a280e3a1..2c63abd0 100755 --- a/bin/trackers/Retro_Hunt.py +++ b/bin/trackers/Retro_Hunt.py @@ -128,10 +128,16 @@ class Retro_Hunt_Module(AbstractModule): self.retro_hunt.add(self.obj.get_type(), self.obj.get_subtype(), obj_id) # TODO FILTER Tags + + # TODO refactor Tags module for all object type # Tags - for tag in self.tags: - msg = f'{tag};{id}' - self.add_message_to_queue(msg, 'Tags') + if self.obj.get_type() == 'item': + for tag in self.tags: + msg = f'{tag};{obj_id}' + self.add_message_to_queue(msg, 'Tags') + else: + for tag in self.tags: + self.obj.add_tag(tag) # # Mails # EXPORTER MAILS