From bed4919ddf3909a397f881818e40045b3c690a6c Mon Sep 17 00:00:00 2001 From: Yasuhiro Yamada Date: Sun, 14 Jan 2024 13:06:11 +0000 Subject: [PATCH] Ensure Compatibility with flask_frozen v1.0.1 This commit addresses an AttributeError encountered when using flask_frozen v1.0.1 with our CustomFreezer class. Previously, the CustomFreezer's root property was returning a string representation of the cf_output_dir, which caused compatibility issues with the latest version of flask_frozen. This update resolves the AttributeError ('str' object has no attribute 'mkdir') and ensures our CustomFreezer class works seamlessly with flask_frozen v1.0.1. --- requirements.txt | 2 +- slackviewer/freezer.py | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/requirements.txt b/requirements.txt index d308869..8833d0f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,4 +3,4 @@ Werkzeug<3.0.0 Flask<3.0.0 markdown2 emoji>=2.0.0,<3.0 -frozen-flask +frozen-flask==1.0.1 diff --git a/slackviewer/freezer.py b/slackviewer/freezer.py index 4d9b159..2ffd2c6 100644 --- a/slackviewer/freezer.py +++ b/slackviewer/freezer.py @@ -1,4 +1,5 @@ from flask_frozen import Freezer +from pathlib import Path class CustomFreezer(Freezer): @@ -6,5 +7,10 @@ class CustomFreezer(Freezer): @property def root(self): - return u"{}".format(self.cf_output_dir) - \ No newline at end of file + # Use the specified cf_output_dir if set + if self.cf_output_dir: + return Path(self.cf_output_dir) + # Otherwise, follow the default behavior of flask_frozen + else: + root = Path(self.app.root_path) + return root / self.app.config['FREEZER_DESTINATION']