Skip to content

Latest commit

 

History

History
3350 lines (2045 loc) · 187 KB

CHANGELOG.md

File metadata and controls

3350 lines (2045 loc) · 187 KB

Changelog

All notable changes to this project will be documented in this file.

25 February 2023

Added

  • Added osxphotos batch-edit command to batch edit metadata (title, description, keywords, location) on selected photos. See osxphotos help batch-edit for more information. (#949)
  • Added --date-added and --date-added-from-photo to osxphotos timewarp command to adjust the date added for selected photos. This is useful for removing photos from the Recents folder, for example. (#998)

Fixed

  • Bug fix for export when retry failed to close export database. Thanks to @eecue for reporting this. (#999)

Contributors

20 February 2023

Added osxphotos show FILEPATH

Added

  • osxphotos show FILEPATH to show a photo in Photos from the filepath to an exported photo, exported with osxphotos export

Internal

  • Fixed a bug in echo_error() that occurred only in certain circumstances.

Contributors To This Release

20 February 2023

Updated exportdb to add migrate library feature

Added

  • --migrate-photos-library option added to osxphotos exportdb to migrate the export database from one Photos library to another. This is useful when moving to a new computer but maintaining the existing osxphotos export. Thanks to @swduncan for the idea. (#990)

Fixed

  • Fixed a bug in osxphotos export --cleanup to handle files which could not be deleted. Thanks to @oPromessa for finding this and suggesting the fix. (#987)

Internal

  • Fixed a bug that caused rich_echo() to not display rich text if --verbose wasn't specified.

Contributors To This Release

  • @RhetTbull for code changes.
  • @Promessa who found the cleanup bug and suggested a code fix.
  • @swduncan who suggested the library migrate use case.

12 February 2023

Added show command, bug fix, refactoring

A bug fix and some refactoring to prepare for adding a parallel export mode. Also added osxphotos show command.

Added

  • Implemented show command: osxphotos show UUID_OR_NAME finds the photo/album/folder in Photos and spotlights it in the Photos app (#964)
  • --uuid-from-file can now read from stdin if the filename is - (#965)

Changed

  • Added lock files to export to minimize name collisions. This will help with implementing a parallel/multi-process export mode later.

Fixed

  • Fixed osxphotos timewarp bug if timezone was null in database (#976)

Contributors To This Release

  • @RhetTbull
  • @aa599 for reporting the timezone bug and suggesting change to --uuid-from-file

5 February 2023

Bug Fix and Refactoring

This release included a lot of refactoring of the command line code to make it easier to maintain. No new features were added. Because a lot of the code changed, it's more likely than usual that some bugs got introduced (or reintroduced) this time so if you encounter any, let me know by opening an issue.

Fixed

  • Fixed regression for exporting associated burst images (#640)

Changed

  • Refactored much of the CLI code to make it more maintainable, specifically those commands that used QUERY_OPTIONS. (#602)
  • Deprecated osxphotos dump (will be removed in a future release); added dump functionality to osxphotos query (#793)
  • Deprecated use of the Photos database argument in favor of the --db/--library option. Will be removed in a future release.
  • Added query options to osxphotos debug-dump (#966)
  • Refactored --verbose to accept multiple counts. For example, -VV or --verbose --verbose will increase verbose level. (#931)
  • QUERY_OPTIONS can exclude options (#930)

Added

Contributors

  • @RhetTbull

28 January 2023

Bug Fixes and A Few New Features

Added

  • Added --not-edited option to query | Added corresponding tests for query and export (@oPromessa)
  • Implemented {counter} template #957 (@RhetTbull)

Fixed

  • Fixed --dry-run with --finder-tags-keywords and --xattr-template, #958

Changed

  • Refactored verbose #931

Contributors to this release

  • @oPromessa for adding --not-edited
  • @pweaver - thanks for finding the bug with --dry-run and --finder-tag-keywords
  • @eecue for providing testing data

22 January 2023

TimeWarp Update

Added

  • Added --parse-date to timewarp to parse date from filename (and optionally timezone) (#867)
  • Added PersonInfo.favorite and PersonInfo.feature_less (#940)

Contributors

  • Thanks to @eecue for the idea of PersonInfo.feature_less
  • Release files for 0.56.6 #952
  • Feature timewarp parse date 867 #951
  • Feature person favorite 940 #950

21 January 2023

Hotfix for osxphotos timewarp

Fixed

  • Fixed iCloud sync for osxphotos timewarp --timezone

21 January 2023

Speed up for import and better search info in Ventura

Added

  • osxphotos inspect now shows all search info for selected photo (#934)
  • Added PhotoInfo.SearchInfo.source to show source of photo (e.g. Messages, Instagram, ...) (#937)

Fixed

  • Fixed incorrect SearchInfo categories for Ventura

Contributors

  • Thanks to @djbeadle for idea of adding SearchInfo.source
  • Thanks for @oPromessa for testing import speed-ups and providing test data

16 January 2023

add-locations command

Added

  • Added new osxphotos add-locations command to add missing locations to photos. Thanks to @eecue for the inspiration!

Fixed

  • Fixed bug in osxphotos sync command to filter shared photos, which cannot be synced

15 January 2023

Various Enhancements

Added

  • Added score info to inspect, #899

Changed

  • Updated PhotoScript version to use faster folder/album code

Fixed

  • Fixed 'Photos 5 only' in help text
  • Added note on pipx ensurepath to README.md
  • On import consider GPS Location from XMP if EXIF is not available

Contributors to this release

  • @RhetTbull - Added AI scores to osxphotos inspect
  • @mave2k - Documentation fixes
  • @oPromessa - Bug fix for metadata in osxphotos import

14 January 2023

Sync Command

Added

  • Added new osxphotos sync command to sync metadata between libraries (#887)

13 January 2023

Ability to export photos in iCloud / not in iCloud

Added

  • Added --incloud, --not-incloud, --not-missing, --cloudasset, --not-cloudasset to export (#800)
  • Added PhotoInfo.fingerprint (#900)

Changed

  • Added --profile, --watch, --breakpoint, --debug as global options; previously these worked only with export

New Contributors

  • Added @oPromessa as a contributor for code
  • Added @johnsturgeon as a contributor for bug, and doc
  • Added @qkeddy as a contributor for ideas, and data

1 January 2023

Bug fix for shared photos on Ventura

Fixed

  • Fixes path for shared photos on Ventura
  • Shared photos can now be exported on Ventura

30 December 2022

Updates for timewarp and export when reading/writing QuickTime dates

Changed

  • Added QuickTime:ContentCreateDate as a source for osxphotos timewarp
  • Write QuickTime:ContentCreateDate when exporting with --exiftool for osxphotos export

Contributors

Thanks to @PetrochukM for identifying this and providing code!

24 December 2022

  • Handle "Z" as EXIF offset time #881
  • add fmckeogh as a contributor for code, and bug #882
  • Version bump for release 5f29870

19 December 2022

  • Release files for 0.55.3 #879
  • Partial implementation for #868, candidate paths #878
  • Fix for #853, deleted files not in exportdb --report #877
  • Fix for #872, duplicate results with --exif (and --name) #876
  • fix: dev_requirements.txt to reduce vulnerabilities #836
  • Added errors to export database, --update-errors to export, #872 #874
  • Bug fix for missing RAW images during export 8b9af7b
  • Release files de584e3
  • Added Ventura 13.1 to support OS versions 830da7b

13 December 2022

  • Bug edited path bad mojave 859 #870
  • Version bump, fix for #859, wrong edited path in Mojave aeb6283
  • Added template function example ee370f5
  • Added timewarp --function example 2afab9e
  • Added edited live video path to inspect, #865 3c8d7e1
  • Updated README for supported OS versions c3bd04f

11 December 2022

  • Bug edited path bad mojave 859 #864
  • Version bump, fix for #859, wrong edited path in Mojave e4faf37
  • Update tests.yml debc001
  • Fixed edit_resource_id for Photos 5+ 025ee36

11 December 2022

  • Added Ventura to list of supported OS #863
  • Partial fix for #859, missing path edited on Mojave #862
  • add drodner as a contributor for bug, and userTesting #861
  • Updated build for Ventura 327f198
  • Added target architecture, #857 88e56bc

24 November 2022

  • Added --post-function to import, #842 #851
  • Feature import parse date 847 #850
  • Version bump for release cad4e1e
  • Added test for #848 d6fc8fc

16 November 2022

  • add zephyr325 as a contributor for bug #844
  • Version bump 9ed1b39
  • Fix for timewarp failure on Ventura, #841 40de05c
  • Updated search_info test f610d3c

14 November 2022

  • Added --alt-copy method for #807 #835
  • Version bump 548071e
  • Fixed help text for , #828 ea76297

13 November 2022

  • Bug search info macos13 816 #831
  • add dmd as a contributor for userTesting #829
  • Updated docs 155f29a
  • Updated build script, dev dependencies 644582b
  • Added tests for macOS 13 / Ventura, added test for labels on macOS 13, #816 831eecf
  • Version bump f957e43
  • Updated dependencies for #832 0995076

12 November 2022

  • Version bump dc1a600
  • Updated dependencies for python 3.11, #817, #825 ff981dd
  • Updated dependencies for python 3.11, #817, #825 7d72499

12 November 2022

  • add dmd as a contributor for bug #824
  • Bug labels ventura 816 #823
  • Added ImportInfo bool, #820 dcc16c9
  • Added instructions for python 3.11/pipx 2e38a56
  • Updated example to match API 6dbeaae
  • Update README.md 2cd61dc

6 November 2022

  • add dalisoft as a contributor for code, and test #806
  • fix: remove warning for macOS 11.7 #805
  • Refactor update osxmetadata #804
  • Version bump d91bf14
  • Updated dependencies 61ac447
  • Fixed typo in requirements.txt 6fa07d4
  • Bugfix for bare {filepath} template 0ba8bc3

25 September 2022

  • Bugfix exportdb migration 794 #795
  • Release 0.51.8, bug fix for exportdb migration 00eb800
  • Updated dependencies 43fcdbc
  • Tested on 12.6, #792 eedc2f0

11 September 2022

  • Feature read iphone db #745 #791
  • fix: requirements.txt to reduce vulnerabilities #789
  • fix: dev_requirements.txt to reduce vulnerabilities #725
  • Refactor phototemplate #788
  • Refactored ExportResults #786
  • Release 0.51.7, support for reading iPhone Photos.sqlite b5b7a28
  • Added QR code example 74a730e
  • Updated PhotosAlbum code d5a9001
  • Updated sqlitekvstore cee2aca
  • Updated QR Code example 83ce702

31 August 2022

  • Added --resume to import, #768 #784
  • Added release files for 0.51.5 3ca0e2b
  • Release 0.51.6, added --resume to import 5794df0

27 August 2022

  • Added --field to dump and query, #777 #779
  • docs: add tkrunning as a contributor for code, bug #776
  • docs: add jmuccigr as a contributor for bug, ideas #775

27 August 2022

  • Release 0.51.4, added --print to dump bb480f6
  • Added --print to dump, added {tab} 5eaeb72
  • Fixed --print to work with {tab} af9311c

27 August 2022

  • Added --print, --quiet, #769, #770 #773
  • Release 0.51.3, added --print (#769), --quiet (#770) d576ca5
  • Added bump2version 320fb86

26 August 2022

  • Release 0.51.2, added new filter(x) to template filters #772
  • Feature filter filter 759 #771

22 August 2022

  • Release 0.51.1, added --report to import #767
  • Added --report to import command #766
  • Fixed template function to work with import command #765
  • Updated README [skip ci] b5f4c48

21 August 2022

  • Release 0.51.0 #763
  • Feature add import 754 #762
  • Updated tested versions #757
  • Updated examples [skip ci] c7e3a55
  • Updated xmp_rating example 1e053aa
  • Updated xmp_rating example 46738d0

13 August 2022

  • Release 0.50.13 #756
  • Feature orphans #755
  • Added bad_photos example [skip ci] 2103d8b
  • Add PhotosAlbumPhotosKit to all 26a9028
  • Add PhotosAlbum to osxphotos all e41f894

8 August 2022

  • Hot fix for 749 #750
  • Added strip_live.py example #747
  • Added reddit badge for r/osxphotos #746

28 July 2022

  • Feature not reference 738 #744
  • docs: add nullpointerninja as a contributor for ideas #743
  • docs: add franzone as a contributor for bug #742

27 July 2022

  • Updated docs for v0.58.10 [skip-ci] #741
  • Feature add keep 730 #740
  • docs: add Se7enair as a contributor for ideas #737

23 July 2022

  • Release files for #732, add --favorite-rating f8f9bd7
  • Implemented --favorite-rating, #732 5d33dcd

23 July 2022

  • Added report_summary view to export report database 7484c7b
  • Fixed report_summart view 2e85f9b
  • Added report_summary view to export report database f279217

23 July 2022

  • docs: add infused-kim as a contributor for ideas #736
  • Implemented #731, export_id in report database bd33b61
  • Refactored implementation for #731 855d417
  • Added live video and raw photo size to inspect, #734 7497a02
  • Updated docs [skip ci] f3557d1

15 July 2022

  • docs: add nullpointerninja as a contributor for bug #724
  • Bug fix for #726 5a43fb7
  • Possible fix for #726 30bf06e

1 July 2022

  • Fix for large files and exiftool, #722 #723
  • Added example [skip ci] c20a399
  • Updated README.md [skip ci] 6b0db22
  • Updated README.md [skip ci] 7d84b3d

17 June 2022

  • Initial support for Ventura developer preview #715
  • Added initial support for macOS Ventura/13.0 beta 51317a6
  • Added example [skip ci] 561c684
  • Updated examples [skip ci] 04c2f61
  • Updated examples [skip ci] 56435b1
  • Updated examples [skip ci] f47aa72

29 May 2022

28 May 2022

28 May 2022

  • Updated README.md, #707 [skip ci] a049b99
  • Version 0.50.1 with --delete-file, --delete-uuid exportdb commands 6c1650b
  • Updated docs [skip ci] b6e7a75

28 May 2022

  • Version 0.50.0 with updated template engine 175d7ea
  • Updated template language to match autofile 0a973d6

26 May 2022

23 May 2022

  • Removed screencast, [skip ci] 9d7a5e2

23 May 2022

22 May 2022

22 May 2022

  • Feature inspect command #701
  • Initial implementation of inspect command #700
  • Added inspect command 128e84c

21 May 2022

  • Added timestamp to export_data in exportdb, #697 6400204
  • Added warning on hardlinks to exiftool command 4e40d4b

21 May 2022

  • Updated docs 0a7575b
  • Added --uuid-info, --uuid-files to exportdb c776f30

21 May 2022

  • Initial implementation of exiftool command, #691 #696
  • Added exiftool command 8e9f279
  • Added example [skip ci] 6d5af5c
  • Updated docs [skip ci] 3473c2e
  • Updated test dfcb99f

17 May 2022

15 May 2022

  • Feature report writer #309 #690
  • Added JSON, SQLite report formats, added command 1173b6c
  • --report can now accept a template, #339 391815d
  • Fixed run command to allow passing args to the called python script b4dc7cf
  • Fixed test to run on MacOS > Catalina a89c66b

8 May 2022

8 May 2022

  • Fixed path_derivatives for shared photos, #687 abbb200
  • Added --no-keyword, #637 e7eefce
  • Fixed typo in docs 2ed6e11

7 May 2022

  • Added --limit, version bump 5ab5c53

7 May 2022

  • Added --limit, #592 #685

6 May 2022

  • Feature metadata changed 621 #684
  • Version bump, updated docs ff2e810

5 May 2022

  • Added --added-after, --added-before, --added-in-last, #439 #683
  • Updated to pytimeparse2, added tests for custom Click param types 3ed658a

3 May 2022

  • Added moment_info, #71 9bc5890
  • Added --force to timewarp to bypass confirmation f42bee8
  • Added confirmation for timewarp, #677 ac67ef2

1 May 2022

1 May 2022

  • Feature timewarp #675
  • Version bump d07aab5
  • Updated dependencies for rich_theme_manager 8a3dc9b

24 April 2022

23 April 2022

23 April 2022

  • Added version command #672
  • Added API_README ee6e460
  • Updated docs build to use cog b8b4c15
  • Updated docs with developer notes fa80ea3

22 April 2022

20 April 2022

  • Added --year query option, #593 #670
  • Updated docs, version f4c02c3
  • Open cli.html instead of index.html 7e4977e

19 April 2022

17 April 2022

27 March 2022

  • fix verbose output when redirected to file, #661 382d097
  • Updated docs [skip ci] 6875427
  • version bump d28a2fe

12 March 2022

  • Richify #653
  • Added --watch, --breakpoint #652
  • Hack to fix #654 when utime fails on NAS #654
  • Debug updates de1900f
  • Updated docs [skip ci] fccd746
  • Changed return val of _should_update_photo to enum for easier debugging bbcc3ac
  • Updated crash_reporter to include crash data 1227465
  • Fixed missing pdb.py issue for pyinstaller, partial for #659 e272e95

2 March 2022

27 February 2022

27 February 2022

26 February 2022

26 February 2022

26 February 2022

24 February 2022

24 February 2022

  • Removed debug code from exiftool, fixed #641 #641
  • Added debug output to exiftool 39ba17d
  • Fixed export of bursts with --uuid and --selected, #640 5b66962
  • Added --sql command to exportdb c8ee679
  • Updated docs [skip ci] 2966c9a
  • Updated debug info 6cb7ded

21 February 2022

  • Added --ramdb option #639

21 February 2022

  • Exportdb refactor #638
  • Updated docs [skip ci] 5290fae

14 February 2022

  • Allow multiple characters as path_sep, #634 d8204e6
  • Added --debug and crash reporter to export, #628 060729c
  • Added crash_reporter.py 9c26e55

13 February 2022

  • beta fix for #633, fix face regions in exiftool afbda03
  • Updated docs [skip ci] 65d51ab

12 February 2022

  • Added --force-update, #621 30abddd

12 February 2022

5 February 2022

  • Fixed exiftool to ignore unsupported file types, #615 1ae6270
  • Updated tests 55a601c
  • Additional fix for #615 1d6bc4e

5 February 2022

  • Fix for unicode in query strings, #618 9b247ac
  • Fix for --name searching only original_filename on Photos 5+, #594 cd02144

5 February 2022

  • Fix for #561, no really, I mean it this time b3d3e14
  • Updated docs [skip ci] 2b9ea11
  • Updated tests for #561 [skip ci] 77a49a0

3 February 2022

  • docs: add oPromessa as a contributor for ideas, test #611
  • Fix for filenames with special characters, #561, #618 f3063d3
  • Updated docs [skip ci] 06c5bbf
  • Added progress counter, #601 7ab5007
  • Updated known issues [skip ci] e32090b

29 January 2022

  • Added --timestamp option for --verbose, #600 d8c2f99
  • Updated docs [skip ci] 5fc2813
  • Updated formatting for elapsed time, #604 16d3f74

29 January 2022

  • Implemented #605, refactor out export2 235dea3
  • Fix for #564, --preview with --download-missing 5afdf6f

28 January 2022

  • Performance improvements and refactoring, #462, partial for #591 22964af
  • Refactored photoexporter for performance, #591 6843b86
  • Performance improvements, partial for #591 3bc53fd

24 January 2022

  • Removed exportdb requirement from PhotoTemplate 6af124e
  • Version bump bd31120

23 January 2022

  • Added query options to repl, #597 7855801
  • Added run command, #598 b4bd04c
  • Bug fix for get_photos_library_version e88c6b8

23 January 2022

  • creat unit test for all #599
  • Performance improvements, added --profile 7486823

22 January 2022

  • Create all for all python files #589
  • Create all for the file cli.py #587
  • docs: add xwu64 as a contributor for code #585
  • add all to files "adjustmentsinfo.py" and "albuminfo.py" #584
  • More refactoring of export code, #462 6261a7b
  • Added ExportOptions to photoexporter.py, #462 9517876
  • Blackified files 3bafdf7
  • More refactoring of export code, #462 c2d726b
  • Refactored photoexporter sidecar writing, #462 458da0e

9 January 2022

9 January 2022

  • docs: add ahti123 as a contributor for code, bug #578
  • changing photos_5 version constant to satisfy version 5001 #577
  • Added grep command to CLI 4dd838b
  • Added test for #576 92fced7
  • Added sqlgrep 53c701c
  • Fix for #575, database version 5001 5a8105f
  • Updated docs [skip ci] 64a0760

8 January 2022

  • Fix for #576, error exporting edited live photos 2e7db47

6 January 2022

  • Fix for burst images with pick type = 0, partial fix for #571 d2d56a7

6 January 2022

4 January 2022

  • Refactored photoinfo, photoexporter; #462 a73dc72
  • More refactoring of export code, #462 147b30f
  • Export DB can now reside outside export directory, #568 76aee7f

31 December 2021

  • ImageConverter now uses generic context; #562 a3b2784
  • Updated tests and docs 1391675
  • Updated docs [skip ci] cbe79ee

31 December 2021

31 December 2021

  • Added --skip-uuid, --skip-uuid-from-file, #563 04930c3

31 December 2021

  • Added support for projects, implements #559 44594a8
  • Updated docs [skip ci] c4e3c5a
  • Fixed test for #561 690d981

28 December 2021

  • Fix for accented characters in album names, #561 03f4e7c

26 December 2021

21 December 2021

10 December 2021

  • Fixes typo in README #548
  • docs: add alandefreitas as a contributor for bug #551
  • docs: add dgleich as a contributor for code #541
  • Updated docs 197e566
  • Added test library for Monterey on M1 3e038bf
  • Updated docs [skip ci] f6dedaa
  • Added MomentInfo for Photos 5+, #71 a52b4d2
  • Fixed error for missing photo path, #547 0906dbe

25 November 2021

  • Updated dependencies for pyobjc 8.0 7d92359

11 November 2021

  • Fix for --use-photokit with --skip-live, #537 0e6c92d

7 November 2021

30 October 2021

  • Dependency update for Monterey 818f4f4
  • Updated docs [skip ci] 2cf19f6

28 October 2021

  • Updated for Monterey 12.0.1 release ef82c6e

15 October 2021

  • docs: add spencerc99 as a contributor for bug #527
  • Fix for #526 with --update 419b34e
  • Updated docs [skip ci] 0e9b9d6
  • Fixed FileUtil to use correct import f64c4ed

11 October 2021

11 October 2021

11 October 2021

  • Updated docs [skip ci] b23e74f
  • Added python 3.10 to supported versions 3f81a3c
  • Updated dependencies a895833

30 September 2021

  • Updated REPL, now with more cowbell c472698
  • Updated docs [skip ci] 1ddb1de

26 September 2021

26 September 2021

26 September 2021

26 September 2021

25 September 2021

  • Implemented PhotoInfo.owner, AlbumInfo.owner, #216, #239 c4b7c26
  • Updated docs [skip ci] 59ba325

25 September 2021

15 September 2021

  • Fixed detected_text to use image orientation if available dd08c7f
  • Added twine 16335a6
  • Added wheel e0f6d8e

14 September 2021

29 August 2021

29 August 2021

29 August 2021

  • docs: add dssinger as a contributor for bug #514
  • Fix for newlines in exif tags, #513 f0d7496

28 August 2021

23 August 2021

15 August 2021

  • Added inspect() to repl, closes #501 #501
  • Updated docs for Text Detection [skip ci] c2b2476
  • Updated README.md [skip ci] 2041789

2 August 2021

  • Improved caching of detected_text results fa2027d

29 July 2021

  • Updated text_detection to detect macOS version 7376223
  • Updated detected_text docs to make it clear this only works on Catalina+ ecd0b8e
  • Fix for #500, check for macOS version before loading Vision 673243c

29 July 2021

  • Added error logging to {detected_text} processing, #499 b1c0fb3
  • Updated README.md [skip ci] 1ee3e03
  • Removed unneeded test file [skip ci] 607cf80

28 July 2021

  • Added {detected_text} template c233523
  • Added PhotoInfo.detected_text() 123340e
  • Updated dependencies 0c8fbd6

24 July 2021

  • Added {album_seq} and {folder_album_seq}, #496 12f39db
  • Fixed {album_seq} and {folder_album_seq} help text 077d577

23 July 2021

  • Updated docs 666b6ca
  • Added {id} sequence number template, #154 e95c096
  • Updated example [skip ci] 8216c33

20 July 2021

  • Fixed album sort order for custom sort, #497 e27c40c
  • Updated test data a05e7be
  • Updated example [skip ci] 6f4cab6

18 July 2021

  • Pass dest_path to template function via RenderOptions, enable implementation of #496 2d899ef

18 July 2021

  • Added album_sort_order example b04ea81
  • Updated README.md [skip ci] 88099de
  • Added RenderOptions to {function} template, #496 173a0fc

16 July 2021

  • Upgraded osxmetadata to add new extended attributes 7d81b94
  • Updated tutorial with --regex example [skip ci] bf208bb
  • Update README.md d627cfc

7 July 2021

  • Added --selected, closes #489 #489

6 July 2021

  • docs: add mkirkland4874 as a contributor for example #492
  • Updated README.md [skip ci], closes #488 #488
  • Added example for {function} template 016297d
  • Fixed cleanup to delete empty folders, #491 1bf11b0

4 July 2021

  • Re-enabled try/except in cli export d497b94
  • Added test for try/except block in cli export 2e32d62

4 July 2021

  • Added --preview-if-missing, #446 632169f

4 July 2021

  • Refactored export2, #485, #486 28c681a
  • Added --preview, #470 7e2d09b
  • Fixed path_derivatives to always return jpeg if photo is a photo b4dbad5

2 July 2021

  • Removed _applescript, #461 1d26ac9
  • Removed _applescript, #461 03b4f59
  • Added get_selected() to REPL 2e1c91c

2 July 2021

  • docs: add jcommisso07 as a contributor for data #483
  • docs: add mkirkland4874 as a contributor for bug #482
  • Fix for path_raw when file is reference, #480 4cc3220
  • Updated README.md [skip ci] 6339e3c

30 June 2021

  • Alpha support for Monterey/macOS 12 08147e9
  • Refactored UTI utils to get ready for Monterey d034605
  • Updated photokit code to work with raw+jpeg, #478 a73db3a

23 June 2021

  • Bug fix for template functions #477 4931758
  • Updated README.md [skip ci] 64fd852
  • Fixed deprecation warning 3fbfc55

20 June 2021

  • Implemented --query-function, #430 07da803
  • Added query function [skip ci] be363b9
  • Updated README.md [skip ci] 377e165

20 June 2021

  • Added --location, --no-location, #474 870a59a

20 June 2021

  • Implemented --post-function, #442 987c91a
  • Added post_function.py 233942c
  • Fixed function names to work around Click.runner issue 821e338

19 June 2021

  • Bug fix for --download-missing, #456 0cd8f32
  • Updated README.md [skip ci] 37dc023
  • Added isort cfg to match black 904acbc

19 June 2021

  • Added repl command to CLI; closes #472 #472
  • Updated README.md [skip ci] 130df1a

19 June 2021

  • Added tutorial, closes #432 #432

18 June 2021

18 June 2021

  • Added error handling for --add-to-album bc5cd93
  • Updated README.md [skip ci] 62d49a7

18 June 2021

  • Added additional info to error message for --add-to-album 64bb07a

18 June 2021

18 June 2021

  • Added --post-command, implements #443 fa29f51
  • Added matrix for GitHub action OS ee0b369
  • Added macos 10.15 and 11 2fc45c2

14 June 2021

  • Refactored PhotoTemplate to support pathlib templates 2cdec3f
  • Added {filepath} template field in prep for --post-command and other goodies c0bd0ff
  • Fixed missing more-itertools, #466 1009732

12 June 2021

  • Cleaned up tests, fixed bug in PhotosDB.query 0758f84
  • Added --duplicate flag to find possible duplicates 83892e0
  • Updated README.md [skip ci] 1a46cdf

9 June 2021

  • Refactored PhotoInfo.export2 d7a9ad1
  • Updated dependencies to minimize pyobjc requirements 61943d0
  • Fix for --convert-to-jpeg with use_photos_export, #460 4b6c35b

1 June 2021

29 May 2021

28 May 2021

  • docs: add kaduskj as a contributor #453
  • Fixed bug in imageconverter exception handling, closes #440 #440
  • PhotoInfo.exiftool now returns ExifToolCaching, closes #450 #450
  • Fixes for #454 2d68594
  • Updated tested versions to 11.3 a298772
  • Updated README.md [skip ci] 24ccf79
  • Updated README.md [skip ci] b026147

23 May 2021

23 May 2021

  • Fixed #451, path_derivatives for Photos version <= 4 #451
  • README.md update [skip ci] 9603750

19 May 2021

  • Cleanup exiftool processes when exiting, #449 9f2268f
  • Added osxphotos related template fields, partial fix for #444 df167c0
  • Update README.md e8f9cda

9 May 2021

  • Updated path_derivatives to return results in sorted order (largest to smallest) f24e4a7

8 May 2021

  • Added path_derivatives for Photos 5, issue #50 63834ab
  • Updated docs 78c411a
  • Added path_derivatives for Photos <= 4 6bdf15b

7 May 2021

2 May 2021

  • Added --add-to-album to query 9a0cc3e
  • Updated docs [skip ci] c4fec00

1 May 2021

25 April 2021

  • Added read-only ExifToolCaching class, to implement #325 91804d5
  • Added normalized flag to ExifTool.asdict() 3d26206
  • Updated docs dc0bbd5

24 April 2021

  • Added {edited_version} template field, closes #420 #420

24 April 2021

  • Bump py from 1.8.0 to 1.10.0 #434
  • Fixed handling of burst image selected/key/default, closes #401 (again) #401
  • Added tutorial to README f54205f
  • Refactored export_photo to enable work on #420 48c229b
  • Refactored README.md to improve Template System section 1d14fc8
  • Updated tutorial aad435d
  • Fixed typo in tutorial 131105d

20 April 2021

  • Added --regex query option, closes #433 #433

18 April 2021

  • Added function filter to template system, closes #429 #429
  • Updated docs [skip ci] 3f57514
  • Updated docs 50fa851
  • Added template_filter.py to examples 9371db0
  • Fixed docs for function: filter 1cdf4ad
  • Version bump a483b8a

18 April 2021

  • Refactored _query to PhotosDB.query() 345c052
  • Cleaned up queryoptions.py 81fd51c
  • Added re to photosdb for use with query_eval c8ea0b0

17 April 2021

  • Added --min-size, --max-size query options, #425 7ae5b8a
  • Updated docs, added build.sh 2e189d7
  • Fixed setup.py 952f1a6

17 April 2021

  • Updated docs, closes #424 #424
  • Added {newline}, #426 7fa7de1

17 April 2021

  • Fixed bug for multi-field templates and --xattr-template, #422 6a28867
  • Add @ubrandes as a contributor 874ad2f

14 April 2021

  • Implements conditional expressions for template system, #417 03f8b2b
  • Added {function} template, #419 21dc0d3
  • Added template_function.py to examples eff8e7a

11 April 2021

  • Doc updates 958f8c3
  • Added {photo} template, partial fix for issue #417 aa1a96d
  • Added {favorite} template, partial fix for #289 d9f2430

8 April 2021

  • Added --query-eval, implements #280 b4bc906

5 April 2021

  • Bug fix for #414, exiftool str replace 032dff8

3 April 2021

  • Added --name to search filename, closes #249, #412 #249

2 April 2021

  • Bump pygments from 2.6.1 to 2.7.4 #408
  • Removed logging.debug code e21a78c
  • Added test for #409 db27aac
  • Update phototemplate.py d174547

27 March 2021

  • Added --retry, issue #406 b330e27

27 March 2021

  • Bump pyyaml from 5.1.2 to 5.4 #402
  • Fixed albums for burst images, closes #401, #403, #404 #401

21 March 2021

  • Bump pillow from 7.2.0 to 8.1.1 #399
  • Added --from-time, --to-time, closes #400 #400

14 March 2021

  • docs: add AaronVanGeffen as a contributor #398
  • Use original filename to export photos by default #396
  • Updated docs for --cleanup, #394 17ac594
  • Add --cleanup files to report, #395 5b95476

14 March 2021

  • Fix for long descriptions with exiftool, #393 ffb9af1

4 March 2021

  • Bug fix, convert PosixPath to str, #392 595307a

21 February 2021

  • Template refactor #385

20 February 2021

  • Better exception handling for AdjustmentsInfo 44a1e3e

20 February 2021

  • docs: add neilpa as a contributor #383
  • Added AdjustmentsInfo, #150, #379 5ee6aff
  • docs: update .all-contributorsrc [skip ci] ebac9d0
  • docs: update README.md [skip ci] 29716c5
  • Version bump fbe8229

17 February 2021

  • Updated docs for --ignore-signature, #286 e5f1c29
  • Added depth_state to _info b3a7869

13 February 2021

  • Write description to ITPC:CaptionAbstract (#380) 4b7a53f
  • Removed orientation from XMP, #378 70848e1
  • Added image orientation bug to Known Bugs 1316866

12 February 2021

  • Fix for issue #366, --jpeg-ext, --convert-to-jpeg bug 3027350
  • Added test for #374 2691902

9 February 2021

  • Bug fix for --jpeg-ext, #374 da47821

8 February 2021

  • Fixed --exiftool-option, #369, for real this time 857e3db

8 February 2021

  • Fixed --exiftool-option, #369 198adda

7 February 2021

7 February 2021

  • Fixed unnecessary warning for long keywords, issue #365 f8616ac

4 February 2021

  • Implemented --in-album, --not-in-album, issue #364 addd952
  • Updated docs 7fa5fba
  • Updated docs Makefile [skip ci] 683dfe7

2 February 2021

  • Bump bleach from 3.1.4 to 3.3.0 #362
  • Fixed XMP template for issue #361 43af4d2
  • Updated sidecar test data 591f9bc
  • Added tests for --only-new, #358 adc4b05
  • Updated tests for ExportDB, #358 48d2223
  • Added 11.2 to tested versions, #360 2284598

2 February 2021

  • Add @davidjroos as a contributor 8dbedef
  • Fixed documentation, #359 77371b6

1 February 2021

  • Restructured docs 3a4a8bd
  • Refactored main, added sphinx docs 51f6958
  • Implemented --only-new, #358 5c093c4

23 January 2021

22 January 2021

19 January 2021

  • face region fixes for mirrored images bdc4b23

18 January 2021

  • Fixed face regions for exif orientation 6, 8 86018d5
  • version bump 2f86625

18 January 2021

  • Fixed face region orientation 875f79b
  • Updated documentation for new face region properties 3a110bb

18 January 2021

  • Beta fix for Digikam reading XMP 3799594
  • Add @martinhrpi as a contributor db43017

17 January 2021

  • Added beta support for face regions in xmp 2773ff7
  • Fixed osxphotos.spec datas f58f8dd

15 January 2021

  • Added isreference property and --is-reference, #321 651ed50
  • version bump 9c18cee

15 January 2021

  • Added retry to use_photos_export, issue #351 ddce731

15 January 2021

  • Fixed XMP sidecars to conform with exiftool format, #349, #350 1fd0fe5
  • Added update_readme.py to auto-build README fd5976b
  • Added modified.strftime template, refactored test_template.py 088476c

12 January 2021

  • Fixed test for M1, added about command, closes #315 #315
  • Fixed time zone for tests 165f9b0
  • Add @narensankar0529 as a contributor 039118c
  • Update @narensankar0529 as a contributor 61f649e

11 January 2021

  • Added version check for M1 macs 27f779b

11 January 2021

  • Completed implementation of --jpeg-ext, fixed --dry-run, closes #330, #346 #330
  • Added --jpeg-ext, implements #330 55c088e

9 January 2021

  • Fixed leaky memory in PhotoKit, issue #276 db1947d

9 January 2021

  • Force cleanup of objects in write_jpeg (fix memory leak) #344
  • doc: Recorded screencast and updated of readme [skip ci] #328
  • Added PhotoInfo.visible, PhotoInfo.date_trashed, closes #333, #334 #333
  • Create terminalizer-demo.yml 5dc2eea
  • Force cleanup of objects with autorelease pool b67f11a
  • doc: Recorded screencast and updated of readme 658e8ac
  • doc: fixed toc in readme aba50c5
  • Add @Rott-Apple as a contributor 71cb015

8 January 2021

  • All contributors/add kradalby #343
  • Ensure keyword list only contains strings, @all-contributors please add @kradalby for code #342
  • Added README.rst, closes #331 #331
  • Ensure merge_exif_keywords are str not int 123ebb2
  • docs: update .all-contributorsrc [skip ci] 5e676d3
  • docs: update README.md [skip ci] 935865d
  • Updated tests workflow badge link a7678df
  • Ensure keyword list only contains string 7b6a0af

6 January 2021

  • Refactored ExportResults 568d1b3
  • Improved handling of deleted photos, #332 792247b
  • Added error_str to ExportResults d78097c

4 January 2021

  • Added test for Big Sur 16.0.1 database changes 7deac58
  • Updated all-contributors 2bf83e4
  • Added additional warning to _photoinfo_export fb5fb8e

3 January 2021

3 January 2021

3 January 2021

  • Make readme easier for beginners, thanks to @synox #326
  • doc simplify readme 02ef0f9
  • Added exception handling/capture for convert-to-jpeg, issue #322 05f111a
  • Cleanup up the readme 38842ff
  • Add @synox as a contributor 83915c6

3 January 2021

3 January 2021

  • Implemented text replacement for templates, issue #316 478715a

31 December 2020

  • Fixed modified template to use creation time if no modificationd date, issue #312 2f57abd

31 December 2020

  • Added --xattr-template, closes #242 #242

30 December 2020

  • Fixed --exiftool-path bug, issue #311, #313 3394c52

30 December 2020

  • Added Finder tags, partial implementation for issue #242 #310
  • Added tests for Finder tags 29e4245
  • Initial implementation for Finder tags 5885b23
  • Updated README for finder tags f25a299
  • Updated requirements.txt ea373c4

30 December 2020

  • Fixed --exiftool-path bug, issue #308 5dccdf7

29 December 2020

  • Fixed --exiftool-path to work with --exiftool-merge-keywords/persons 3872e7a

29 December 2020

  • Added --exiftool-path to CLI 4897fc4

29 December 2020

  • Added exiftool signature to JSON output, issue #303 fa58af8

28 December 2020

  • Added --exiftool-merge-keywords/persons, issue #299, #292 b1cb99f

28 December 2020

  • Added --sidecar-drop-ext, issue #291 dce002c
  • Updated Template Substitution table 7bd189e

28 December 2020

  • Added searchinfo templates, issue #302 0d086bf

28 December 2020

  • Added --sidecar exiftool, issue #303 d833c14
  • Refactored sidecar code ade98fc
  • Refactored export2 to use sidecar bit field 0d66759

27 December 2020

  • Bug fix for --description-template, issue #304 4cc40d2

27 December 2020

  • Set XMP:Subject to match Keywords, issue #302 75888cd

26 December 2020

  • Fixed city/sub-locality for SearchInfo f9f699b

26 December 2020

  • Exposed SearchInfo, closes #121 #121
  • Added version to --verbose, closes #297 #297
  • Added --exportdb 2a49255
  • Updated README.md f469ccc
  • Fixed help text f3b7134

21 December 2020

  • Added --exiftool-option to CLI, closes #298 #298

20 December 2020

  • remove duplicate keywords with --exiftool and --sidecar, closes #294 #294

20 December 2020

  • Added better exiftool error handling, closes #300 #300
  • README.md updates for tested versions 8d1ccda
  • version bump ef94933

17 December 2020

  • Documentation fix for #293. Thanks to @finestream #295
  • Patch 1 #1
  • Added additional test cases for #286, --ignore-signature 880a9b6
  • Add @finestream as a contributor ad860b1
  • Fixed issue #296 a7c688c
  • Updated README.md d40b16a
  • Update main.py e097f3a

16 December 2020

  • Implemented --ignore-signature, issue #286 e394d8e

13 December 2020

12 December 2020

  • Fix for QuickTime date/time, issue #282 d8593a0

12 December 2020

  • Added --save-config, --load-config #290
  • removed extended_attributes reference 6559c4d
  • This is why I never use branches baf45cc
  • Initial implementation of configoptions for --save-config, --load-config 22355fd
  • Refactoring of save-config/load-config code 37b1e5c
  • Added tests for configoptions.py 0262e0d

10 December 2020

  • Refactored FileUtil to use copy-on-write no APFS, issue #287 ec4b53e

6 December 2020

5 December 2020

  • Added --cleanup, issue #262 e5d6f21

5 December 2020

5 December 2020

  • Implement fix for issue #282, QuickTime metadata 4cce9d4
  • Implement fix for issue #282, QuickTime metadata cfb07cb
  • Updated README.md 1eff6ba

29 November 2020

  • Removed --use-photokit authorization check, issue 278 ed3a971

29 November 2020

  • Catch errors in export_photo d9dcf09
  • Added --missing to export, see issue #277 25eacc7

28 November 2020

  • Added --report option to CLI, implements #253 d22eaf3
  • Updated template values af827d7

27 November 2020

  • Added {exiftool} template, implements issue #259 48acb42

26 November 2020

  • Added --original-suffix for issue #263 399d432

26 November 2020

  • Initial implementation for issue #265 382fca3
  • More work on issue #265 d5a9f76
  • Simplified sidecar table in export_db 0632a97

25 November 2020

25 November 2020

  • Add XML escaping to XMP sidecar export, thanks to @jstrine for the fix! #272
  • Fix EXIF GPS format for XMP sidecar, thanks to @jstrine for the fix! #270
  • Continue even if the original filename is None, thanks to @jstrine for the fix! #268
  • Added test for missing original_filename 116cb66
  • Add @jstrine as a contributor 7460bc8
  • Escape characters which cause XML parsing issues c42050a
  • Fix tests for apostrophe d0d2e80
  • Fix test for XMP sidecar with GPS info c27cfb1

25 November 2020

  • Exposed --use-photos-export and --use-photokit e951e53

23 November 2020

  • Added photokit export as hidden --use-photokit option 26f96d5

18 November 2020

  • Removed debug statement in _photoinfo_export 8cb15d1

14 November 2020

  • Moved AppleScript to photoscript 3c85f26
  • Fixed missing data file for photoscript 2d9429c
  • Version bump, updated requirements 3b6dd08

12 November 2020

  • Fixed path for photos actually missing off disk 5d4d7d7
  • Fixed erroneous attempt to export edited with --download-missing 8dc59cb
  • version bump 802e2f0

11 November 2020

  • Avoid copying db files if not necessary ea9b41b

8 November 2020

8 November 2020

  • Refactored phototemplate.py to add PATH_SEP option 3636fcb
  • More work on phototemplate.py to add inline expansion a6231e2

7 November 2020

  • Implemented boolean type template fields 7fa3704
  • Bug fix in handling missing edited photos e829212
  • Fixed message in CLI df37a01

7 November 2020

7 November 2020

  • Refactored regex in phototemplate 653b7e6
  • Fix for exporting slow mo videos, issue #252 9d38885

4 November 2020

3 November 2020

  • Implemented context manager for ExifTool, closes #250 #250

2 November 2020

1 November 2020

  • Added --ignore-date-modified flag, issue #247 663e33b

31 October 2020

  • Updated --exiftool to set dates/times as Photos does, issue #247 11459d1
  • Partial fix for issue #247 on Mojave 6ac3111
  • Add @mwort as a contributor 9cff8e8

31 October 2020

  • Fixed handling of date_modified for Catalina, issue #247 0cce234

29 October 2020

  • Added --has-comment/--has-likes to CLI, issue #240 c5dba8c
  • Cleaned up as_dict/asdict, issue #144, #188 603dabb
  • Updated README.md d16932d

25 October 2020

  • Added verbose to PhotosDB(), partial fix for #110 d87b8f3
  • Added comments/likes, implements #214 23de6b5
  • Cleaned up constructor for PhotosDB 667c89e

24 October 2020

24 October 2020

  • Fixed shared, not_shared in cli 8551981

21 October 2020

  • Added get_shared_photo_comments.py to examples 15e0914
  • Fix for issue #237 a416de2
  • Added test for issue #235 ea68229

17 October 2020

  • refactored template code to fix #213 #213

15 October 2020

12 October 2020

11 October 2020

11 October 2020

  • Convert to jpeg #233
  • Updated tests, closes #231 #231
  • --convert-to-jpeg initial version working 38f201d
  • Added tests, fixed bug in export_db 5a13605
  • Updated tests b2b39aa
  • Fixed path_edited for Big Sur c389207
  • Added HEIC test image ddc1e69

6 October 2020

28 September 2020

  • Update exiftool.py to preserve file modification time, thanks to @hhoeck #223
  • Added tests for 10.15.6 432da7f
  • Fixed bug related to issue #222 c939df7
  • Version bump for bug fix 62d54cc
  • Update README.md 6883fec
  • Update exiftool.py 3d21dad

13 September 2020

  • Partial fix for issue #213 459d91d

13 September 2020

  • Fixed exception handling in export eb00ffd
  • Updated README.md a1776fa

7 September 2020

  • Added --skip-original-if-edited for issue #159 5f2d401
  • Still working on issue #208 58b3869

31 August 2020

  • Fixed sidecar collisions, closes #210 #210

31 August 2020

  • typo fix - thanks to @dmd #212
  • Normalize unicode for issue #208 a36eb41
  • Added force_download.py to examples b611d34
  • Added photoshop:SidecarForExtension to XMP, partial fix for #210 60d96a8
  • Updated README.md c9b1518
  • Update README.md 42e8fba

25 August 2020

  • Fixed DST handling for from_date/to_date, closes #193 (again) #193
  • Added raw timestamps to PhotoInfo._info 0f457a4

23 August 2020

  • Fixed portrait for Catalina/Big Sur; see issue #203 1f717b0

23 August 2020

  • Closes issue #206, adds --touch-file #207
  • Touch files - fixes #194 -- thanks to @PabloKohan #205
  • Refactor/cleanup _export_photo - thanks to @PabloKohan #204
  • Finished --touch-file, closes #206 #206
  • Merge pull request #205 from PabloKohan/touch_files__fix_194 #194
  • --touch-file now working with --update 6c11e3f
  • Refactor/cleanup _export_photo eefa1f1
  • Fixed touch tests 1bf7105
  • Working on issue 206 ebd878a
  • Working on issue #206 c9c9202

16 August 2020

  • Replaced call to which, closes #171 #171
  • Added contributors to README.md, closes #200 #200
  • Added tests for 10.15.6 d2deeff
  • Added ImportInfo for Photos 5+ 98e4170
  • Update README.md 360c8d8
  • Update README.md 868cda8

9 August 2020

  • Alpha support for MacOS Big Sur/10.16, see issue #187 6acf9ac

8 August 2020

  • Fixed from_date and to_date to be timezone aware, closes #193 #193
  • Added test for valid XMP file, closes #197 #197
  • Dropped py36 due to datetime.fromisoformat a714ae0
  • Added --uuid-from-file to CLI 840e993
  • Added write_uuid_to_file.applescript to utils bea770b
  • Updated README.md 002fce8
  • Added py37 d0ec862

27 July 2020

  • Initial FaceInfo support for Issue #21 6f29cda
  • Updated Github Actions to run on PR 9fc4f76

23 July 2020

  • Fix findfiles not to fail on missing/invalid dir #192
  • Revert "Fix FileExistsError when filename differs only in case and export-as-hardlink (Bug#133)" #191
  • Fix FileExistsError when filename differs only in case and export-as-hardlink (Bug#133) #190
  • Revert "Merge pull request #191 from RhetTbull/revert-190-Fix133" 27040d1
  • Fix FileExistsError when filename differs only in case and export-as-hardlink d52b387
  • Version bump for bug fix cf4dca1

18 July 2020

  • Implemented PersonInfo, closes #181 #181
  • Updated dependencies, now supports py36, py37, py38 6688d1f
  • Update README.md 3526881

6 July 2020

6 July 2020

  • Refactored person processing to enable implementation of #181 fcff8ec
  • AlbumInfo.photos now returns photos in album sort order 9d820a0

4 July 2020

  • Bug fix for keywords, persons in deleted photos df75a05

3 July 2020

  • Added height, width, orientation, filesize to json, str) 8c3af0a

3 July 2020

  • Added height, width, orientation, filesize, closes #163 #163

3 July 2020

  • Added GPS location to XMP sidecar, closes #175 #175
  • Updated README.md 7806e05

28 June 2020

  • Added --description-template to CLI, closes #166 #166
  • Added expand_inplace to PhotoTemplate.render ff03287
  • Updated README.md 5950707

28 June 2020

  • Added --deleted, --deleted-only to CLI, closes #179 #179

27 June 2020

  • Changed default to PhotosDB.photos(movies=True), closes #177 #177

27 June 2020

  • added intrash support for issue #179 185483e
  • Removed pdf filter on process_database_4 c1d1204

23 June 2020

  • Added test for issue #178 46c87ee
  • Additional fix for issue #178 fd4c990

23 June 2020

22 June 2020

  • Closes #174 #174
  • Added today to template system, closes #167 #167
  • Minor refactoring in photoinfo.py a8e996e

21 June 2020

21 June 2020

  • More PhotoInfo.albums refactoring, closes #169 #169

20 June 2020

  • Refactored album code in photosdb to fix issue #169 cfabd0d

20 June 2020

  • Fixed PhotoInfo.albums, album_info for issue #169 1212fad

18 June 2020

  • Don't raise KeyError when SystemLibraryPath is absent #168
  • Added check for export db in directory branch, closes #164 #164
  • Added OSXPhotosDB.get_db_connection() 43d28e7
  • Added show() to photos_repl.py e98c3fe
  • Fixed get_last_library_path and get_system_library_path to not raise KeyError 5a83218

14 June 2020

  • Added computed aesthetic scores, closes #141, closes #122 #141 #122

13 June 2020

  • Added --label to CLI, closes #157 #157

13 June 2020

  • Extende --ignore-case to --person, --keyword, --album, closes #162 #162
  • Updated README.md to document template system 0004250

13 June 2020

  • Added hour, min, sec, strftime templates, closes #158 #158
  • Added hour, min, sec to template system, issue #158 5387f8e

13 June 2020

  • Updated DatetimeFormatter to include hour/min/sec cf2615d
  • Added test for issue #156 4ba1982
  • Bug fix for issue #136 06fa1ed

7 June 2020

  • Added hidden debug-dump command to CLI 7cd7b51

7 June 2020

31 May 2020

  • Added --filename to CLI, closes #89 #89

30 May 2020

  • Added --edited-suffix to CLI, closes #145 #145
  • refactored render_template, closes #149 #149
  • Added test for Photos 5 on 10.15.5 2243395
  • Refactored template code out of PhotoInfo into PhotoTemplate 16f802b
  • Added test for SearchInfo on 10.15.5 3a8bef1
  • performance improvements for update and export_db 42b89d3
  • More refactoring in PhotoTemplate f35ea70

25 May 2020

  • added created.dow (day of week) to template #147
  • Added --dry-run option to CLI export, closes #91 #91
  • added created.dd and modified.dd to template system, closes #135 #135
  • Catch exception in folder processing to address #148 46fdc94
  • Added test for DateTimeFormatter.dow 09c7d18

23 May 2020

  • Added try/except for bad datettime values 1d095d7

23 May 2020

  • Catch illegal timestamp value #146

23 May 2020

  • Made --exiftool and --export-as-hardlink incompatible in CLI to fix #132 #132
  • Added --update to CLI export; reference issue #100 b1171e9
  • Added as_dict to PlaceInfo 8c4fe40
  • Updated README.md 11d368a
  • version bump c06c230
  • Test library update f416418

15 May 2020

  • Added label and label_normalized to template system, closes #130 #130
  • Revert "test library updates" 48e9c32
  • test library updates d125854
  • version bump bd9d5a2
  • Update README.md 85760dc
  • Update README.md be07f90

14 May 2020

  • Implemented PhotoInfo.exiftool a80dee4

13 May 2020

  • Added ExifInfo (Photos 5 only) 53304d7
  • Added as_dict to ExifTool d1af14d

10 May 2020

  • fixed some minor findings... #127
  • added --export-as-hardlink option #126
  • Added test for folder_names on 10.15.4, closes #119 #119
  • Refactored photosdb and photoinfo to add SearchInfo and labels 98b3f63
  • Added additional test for --export-as-hardlink 57315d4
  • Updated a couple of tests to use pytest-mock 397db0d
  • added test for export using hardlinks, fixed a test that failed if users locale settings were different to en_US b0ec6c6
  • Added link to original work by @simonw ca8f2b8

1 May 2020

28 April 2020

  • Bug fix for albums in Photos <= 4 to address issue #116 a57da23
  • version bump for pypi 3fe03cd

28 April 2020

  • Fixed implementation of use_albums_as_keywords and use_persons_as_keywords, closes #115 #115
  • Update README.md 5cc98c3
  • Updated README.md a800711
  • Update README.md 1c9d4f2

27 April 2020

  • Added --album-keyword and --person-keyword to CLI, closes #61 #61
  • Updated test libraries 54d5d4b
  • Updated tests/README.md 56a0006

26 April 2020

  • Fixed locale bug in templates, closes #113 #113
  • Updated test to avoid issue with GitHub workflow 9be0f84
  • Update pythonpackage.yml to remove older pythons ccb5f25

20 April 2020

  • added len to PhotosDB, closes #44 #44
  • Updated use of _PHOTOS_4_VERSION, closes #106 #106
  • Updated tests and test library with RAW images 9b9b54e
  • Updated setup.py to resolve issue with bpylist2 on python < 3.8 8e4b88a
  • Added cli.py for use with pyinstaller cf28cb6
  • added raw_is_original handling a337e79
  • Updated setup.py and README with install instructions 85d2baa

18 April 2020

  • Added folder support for Photos <= 4, closes #93 #93
  • cleaned up SQL statements in _process_database4 6f28171
  • Fixed suffix check on export to be case insensitive 4b30b3b
  • test library update 3bac106

17 April 2020

  • Initial work on suppport for associated RAW images 7e42ebb
  • Initial support for RAW photos in Photos 4 to address issue #101 9d15147
  • replaced CLI option --original-name with --current-name 36c2821

12 April 2020

  • Added {folder_album} to template and --folder to CLI b7c7b9f
  • Test library update 21e7020

12 April 2020

  • Added additional tests for album_info 97362fc
  • Fixed bug with handling of deleted albums 9fef12e

12 April 2020

  • Changed AlbumInfo and FolderInfo interface to maintain backwards compatibility with PhotosDB.albums e09f0b4

11 April 2020

  • Update README.md #95
  • Added tests and README for AlbumInfo and FolderInfo d6a22b7
  • Added albuminfo.py for AlbumInfo and FolderInfo classes 9636572
  • Update README.md TOC 8544667

10 April 2020

  • Bug fix for PhotosDB.photos() query 1c9da5e
  • Updated test library d74f7f4

10 April 2020

  • Added test for 10.15.4 1820715
  • Changed PhotosDB albums interface as prep for adding folders 3e50626
  • Update README.md 626e460

5 April 2020

  • Added --no-extended-attributes option to CLI, closes #85 #85
  • Fixed CLI help for invalid topic, closes #76 #76
  • Updated test library bae0283

4 April 2020

  • Added places, --place, --no-place to CLI, closes #87, #88 #87
  • Updated render_filepath_template to support multiple values 6a89888
  • Added {album}, {keyword}, and {person} to template system 507c4a3
  • Added places command to CLI fd5e748
  • Updated export example 01cd7fe
  • Fixed typo in help text c02953e

28 March 2020

  • added {place.country_code} to template system be2e167

28 March 2020

  • Added detailed place data in PlaceInfo.names c06dd42
  • Template system now supports default values 67a9a9e
  • Replaced template renderer with regex-based renderer 427c4c0

22 March 2020

  • Added export_by_album.py to examples 908fead
  • Updated pathvalidate calls d066435
  • Updated example 8f0307f

22 March 2020

  • Initial version of templating system for CLI 2feb099
  • Added str to place ad58b03
  • Test library updates e90d9c6

21 March 2020

  • Fixed requirements.txt for bplist2 cda5f44
  • Updated requirements.txt 9da7ad6
  • still trying to debug github actions fail 960487f

21 March 2020

  • Added PhotoInfo.place for reverse geolocation data b338b34
  • Update pythonpackage.yml 92e5bdd
  • Removed flake8 a723881

15 March 2020

14 March 2020

  • Working on export edited bug for issue #78 8542e1a
  • Fixed download-missing to only download when actually missing dd20b8d
  • test library updates e99391a

14 March 2020

14 March 2020

  • removed activate from --download-missing-photos Applescript, closes #69 #69
  • Added media type specials to json and string output, closes #68 #68
  • Added query/export options for special media types 2b7d84a
  • README.md update a27ce33
  • Test library updates 2d7d0b8
  • Fixed bug in --download-missing related to burst images 1f13ba8
  • test library update acb6b9e

8 March 2020

  • Added media type specials, closes #60 #60
  • Updated README.md 1f8fd6e

7 March 2020

8 February 2020

  • Fixed bug in --download-missing to fix issue #64 c654e3d
  • removed commented out code 69addc3
  • Cleaned up comments and unneeded test code e3c40bc

1 February 2020

  • Updated PhotosDB to only copy database if locked, speed improvement for cases where DB not locked; closes #34 #34
  • Changed temp file handling to use tempfile.TemporaryDirectory, closes #59 #59
  • Slight refactor to PhotosDB.photos() 91d5729
  • Test library updates 6e563e2
  • Removed _tmp_file code that's no longer needed 27994c9
  • Updated photos_repl.py fdf636a
  • Added PhotosDB() behavior to open last library if no args passed but also added cautionary note to README 46d3c7d

26 January 2020

  • Corrected Panorama Flag #58
  • Jan 20 Updates #1
  • Added XMP sidecar option to export, closes #51 #51
  • Test library updates, closes #52 #52
  • Added XMP sidecar to export 4dfb131
  • Added date_modified to PhotoInfo 67b0ae0
  • Added date_modified to PhotoInfo 4d36b3b
  • Updated CLI options with more descriptive metavar names e79cb92
  • CLI now looks for photos library to use if non specified by user 50b7e69

20 January 2020

  • Add --from-date and --to-date to query and export command #57
  • Refactor CLI #55
  • Refactor cli: singular --db, --json and query options. e214746
  • Implement from_date and to_date in PhotosDB as well as query and export command. Some refactoring of CLI as well. cfa2b4a
  • Refactored _query. Still hairy, but less so. b9dee49
  • Updated README.md 0aff83f
  • Started adding tests for CLI f0b18c3

17 January 2020

  • Refactored PhotosDB and CLI to require explicity passing the database to avoid non-deterministic behavior when last database can't be found. This may break existing code. ede56ff
  • Changed get_system_library_path to return None if could not get system library 646ea4f
  • Fix to setup to specify versions of required packages de05323

12 January 2020

  • Fixed search for edited photo in path_edited edb31f7
  • Added tests for live photos 5473f3b
  • Added incloud and iscloudasset for Photos 4 e089d13

4 January 2020

  • Added live photo support for both Photos 4 & 5 d5eaff0
  • Added support for burst photos; added export-bursts to CLI 593983a
  • Added live-photo option to CLI query and export 6f6d37c

31 December 2019

  • Added support for filtering only movies or photos to CLI; added search for UTI to CLI 9cd5363
  • Added support for bust photos; added export-bursts to CLI 1136f84
  • Temporary fix to filter out unselected burst photos a550ba0

29 December 2019

  • Added support for movies for Photos 5; fixed bugs in ismissing and path 6f4d129
  • Added support for movies for Photos 5; fixed bugs in ismissing and path b030966
  • Initial support for movies dbe363e

26 December 2019

  • Restructured entire code base to make it easier to maintain. Closes #16 #16
  • Added TOC to README; closes #24 #24
  • removed old applescript code and files 1839593
  • Added test cases and documentation for shared photos and shared albums 6d20e9e
  • Refactored PhotoInfo to use properties instead of methods--major update 1ddd90c
  • Moved PhotosDB attributes to properties instead of methods d95acdf
  • changed interface for export, prepped for exiftool_json_sidecar 1fe8859

14 December 2019

14 December 2019

  • Added PhotoInfo.export(); closes #10 #10
  • refactored private vars in PhotoInfo d5a5bd4
  • Updated export example bf8aed6

8 December 2019

  • Added list option to cmd_line. Closes #14 #14
  • added edited and external_edit to cmd_line and str, to_json; closes #12 #12
  • Cleaned up logic in cmd_line query(). Closes #17 #17
  • Added get_db_path and get_library_path to PhotosDB 1d006a4
  • Updated PhotosDB.init() to accept positional or named arg for dbfile and added associated tests 9118043
  • Updated album code in process_database4 and process_database5 to use album uuid 1cf3e4b
  • Updated get_db_version and associated tests eb563ad
  • Added external_edit for Photos 5 42baa29

30 November 2019

  • Added path_edited() for Photos 5, still needs to be added for Photos <= 4.0 68eef42
  • Fixed path_edited() for Photos 4.0 37dfc1e
  • cleaned up commented out code 3dc0943

28 November 2019

  • Added tests for hidden and favorite to both 14.6 and 15.1 51e720d
  • Added location (latitude/longitude), closes issue #2 44321da
  • cleaned up test code b2242da

24 November 2019

  • Added name and description to cmd_line 5af2b3e
  • removed loguru code aa73c2f
  • Added hidden/favorite/missing to cmd_line b36b7e7

23 November 2019

  • added test for 10.15/Catalina 243492d
  • moved process_photos to process_photos4 and process_photos5 7eff015
  • basic Photos 5 info now being read a4b5f2a

24 August 2019

24 August 2019

  • Added tests for 10.14.6 fb2c12d
  • Added support and tests for 10.12 58f5283
  • Added osxphotos command line tool 0e65ab5

27 July 2019

  • Added test for 10.14 mojave af122e9
  • update requirements.txt 81be373
  • Updated README, added os & db version tests, updated test library for 10.13 a58ac14

v0.10.1-alpha

26 July 2019