fotolab 0.21.1__py3-none-any.whl → 0.22.0__py3-none-any.whl

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/__init__.py CHANGED
@@ -21,7 +21,7 @@ import subprocess
21
21
  import sys
22
22
  from pathlib import Path
23
23
 
24
- __version__ = "0.21.1"
24
+ __version__ = "0.22.0"
25
25
 
26
26
  log = logging.getLogger(__name__)
27
27
 
fotolab/info.py CHANGED
@@ -54,6 +54,14 @@ def build_subparser(subparsers) -> None:
54
54
  help="show the camera maker details",
55
55
  )
56
56
 
57
+ info_parser.add_argument(
58
+ "--datetime",
59
+ default=False,
60
+ action="store_true",
61
+ dest="datetime",
62
+ help="show the datetime",
63
+ )
64
+
57
65
 
58
66
  def run(args: argparse.Namespace) -> None:
59
67
  """Run info subcommand.
@@ -67,6 +75,8 @@ def run(args: argparse.Namespace) -> None:
67
75
  log.debug(args)
68
76
  if args.camera:
69
77
  print(camera_metadata(args.image_filename))
78
+ if args.datetime:
79
+ print(datetime(args.image_filename))
70
80
  else:
71
81
  exif_tags = extract_exif_tags(args.image_filename)
72
82
  if exif_tags:
@@ -96,6 +106,12 @@ def extract_exif_tags(image_filename: str, sort: bool = False) -> dict:
96
106
  return filtered_info
97
107
 
98
108
 
109
+ def datetime(image_filename):
110
+ """Extract datetime metadata."""
111
+ exif_tags = extract_exif_tags(image_filename)
112
+ return exif_tags["DateTime"]
113
+
114
+
99
115
  def camera_metadata(image_filename):
100
116
  """Extract camera and model metadata."""
101
117
  exif_tags = extract_exif_tags(image_filename)
fotolab/watermark.py CHANGED
@@ -22,7 +22,7 @@ import math
22
22
  from PIL import Image, ImageColor, ImageDraw, ImageFont
23
23
 
24
24
  from fotolab import save_image
25
- from fotolab.info import extract_exif_tags
25
+ from fotolab.info import camera_metadata
26
26
 
27
27
  log = logging.getLogger(__name__)
28
28
 
@@ -139,7 +139,7 @@ def build_subparser(subparsers) -> None:
139
139
  "-l",
140
140
  "--lowercase",
141
141
  default=True,
142
- action="store_true",
142
+ action=argparse.BooleanOptionalAction,
143
143
  dest="lowercase",
144
144
  help="lowercase the watermark text",
145
145
  )
@@ -200,13 +200,6 @@ def watermark_image(image_filename, args):
200
200
  return watermarked_image
201
201
 
202
202
 
203
- def camera_metadata(image_filename):
204
- """Extract camera and model metadata."""
205
- exif_tags = extract_exif_tags(image_filename)
206
- metadata = f'{exif_tags["Make"]} {exif_tags["Model"]}'
207
- return metadata.strip()
208
-
209
-
210
203
  def calc_font_size(image, args) -> int:
211
204
  """Calculate the font size based on the width of the image."""
212
205
  width, _height = image.size
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fotolab
3
- Version: 0.21.1
3
+ Version: 0.22.0
4
4
  Summary: A console program that manipulate images.
5
5
  Keywords: photography,photo
6
6
  Author-email: Kian-Meng Ang <kianmeng@cpan.org>
@@ -206,7 +206,7 @@ fotolab info -h
206
206
  <!--help-info !-->
207
207
 
208
208
  ```console
209
- usage: fotolab info [-h] [-s] IMAGE_FILENAME
209
+ usage: fotolab info [-h] [-s] [--camera] IMAGE_FILENAME
210
210
 
211
211
  positional arguments:
212
212
  IMAGE_FILENAME set the image filename
@@ -214,6 +214,7 @@ positional arguments:
214
214
  options:
215
215
  -h, --help show this help message and exit
216
216
  -s, --sort show image info by sorted field name
217
+ --camera show the camera maker details
217
218
  ```
218
219
 
219
220
  <!--help-info !-->
@@ -326,7 +327,7 @@ usage: fotolab watermark [-h] [-t WATERMARK_TEXT]
326
327
  [-p {top-left,top-right,bottom-left,bottom-right}]
327
328
  [-pd PADDING] [-fs FONT_SIZE] [-fc FONT_COLOR]
328
329
  [-ow OUTLINE_WIDTH] [-oc OUTLINE_COLOR] [--camera]
329
- [-l]
330
+ [-l | --lowercase | --no-lowercase]
330
331
  IMAGE_FILENAMES [IMAGE_FILENAMES ...]
331
332
 
332
333
  positional arguments:
@@ -354,7 +355,8 @@ options:
354
355
  set the outline color of the watermark text (default:
355
356
  'black')
356
357
  --camera use camera metadata as watermark
357
- -l, --lowercase lowercase the watermark text
358
+ -l, --lowercase, --no-lowercase
359
+ lowercase the watermark text
358
360
  ```
359
361
 
360
362
  <!--help-watermark !-->
@@ -1,4 +1,4 @@
1
- fotolab/__init__.py,sha256=fZZb0I229_RXcxunCTP3flULzE0p48prsOWsvTqLkyM,2061
1
+ fotolab/__init__.py,sha256=pw2AneRyAlWbI9FH4Ikuepdam_hEWBbqqmTUXny6WP4,2061
2
2
  fotolab/__main__.py,sha256=aboOURPs_snOXTEWYR0q8oq1UTY9e-NxCd1j33V0wHI,833
3
3
  fotolab/animate.py,sha256=ejimhTozo9DN7BbqqcV4x8zLnanZRKq1pxBBFeOdr6Q,2967
4
4
  fotolab/auto.py,sha256=l_-Kf5V5Anvwz1QV1ET-42YsDWEeHf_okHkXWOycWAI,2295
@@ -6,14 +6,14 @@ fotolab/border.py,sha256=5ch2d7LVPhB2OFuuXSW5ci6Cn967CPDQu0qSfaO7uMg,3591
6
6
  fotolab/cli.py,sha256=FBFSeMNqcOiJ6MuAcy0qUvc9cscdFUG946HlWZXBPtY,4984
7
7
  fotolab/contrast.py,sha256=l7Bs5p8W8ypN9Cg3fFHnU-A20UwMKtjTiPk6D0PRwpM,2095
8
8
  fotolab/env.py,sha256=fzUoRWgYEiYJIWYEiiSLEb7dH_xVUOnhMpQgc1yjrTY,1457
9
- fotolab/info.py,sha256=lY9n6HDnlDyRVDTRqYwzxm5xgPSyh0P8N3ybnnNtNtw,2892
9
+ fotolab/info.py,sha256=jIWmsDAk8ikKb3uZ568DHu3m21OW2-1Erg9PRYa4giw,3281
10
10
  fotolab/montage.py,sha256=lUVY-zDSH7mwH-s34_XefdNp7CoDJHkwpbTUGiyJGgs,2037
11
11
  fotolab/resize.py,sha256=2bH1Kgoe_DqU8ozJ1E_oA6a9JPtuwIlo5a4sq_4Yles,5018
12
12
  fotolab/rotate.py,sha256=l_vQgf0IcI8AR1TSVsk4PrMZtJ3j_wpU77rKiGJ-KTA,1715
13
13
  fotolab/sharpen.py,sha256=wUPtJdtB6mCRmcHrA0CoEVO0O0ROBJWhejTvUeL67QU,2655
14
- fotolab/watermark.py,sha256=-YzxABVT5KJM1GgYLP3Z8X9YPfQzncOA9YnRJgNN6nA,7457
15
- fotolab-0.21.1.dist-info/entry_points.txt,sha256=mvw7AY_yZkIyjAxPtHNed9X99NZeLnMxEeAfEJUbrCM,44
16
- fotolab-0.21.1.dist-info/LICENSE.md,sha256=tGtFDwxWTjuR9syrJoSv1Hiffd2u8Tu8cYClfrXS_YU,31956
17
- fotolab-0.21.1.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
18
- fotolab-0.21.1.dist-info/METADATA,sha256=hH4mutSmdcXzZmt204mH0EdmgErcY18WK8KR9wtjw5o,10600
19
- fotolab-0.21.1.dist-info/RECORD,,
14
+ fotolab/watermark.py,sha256=XuVj-Cg1duNtW1Z9S8Y0AN4Q268lTM3dne5HnzLWgj0,7252
15
+ fotolab-0.22.0.dist-info/entry_points.txt,sha256=mvw7AY_yZkIyjAxPtHNed9X99NZeLnMxEeAfEJUbrCM,44
16
+ fotolab-0.22.0.dist-info/LICENSE.md,sha256=tGtFDwxWTjuR9syrJoSv1Hiffd2u8Tu8cYClfrXS_YU,31956
17
+ fotolab-0.22.0.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
18
+ fotolab-0.22.0.dist-info/METADATA,sha256=4pqzWJZoXD0c7sSRQM5RrSlC6HuEFFf9o2K-Yx6C_m0,10724
19
+ fotolab-0.22.0.dist-info/RECORD,,