diff --git a/changedetectionio/fetch_processor/__init__.py b/changedetectionio/fetch_processor/__init__.py index c2a8855f..b3f5c0b5 100644 --- a/changedetectionio/fetch_processor/__init__.py +++ b/changedetectionio/fetch_processor/__init__.py @@ -1,6 +1,7 @@ class fetch_processor(): contents = b'' screenshot = None + history_artifact_suffix = 'txt' """ base class for all fetch processors @@ -37,4 +38,4 @@ class fetch_processor(): if proxy_args is None: proxy_args = self.datastore.proxy_list[0][0] - return proxy_args \ No newline at end of file + return proxy_args diff --git a/changedetectionio/model/Watch.py b/changedetectionio/model/Watch.py index b8e48196..0efa9976 100644 --- a/changedetectionio/model/Watch.py +++ b/changedetectionio/model/Watch.py @@ -148,9 +148,7 @@ class model(dict): bump = self.history return self.__newest_history_key - # Save some text file to the appropriate path and bump the history - # result_obj from fetch_site_status.run() - def save_history_text(self, contents, timestamp): + def save_history_artifact(self, contents: bytes, timestamp, suffix='txt'): import uuid import logging @@ -158,8 +156,8 @@ class model(dict): self.ensure_data_dir_exists() - snapshot_fname = "{}/{}.stripped.txt".format(output_path, uuid.uuid4()) - logging.debug("Saving history text {}".format(snapshot_fname)) + snapshot_fname = "{}/{}.{}".format(output_path, uuid.uuid4(), suffix) + logging.debug("Saving history artifact {}".format(snapshot_fname)) with open(snapshot_fname, 'wb') as f: f.write(contents) diff --git a/changedetectionio/update_worker.py b/changedetectionio/update_worker.py index acc9ab23..49a6a9bc 100644 --- a/changedetectionio/update_worker.py +++ b/changedetectionio/update_worker.py @@ -250,12 +250,11 @@ class update_worker(threading.Thread): if process_changedetection_results: try: watch = self.datastore.data['watching'][uuid] - fname = "" # Saved history text filename # For the FIRST time we check a site, or a change detected, save the snapshot. if changed_detected or not watch['last_checked']: # A change was detected - watch.save_history_text(contents=update_handler.contents, timestamp=str(round(time.time()))) + watch.save_history_artifact(contents=update_handler.contents, timestamp=str(round(time.time())), suffix=update_handler.history_artifact_suffix) self.datastore.update_watch(uuid=uuid, update_obj=update_obj)