fotolab 0.28.2__tar.gz → 0.28.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {fotolab-0.28.2 → fotolab-0.28.3}/.pre-commit-config.yaml +1 -1
- {fotolab-0.28.2 → fotolab-0.28.3}/CHANGELOG.md +9 -0
- {fotolab-0.28.2 → fotolab-0.28.3}/PKG-INFO +1 -1
- {fotolab-0.28.2 → fotolab-0.28.3}/fotolab/__init__.py +3 -3
- {fotolab-0.28.2 → fotolab-0.28.3}/fotolab/subcommands/border.py +7 -11
- {fotolab-0.28.2 → fotolab-0.28.3}/fotolab/subcommands/contrast.py +6 -11
- {fotolab-0.28.2 → fotolab-0.28.3}/noxfile.py +12 -0
- {fotolab-0.28.2 → fotolab-0.28.3}/.coveragerc +0 -0
- {fotolab-0.28.2 → fotolab-0.28.3}/.gitignore +0 -0
- {fotolab-0.28.2 → fotolab-0.28.3}/.python-version +0 -0
- {fotolab-0.28.2 → fotolab-0.28.3}/CONTRIBUTING.md +0 -0
- {fotolab-0.28.2 → fotolab-0.28.3}/LICENSE.md +0 -0
- {fotolab-0.28.2 → fotolab-0.28.3}/Pipfile +0 -0
- {fotolab-0.28.2 → fotolab-0.28.3}/Pipfile.lock +0 -0
- {fotolab-0.28.2 → fotolab-0.28.3}/README.md +0 -0
- {fotolab-0.28.2 → fotolab-0.28.3}/docs/Makefile +0 -0
- {fotolab-0.28.2 → fotolab-0.28.3}/docs/make.bat +0 -0
- {fotolab-0.28.2 → fotolab-0.28.3}/docs/source/CHANGELOG.md +0 -0
- {fotolab-0.28.2 → fotolab-0.28.3}/docs/source/CONTRIBUTING.md +0 -0
- {fotolab-0.28.2 → fotolab-0.28.3}/docs/source/LICENSE.md +0 -0
- {fotolab-0.28.2 → fotolab-0.28.3}/docs/source/README.md +0 -0
- {fotolab-0.28.2 → fotolab-0.28.3}/docs/source/_static/logo.jpg +0 -0
- {fotolab-0.28.2 → fotolab-0.28.3}/docs/source/conf.py +0 -0
- {fotolab-0.28.2 → fotolab-0.28.3}/docs/source/index.rst +0 -0
- {fotolab-0.28.2 → fotolab-0.28.3}/fotolab/__main__.py +0 -0
- {fotolab-0.28.2 → fotolab-0.28.3}/fotolab/cli.py +0 -0
- {fotolab-0.28.2 → fotolab-0.28.3}/fotolab/subcommands/__init__.py +0 -0
- {fotolab-0.28.2 → fotolab-0.28.3}/fotolab/subcommands/animate.py +0 -0
- {fotolab-0.28.2 → fotolab-0.28.3}/fotolab/subcommands/auto.py +0 -0
- {fotolab-0.28.2 → fotolab-0.28.3}/fotolab/subcommands/env.py +0 -0
- {fotolab-0.28.2 → fotolab-0.28.3}/fotolab/subcommands/halftone.py +0 -0
- {fotolab-0.28.2 → fotolab-0.28.3}/fotolab/subcommands/info.py +0 -0
- {fotolab-0.28.2 → fotolab-0.28.3}/fotolab/subcommands/montage.py +0 -0
- {fotolab-0.28.2 → fotolab-0.28.3}/fotolab/subcommands/resize.py +0 -0
- {fotolab-0.28.2 → fotolab-0.28.3}/fotolab/subcommands/rotate.py +0 -0
- {fotolab-0.28.2 → fotolab-0.28.3}/fotolab/subcommands/sharpen.py +0 -0
- {fotolab-0.28.2 → fotolab-0.28.3}/fotolab/subcommands/watermark.py +0 -0
- {fotolab-0.28.2 → fotolab-0.28.3}/pyproject.toml +0 -0
- {fotolab-0.28.2 → fotolab-0.28.3}/tests/__init__.py +0 -0
- {fotolab-0.28.2 → fotolab-0.28.3}/tests/conftest.py +0 -0
- {fotolab-0.28.2 → fotolab-0.28.3}/tests/test_env_subcommand.py +0 -0
- {fotolab-0.28.2 → fotolab-0.28.3}/tests/test_help_flag.py +0 -0
- {fotolab-0.28.2 → fotolab-0.28.3}/tests/test_quiet_flag.py +0 -0
@@ -7,6 +7,15 @@ and this project adheres to [0-based versioning](https://0ver.org/).
|
|
7
7
|
|
8
8
|
## [Unreleased]
|
9
9
|
|
10
|
+
## v0.28.3 (2025-03-30)
|
11
|
+
|
12
|
+
- Bump `pre-commit` hook for validate-project
|
13
|
+
- Commit changes after bump release
|
14
|
+
- Remove exception handling as it's handled in parent calling function
|
15
|
+
- Resolve W0718: Catching too general exception Exception
|
16
|
+
- Show bumped version in release `nox` job
|
17
|
+
- Use longer variable name
|
18
|
+
|
10
19
|
## v0.28.2 (2025-03-23)
|
11
20
|
|
12
21
|
- Accept width in integer instead of string
|
@@ -23,7 +23,7 @@ from pathlib import Path
|
|
23
23
|
|
24
24
|
from PIL import Image
|
25
25
|
|
26
|
-
__version__ = "0.28.
|
26
|
+
__version__ = "0.28.3"
|
27
27
|
|
28
28
|
log = logging.getLogger(__name__)
|
29
29
|
|
@@ -102,5 +102,5 @@ def _open_image(filename):
|
|
102
102
|
subprocess.Popen(["open", filename])
|
103
103
|
log.info("open image: %s", filename.resolve())
|
104
104
|
|
105
|
-
except OSError as
|
106
|
-
log.error("Error opening image: %s -> %s", filename,
|
105
|
+
except OSError as error:
|
106
|
+
log.error("Error opening image: %s -> %s", filename, error)
|
@@ -137,17 +137,13 @@ def run(args: argparse.Namespace) -> None:
|
|
137
137
|
log.debug(args)
|
138
138
|
|
139
139
|
for image_filename in args.image_filenames:
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
)
|
148
|
-
except Exception as e:
|
149
|
-
log.error("Error adding border to %s: %s", image_filename, e)
|
150
|
-
continue
|
140
|
+
original_image = Image.open(image_filename)
|
141
|
+
border = get_border(args)
|
142
|
+
bordered_image = ImageOps.expand(
|
143
|
+
original_image,
|
144
|
+
border=border,
|
145
|
+
fill=ImageColor.getrgb(args.color),
|
146
|
+
)
|
151
147
|
|
152
148
|
save_image(args, bordered_image, image_filename, "border")
|
153
149
|
|
@@ -86,14 +86,9 @@ def run(args: argparse.Namespace) -> None:
|
|
86
86
|
log.debug(args)
|
87
87
|
|
88
88
|
for image_filename in args.image_filenames:
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
save_image(args, contrast_image, image_filename, "contrast")
|
96
|
-
except FileNotFoundError:
|
97
|
-
log.error(f"Image file not found: {image_filename}")
|
98
|
-
except IOError:
|
99
|
-
log.error(f"Cannot open or read image file: {image_filename}")
|
89
|
+
original_image = Image.open(image_filename)
|
90
|
+
contrast_image = ImageOps.autocontrast(
|
91
|
+
original_image, cutoff=args.cutoff
|
92
|
+
)
|
93
|
+
|
94
|
+
save_image(args, contrast_image, image_filename, "contrast")
|
@@ -167,11 +167,23 @@ def release(session: nox.Session) -> None:
|
|
167
167
|
"fotolab/__init__.py", str(before_version), after_version
|
168
168
|
)
|
169
169
|
|
170
|
+
session.log(
|
171
|
+
f"Bumping version from {before_version} to {after_version}"
|
172
|
+
)
|
173
|
+
|
170
174
|
date = datetime.date.today().strftime("%Y-%m-%d")
|
171
175
|
before_header = "## [Unreleased]\n\n"
|
172
176
|
after_header = f"## [Unreleased]\n\n## v{after_version} ({date})\n\n"
|
173
177
|
_search_and_replace("CHANGELOG.md", before_header, after_header)
|
174
178
|
|
179
|
+
session.run(
|
180
|
+
"git",
|
181
|
+
"commit",
|
182
|
+
"--am",
|
183
|
+
f"Bump {after_version} release",
|
184
|
+
external=True,
|
185
|
+
)
|
186
|
+
|
175
187
|
|
176
188
|
def _pipenv_install(session: nox.Session) -> None:
|
177
189
|
session.install("pipenv")
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|