Added sidecar option to PhotoInfo.export()
This commit is contained in:
61
README.md
61
README.md
@@ -3,6 +3,58 @@
|
|||||||
[](https://github.com/python/black)
|
[](https://github.com/python/black)
|
||||||
[](https://opensource.org/licenses/MIT)
|
[](https://opensource.org/licenses/MIT)
|
||||||
|
|
||||||
|
- [OSXPhotos](#osxphotos)
|
||||||
|
* [What is osxphotos?](#what-is-osxphotos)
|
||||||
|
* [Supported operating systems](#supported-operating-systems)
|
||||||
|
* [Installation instructions](#installation-instructions)
|
||||||
|
* [Command Line Usage](#command-line-usage)
|
||||||
|
* [Example uses of the module](#example-uses-of-the-module)
|
||||||
|
* [Module Interface](#module-interface)
|
||||||
|
+ [PhotosDB](#photosdb)
|
||||||
|
- [Open the default Photos library](#open-the-default-photos-library)
|
||||||
|
- [Open System Photos library](#open-system-photos-library)
|
||||||
|
- [Open a specific Photos library](#open-a-specific-photos-library)
|
||||||
|
- [```keywords```](#keywords)
|
||||||
|
- [```albums```](#albums)
|
||||||
|
- [```persons```](#persons)
|
||||||
|
- [```keywords_as_dict```](#keywords_as_dict)
|
||||||
|
- [```persons_as_dict```](#persons_as_dict)
|
||||||
|
- [```albums_as_dict```](#albums_as_dict)
|
||||||
|
- [```library_path```](#library_path)
|
||||||
|
- [```db_path```](#db_path)
|
||||||
|
- [```db_version```](#db_version)
|
||||||
|
- [`photos(keywords=[], uuid=[], persons=[], albums=[])`](#photoskeywords-uuid-persons-albums)
|
||||||
|
+ [PhotoInfo](#photoinfo)
|
||||||
|
- [`uuid`](#uuid)
|
||||||
|
- [`filename`](#filename)
|
||||||
|
- [`original_filename`](#original_filename)
|
||||||
|
- [`date`](#date)
|
||||||
|
- [`description`](#description)
|
||||||
|
- [`title`](#title)
|
||||||
|
- [`keywords`](#keywords)
|
||||||
|
- [`albums`](#albums)
|
||||||
|
- [`persons`](#persons)
|
||||||
|
- [`path`](#path)
|
||||||
|
- [`path_edited`](#path_edited)
|
||||||
|
- [`ismissing`](#ismissing)
|
||||||
|
- [`hasadjustments`](#hasadjustments)
|
||||||
|
- [`external_edit`](#external_edit)
|
||||||
|
- [`favorite`](#favorite)
|
||||||
|
- [`hidden`](#hidden)
|
||||||
|
- [`location`](#location)
|
||||||
|
- [`json()`](#json)
|
||||||
|
- [`export(dest, *filename, edited=False, overwrite=False, increment=True, sidecar=False)`](#exportdest-filename-editedfalse-overwritefalse-incrementtrue-sidecarfalse)
|
||||||
|
+ [Utility Functions](#utility-functions)
|
||||||
|
- [```get_system_library_path()```](#get_system_library_path)
|
||||||
|
- [```get_last_library_path()```](#get_last_library_path)
|
||||||
|
- [```list_photo_libraries()```](#list_photo_libraries)
|
||||||
|
- [```dd_to_dms_str(lat, lon)```](#dd_to_dms_strlat-lon)
|
||||||
|
+ [Examples](#examples)
|
||||||
|
* [Related Projects](#related-projects)
|
||||||
|
* [Contributing](#contributing)
|
||||||
|
* [Implementation Notes](#implementation-notes)
|
||||||
|
* [Dependencies](#dependencies)
|
||||||
|
* [Acknowledgements](#acknowledgements)
|
||||||
|
|
||||||
## What is osxphotos?
|
## What is osxphotos?
|
||||||
|
|
||||||
@@ -14,7 +66,6 @@ OSXPhotos provides the ability to interact with and query Apple's Photos.app lib
|
|||||||
|
|
||||||
Only works on MacOS (aka Mac OS X). Tested on MacOS 10.12.6 / Photos 2.0, 10.13.6 / Photos 3.0, MacOS 10.14.5, 10.14.6 / Photos 4.0, MacOS 10.15.1 / Photos 5.0. Requires python >= 3.6
|
Only works on MacOS (aka Mac OS X). Tested on MacOS 10.12.6 / Photos 2.0, 10.13.6 / Photos 3.0, MacOS 10.14.5, 10.14.6 / Photos 4.0, MacOS 10.15.1 / Photos 5.0. Requires python >= 3.6
|
||||||
|
|
||||||
|
|
||||||
This module will read Photos databases for any supported version on any supported OS version. E.g. you can read a database created with Photos 4.0 on MacOS 10.14 on a machine running MacOS 10.12
|
This module will read Photos databases for any supported version on any supported OS version. E.g. you can read a database created with Photos 4.0 on MacOS 10.14 on a machine running MacOS 10.12
|
||||||
|
|
||||||
|
|
||||||
@@ -427,13 +478,15 @@ Returns latitude and longitude as a tuple of floats (latitude, longitude). If l
|
|||||||
#### `json()`
|
#### `json()`
|
||||||
Returns a JSON representation of all photo info
|
Returns a JSON representation of all photo info
|
||||||
|
|
||||||
#### `export(dest, *filename, edited=False, overwrite=False, increment=True)`
|
#### `export(dest, *filename, edited=False, overwrite=False, increment=True, sidecar=False)`
|
||||||
|
|
||||||
Export photo from the Photos library to another destination on disk.
|
Export photo from the Photos library to another destination on disk.
|
||||||
- First argument dest must be valid destination path (or exception raised).
|
- dest: must be valid destination path as str (or exception raised).
|
||||||
- Second argument *filename (optional): name of picture; if not provided, will use current filename
|
- *filename (optional): name of picture as str; if not provided, will use current filename
|
||||||
- edited: boolean; if True (default=False), will export the edited version of the photo (or raise exception if no edited version)
|
- edited: boolean; if True (default=False), will export the edited version of the photo (or raise exception if no edited version)
|
||||||
- overwrite: boolean; if True (default=False), will overwrite files if they alreay exist
|
- overwrite: boolean; if True (default=False), will overwrite files if they alreay exist
|
||||||
- increment: boolean; if True (default=True), will increment file name until a non-existant name is found
|
- increment: boolean; if True (default=True), will increment file name until a non-existant name is found
|
||||||
|
- sidecar: boolean; if True (default=False) will also write a json sidecar file with EXIF data in format readable by [exiftool](https://exiftool.org/); filename will be dest/filename.ext.json where ext is suffix of the image file (e.g. jpeg or jpg)
|
||||||
|
|
||||||
If overwrite=False and increment=False, export will fail if destination file already exists
|
If overwrite=False and increment=False, export will fail if destination file already exists
|
||||||
|
|
||||||
|
|||||||
@@ -469,4 +469,3 @@ def test_exiftool_json_sidecar():
|
|||||||
else:
|
else:
|
||||||
assert item[0][1] == item[1][1]
|
assert item[0][1] == item[1][1]
|
||||||
|
|
||||||
# assert sorted(json_got[0].items()) == sorted(json_expected[0].items())
|
|
||||||
|
|||||||
Reference in New Issue
Block a user