GExiv2.Metadata¶
Subclasses: | None |
---|
Methods¶
Inherited: | GObject.Object (37) |
---|---|
Structs: | GObject.ObjectClass (5) |
Virtual Methods¶
Inherited: | GObject.Object (7) |
---|
Properties¶
None
Signals¶
Inherited: | GObject.Object (1) |
---|
Class Details¶
-
class
GExiv2.
Metadata
(**kwargs)¶ Bases: GObject.Object
Abstract: No Structure: GExiv2.MetadataClass
An object holding all the Exiv2 metadata. Previews, if present, are also available.
As gexiv2 is only a wrapper around Exiv2, it’s better to read its documentation to understand the full scope of what it offers: ` <http://www.exiv2.org/>`__
In particular, rather than providing a getter/setter method pair for every metadata value available for images (of which there are thousands), Exiv2 uses a dotted addressing scheme. For example, to access a photo’s EXIF Orientation field, the caller passes to Exiv2 “Exif.Photo.Orientation”. These tags (in Exiv2 parlance) are key to using Exiv2 (and therefore gexiv2) to its fullest.
A full reference for all supported Exiv2 tags can be found at
` <http://www.exiv2.org/metadata.html>`__
-
classmethod
get_tag_description
(tag)[source]¶ Parameters: tag ( str
) – An Exiv2 tagReturns: The tag’s description Return type: str
orNone
The Exiv2 Tag Reference can be found at ` <http://exiv2.org/metadata.html>`__
-
classmethod
get_tag_label
(tag)[source]¶ Parameters: tag ( str
) – An Exiv2 tagReturns: The tag’s label Return type: str
orNone
The Exiv2 Tag Reference can be found at ` <http://exiv2.org/metadata.html>`__
-
classmethod
get_tag_type
(tag)[source]¶ Parameters: tag ( str
) – An Exiv2 tagReturns: The tag’s type name. Return type: str
orNone
The names of the various Exiv2 tag types can be found at Exiv2::TypeId,
` <http://exiv2.org/doc/namespaceExiv2.html#5153319711f35fe81cbc13f4b852450c>`__ The Exiv2 Tag Reference can be found at ` <http://exiv2.org/metadata.html>`__
-
classmethod
is_exif_tag
(tag)[source]¶ Parameters: tag ( str
) – An Exiv2 tagReturns: True
if the Exiv2 tag is for the EXIF domain.Return type: bool
The Exiv2 Tag Reference can be found at ` <http://exiv2.org/metadata.html>`__
-
classmethod
is_iptc_tag
(tag)[source]¶ Parameters: tag ( str
) – An Exiv2 tagReturns: True
if the Exiv2 tag is for the IPTC domain.Return type: bool
The Exiv2 Tag Reference can be found at ` <http://exiv2.org/metadata.html>`__
-
classmethod
is_xmp_tag
(tag)[source]¶ Parameters: tag ( str
) – An Exiv2 tagReturns: True
if the Exiv2 tag is for the XMP domain.Return type: bool
The Exiv2 Tag Reference can be found at ` <http://exiv2.org/metadata.html>`__
-
classmethod
new
()[source]¶ Returns: A fully constructed GExiv2.Metadata
ready to be usedReturn type: GExiv2.Metadata
-
classmethod
register_xmp_namespace
(name, prefix)[source]¶ Parameters: Returns: Boolean success value
Return type:
-
classmethod
unregister_xmp_namespace
(name)[source]¶ Parameters: name ( str
) – XMP URI name (should end in /)Returns: Boolean success value Return type: bool
-
clear_comment
()[source]¶ This is a composite clear method that will clear a number of fields. See
GExiv2.Metadata.get_comment
for more information.
-
clear_tag
(tag)[source]¶ Parameters: tag ( str
) – Exiv2 tagReturns: True
if the tag was present.Return type: bool
Removes the Exiv2 tag from the metadata object.
The Exiv2 Tag Reference can be found at ` <http://exiv2.org/metadata.html>`__
-
free
()[source]¶ Destroys the
GExiv2.Metadata
object and frees all associated memory.Deprecated since version 0.10.3: Use
GObject.Object.unref
() instead.
-
from_app1_segment
(data)[source]¶ Parameters: data ( bytes
) – A buffer containing the data to be readRaises: GLib.Error
Returns: Boolean success indicator. Return type: bool
Load only an EXIF buffer, typically stored in a JPEG’s APP1 segment.
-
from_stream
(stream)[source]¶ Parameters: stream ( Gio.InputStream
) – AGio.InputStream
to get meta-data fromRaises: GLib.Error
Returns: Boolean success indicator Return type: bool
Read meta-data from a GIO stream
-
generate_xmp_packet
(xmp_format_flags, padding)[source]¶ Parameters: - xmp_format_flags (
GExiv2.XmpFormatFlags
) – One ofGExiv2.XmpFormatFlags
- padding (
int
) – The padding (FIXME: Add documentation)
Returns: Encode the XMP packet and return as a
None
-terminated string.Return type: Encode the XMP packet as a
None
-terminated string.- xmp_format_flags (
-
get_comment
()[source]¶ Returns: The photo’s comment field. Return type: str
orNone
A composite accessor that uses the first available metadata field from a list of well-known locations to find the photo’s comment (or description).
MWG guidelines refer to these as Description: a textual description of a resource’s content.
These fields are:
- Exif.Image.ImageDescription (MWG Guidelines)
- Exif.Photo.UserComment
- Exif.Image.XPComment
- Iptc.Application2.Caption (MWG Guidelines)
- Xmp.dc.description (MWG Guidelines)
- Xmp.acdsee.notes (Commonly requested, read only)
Note that in the EXIF specification Exif.Image.ImageDescription is described as “the title of the image”. Also, it does not support two-byte character codes for encoding. However, it’s still used here for legacy reasons.
For fine-grained control, it’s recommended to use Exiv2 tags directly rather than this method, which is more useful for quick or casual use.
-
get_exif_tag_rational
(tag)[source]¶ Parameters: tag ( str
) – The tag you want the rational value forReturns: Boolean success value nom: The numerator den: The denominator Return type: ( bool
, nom:int
, den:int
)Fetch EXIF tag represented by a fraction. nom will contain the numerator, den the denominator of the fraction on successful return.
Returns: A list of the available EXIF tags in the loaded image Return type: [ str
]Query self for a list of available EXIF tags
-
get_exif_thumbnail
()[source]¶ Returns: Boolean success value buffer: Where to store the thumbnail data Return type: ( bool
, buffer:bytes
)Get the thumbnail stored in the EXIF data of self
-
get_exposure_time
()[source]¶ Returns: Boolean success value nom: The numerator den: The denominator Return type: ( bool
, nom:int
, den:int
)Returns the exposure time in seconds (shutter speed, not date-time of exposure) as a rational. See ` <https://en.wikipedia.org/wiki/Shutter_speed>`__ for more information.
-
get_fnumber
()[source]¶ Returns: The exposure Fnumber as a float
, or -1.0 if tag is not present or invalid.Return type: float
See ` <https://en.wikipedia.org/wiki/F-number>`__ for more information. If Exif.Photo.FNumber does not exist, it will fall back to calculating the FNumber from Exif.Photo.ApertureValue (if available);
-
get_focal_length
()[source]¶ Returns: The focal length as a float
, or -1.0 if tag is not present or invalid.Return type: float
See ` <https://en.wikipedia.org/wiki/Flange_focal_distance>`__ for more information.
-
get_gps_altitude
()[source]¶ Returns: Boolean success value altitude: Variable to store the altitude value Return type: ( bool
, altitude:float
)Convenience function to query the altitude stored in the GPS tags of the image
-
get_gps_info
()[source]¶ Returns: Boolean success value. longitude: Storage for longitude value latitude: Storage for latitude value altitude: Storage for altitude value Return type: ( bool
, longitude:float
, latitude:float
, altitude:float
)Convenience function to query all available GPS information at once.
-
get_gps_latitude
()[source]¶ Returns: Boolean success value latitude: Variable to store the latitude value Return type: ( bool
, latitude:float
)Query the latitude stored in the GPS tags of self
-
get_gps_longitude
()[source]¶ Returns: Boolean success value longitude: Variable to store the longitude value Return type: ( bool
, longitude:float
)Query the longitude stored in the GPS tags of self
Returns: A list of the available IPTC tags Return type: [ str
]Query self for a list of available IPTC tags
-
get_iso_speed
()[source]¶ Returns: The ISO speed rating as a int
, or 0 if tag is not present or invalid.Return type: int
See ` <https://en.wikipedia.org/wiki/Iso_speed>`__ for more information.
-
get_metadata_pixel_height
()[source]¶ Returns: Height of images in pixels as stored in the metadata Return type: int
Composite accessor to query the pixel with stored in the metadata. This might differ from the height of image that is available through
GExiv2.Metadata.get_pixel_height
()
-
get_metadata_pixel_width
()[source]¶ Returns: Width of images in pixels as stored in the metadata Return type: int
Composite accessor to query the pixel with stored in the metadata. This might differ from the width of image that is available through
GExiv2.Metadata.get_pixel_width
()
-
get_mime_type
()[source]¶ Returns: The MIME type of the loaded image, None
if not loaded or unknown.Return type: str
Query mime type of currently loaded image.
-
get_orientation
()[source]¶ Returns: A GExiv2.Orientation
value representing the EXIF orientation value.Return type: GExiv2.Orientation
The EXIF Orientation field
-
get_pixel_height
()[source]¶ Returns: Pixel height of current image Return type: int
Get the actual unoriented display height in pixels of the loaded image. This may be different than the height reported by various metadata tags, i.e. “Exif.Photo.PixelYDimension”.
-
get_pixel_width
()[source]¶ Returns: Pixel width of current image Return type: int
Get the actual unoriented display width in pixels of the loaded image. May be different than the width reported by various metadata tags, i.e. “Exif.Photo.PixelXDimension”.
-
get_preview_image
(props)[source]¶ Parameters: props ( GExiv2.PreviewProperties
) – AGExiv2.PreviewProperties
instanceReturns: A GExiv2.PreviewImage
instance for the particularGExiv2.PreviewProperties
.Return type: GExiv2.PreviewImage
-
get_preview_properties
()[source]¶ Returns: An array of GExiv2.PreviewProperties
instances, one for each preview present in the loaded image.Return type: [ GExiv2.PreviewProperties
] orNone
An image may have stored one or more previews, often of different qualities, sometimes of different image formats than the containing image. This call returns the properties of all previews Exiv2 finds within the loaded image. Use
GExiv2.Metadata.get_preview_image
to load a particular preview into memory.
-
get_supports_exif
()[source]¶ Returns: True
if the loaded image type supports writing EXIF metadata.Return type: bool
Query self whether it supports writing EXIF metadata.
-
get_supports_iptc
()[source]¶ Returns: True
if the loaded image type supports writing IPTC metadata.Return type: bool
Query self whether it supports writing IPTC metadata.
-
get_supports_xmp
()[source]¶ Returns: True
if the loaded image type supports writing XMP metadata.Return type: bool
Query self whether it supports writing XMP metadata.
-
get_tag_interpreted_string
(tag)[source]¶ Parameters: tag ( str
) – Exiv2 tag nameReturns: The tag’s interpreted value as a string Return type: str
orNone
An interpreted string is one fit for user display. It may display units or use formatting appropriate to the type of data the tag holds.
The Exiv2 Tag Reference can be found at ` <http://exiv2.org/metadata.html>`__
-
get_tag_long
(tag)[source]¶ Parameters: tag ( str
) – Exiv2 tag nameReturns: The tag’s value as a int
Return type: int
The Exiv2 Tag Reference can be found at ` <http://exiv2.org/metadata.html>`__
-
get_tag_multiple
(tag)[source]¶ Parameters: tag ( str
) – Exiv2 tag nameReturns: The multiple string values of the tag Return type: [ str
] orNone
The Exiv2 Tag Reference can be found at ` <http://exiv2.org/metadata.html>`__
-
get_tag_raw
(tag)[source]¶ Parameters: tag ( str
) – Exiv2 tag nameReturns: The tag’s raw value as a byte array Return type: GLib.Bytes
orNone
The Exiv2 Tag Reference can be found at ` <http://exiv2.org/metadata.html>`__
-
get_tag_string
(tag)[source]¶ Parameters: tag ( str
) – Exiv2 tag nameReturns: The tag’s value as a string Return type: str
orNone
The Exiv2 Tag Reference can be found at ` <http://exiv2.org/metadata.html>`__
-
get_xmp_packet
()[source]¶ Returns: The currently-encoded XMP packet (see GExiv2.Metadata.generate_xmp_packet
).Return type: str
orNone
Returns: A list of the available XMP tags Return type: [ str
]
-
has_tag
(tag)[source]¶ Parameters: tag ( str
) – Exiv2 tagReturns: True
if the tag is present.Return type: bool
The Exiv2 Tag Reference can be found at ` <http://exiv2.org/metadata.html>`__
-
open_buf
(data)[source]¶ Parameters: data ( bytes
) – A buffer containing the data to be readRaises: GLib.Error
Returns: Boolean success indicator Return type: bool
The buffer must be an image format supported by Exiv2.
-
open_path
(path)[source]¶ Parameters: path ( str
) – Path to the file you want to openRaises: GLib.Error
Returns: Boolean success indicator Return type: bool
The file must be an image format supported by Exiv2.
-
save_external
(path)[source]¶ Parameters: path ( str
) – Path to the file you want to save to.Raises: GLib.Error
Returns: Boolean success indicator. Return type: bool
Saves the metadata to the specified using an XMP sidecar file.
New in version 0.10.6.
-
save_file
(path)[source]¶ Parameters: path ( str
) – Path to the file you want to save to.Raises: GLib.Error
Returns: Boolean success indicator. Return type: bool
Saves the metadata to the specified file by reading the file into memory,copying this object’s metadata into the image, then writing the image back out.
-
set_comment
(comment)[source]¶ Parameters: comment ( str
) – Comment string to set. Must not beNone
This is a composite setter that will set a number of fields to the supplied value. See
GExiv2.Metadata.get_comment
for more information.
-
set_exif_tag_rational
(tag, nom, den)[source]¶ Parameters: Returns: Boolean success value
Return type: Set EXIF tag represented by a fraction, with nom being the numerator, den the denominator of the fraction.
-
set_exif_thumbnail_from_buffer
(buffer)[source]¶ Parameters: buffer ( bytes
) – A buffer containing thumbnail data
-
set_exif_thumbnail_from_file
(path)[source]¶ Parameters: path ( str
) – Path of image fileRaises: GLib.Error
Returns: Boolean success value Return type: bool
Sets or replaces the EXIF thumbnail with the image in the file
-
set_gps_info
(longitude, latitude, altitude)[source]¶ Parameters: Returns: Boolean success value.
Return type: Convenience function to create a new set of simple GPS data. Warning: Will remove any other GPS information that is currently set. See
GExiv2.Metadata.update_gps_info
() for just modifying the GPS data.
-
set_metadata_pixel_height
(height)[source]¶ Parameters: height ( int
) – The width of the image as it should be put into the metadata.Update the image’s metadata with height
-
set_metadata_pixel_width
(width)[source]¶ Parameters: width ( int
) – The width of the image as it should be put into the metadata.Composite setter to update the image’s metadata with width
-
set_orientation
(orientation)[source]¶ Parameters: orientation ( GExiv2.Orientation
) – The newGExiv2.Orientation
for the image.The orientation must be valid and cannot be
GExiv2.Orientation.UNSPECIFIED
.
-
set_tag_long
(tag, value)[source]¶ Parameters: Returns: True
on successReturn type: The Exiv2 Tag Reference can be found at ` <http://exiv2.org/metadata.html>`__
-
set_tag_multiple
(tag, values)[source]¶ Parameters: Returns: Boolean success value
Return type: The Exiv2 Tag Reference can be found at ` <http://exiv2.org/metadata.html>`__
-
set_tag_string
(tag, value)[source]¶ Parameters: Returns: True
on successReturn type: The Exiv2 Tag Reference can be found at ` <http://exiv2.org/metadata.html>`__
-
set_xmp_tag_struct
(tag, type)[source]¶ Parameters: - tag (
str
) – - type (
GExiv2.StructureType
) –
Return type: - tag (
-
classmethod