195 lines
14 KiB
HTML
195 lines
14 KiB
HTML
|
|
<!DOCTYPE html>
|
|
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>osxphotos.photoinfo._photoinfo_exifinfo — osxphotos 0.40.4 documentation</title>
|
|
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
|
|
<link rel="stylesheet" href="../../../_static/alabaster.css" type="text/css" />
|
|
<script id="documentation_options" data-url_root="../../../" src="../../../_static/documentation_options.js"></script>
|
|
<script src="../../../_static/jquery.js"></script>
|
|
<script src="../../../_static/underscore.js"></script>
|
|
<script src="../../../_static/doctools.js"></script>
|
|
<link rel="index" title="Index" href="../../../genindex.html" />
|
|
<link rel="search" title="Search" href="../../../search.html" />
|
|
|
|
<link rel="stylesheet" href="../../../_static/custom.css" type="text/css" />
|
|
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
|
|
|
|
</head><body>
|
|
|
|
|
|
<div class="document">
|
|
<div class="documentwrapper">
|
|
<div class="bodywrapper">
|
|
|
|
|
|
<div class="body" role="main">
|
|
|
|
<h1>Source code for osxphotos.photoinfo._photoinfo_exifinfo</h1><div class="highlight"><pre>
|
|
<span></span><span class="sd">""" PhotoInfo methods to expose EXIF info from the library """</span>
|
|
|
|
<span class="kn">import</span> <span class="nn">logging</span>
|
|
<span class="kn">from</span> <span class="nn">dataclasses</span> <span class="kn">import</span> <span class="n">dataclass</span>
|
|
|
|
<span class="kn">from</span> <span class="nn">.._constants</span> <span class="kn">import</span> <span class="n">_PHOTOS_4_VERSION</span>
|
|
|
|
|
|
<span class="nd">@dataclass</span><span class="p">(</span><span class="n">frozen</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
|
<span class="k">class</span> <span class="nc">ExifInfo</span><span class="p">:</span>
|
|
<span class="sd">""" EXIF info associated with a photo from the Photos library """</span>
|
|
|
|
<span class="n">flash_fired</span><span class="p">:</span> <span class="nb">bool</span>
|
|
<span class="n">iso</span><span class="p">:</span> <span class="nb">int</span>
|
|
<span class="n">metering_mode</span><span class="p">:</span> <span class="nb">int</span>
|
|
<span class="n">sample_rate</span><span class="p">:</span> <span class="nb">int</span>
|
|
<span class="n">track_format</span><span class="p">:</span> <span class="nb">int</span>
|
|
<span class="n">white_balance</span><span class="p">:</span> <span class="nb">int</span>
|
|
<span class="n">aperture</span><span class="p">:</span> <span class="nb">float</span>
|
|
<span class="n">bit_rate</span><span class="p">:</span> <span class="nb">float</span>
|
|
<span class="n">duration</span><span class="p">:</span> <span class="nb">float</span>
|
|
<span class="n">exposure_bias</span><span class="p">:</span> <span class="nb">float</span>
|
|
<span class="n">focal_length</span><span class="p">:</span> <span class="nb">float</span>
|
|
<span class="n">fps</span><span class="p">:</span> <span class="nb">float</span>
|
|
<span class="n">latitude</span><span class="p">:</span> <span class="nb">float</span>
|
|
<span class="n">longitude</span><span class="p">:</span> <span class="nb">float</span>
|
|
<span class="n">shutter_speed</span><span class="p">:</span> <span class="nb">float</span>
|
|
<span class="n">camera_make</span><span class="p">:</span> <span class="nb">str</span>
|
|
<span class="n">camera_model</span><span class="p">:</span> <span class="nb">str</span>
|
|
<span class="n">codec</span><span class="p">:</span> <span class="nb">str</span>
|
|
<span class="n">lens_model</span><span class="p">:</span> <span class="nb">str</span>
|
|
|
|
|
|
<span class="nd">@property</span>
|
|
<span class="k">def</span> <span class="nf">exif_info</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="sd">""" Returns an ExifInfo object with the EXIF data for photo</span>
|
|
<span class="sd"> Note: the returned EXIF data is the data Photos stores in the database on import;</span>
|
|
<span class="sd"> ExifInfo does not provide access to the EXIF info in the actual image file</span>
|
|
<span class="sd"> Some or all of the fields may be None</span>
|
|
<span class="sd"> Only valid for Photos 5; on earlier database returns None</span>
|
|
<span class="sd"> """</span>
|
|
|
|
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_db</span><span class="o">.</span><span class="n">_db_version</span> <span class="o"><=</span> <span class="n">_PHOTOS_4_VERSION</span><span class="p">:</span>
|
|
<span class="n">logging</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="sa">f</span><span class="s2">"exif_info not implemented for this database version"</span><span class="p">)</span>
|
|
<span class="k">return</span> <span class="kc">None</span>
|
|
|
|
<span class="k">try</span><span class="p">:</span>
|
|
<span class="n">exif</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_db</span><span class="o">.</span><span class="n">_db_exifinfo_uuid</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">uuid</span><span class="p">]</span>
|
|
<span class="n">exif_info</span> <span class="o">=</span> <span class="n">ExifInfo</span><span class="p">(</span>
|
|
<span class="n">iso</span><span class="o">=</span><span class="n">exif</span><span class="p">[</span><span class="s2">"ZISO"</span><span class="p">],</span>
|
|
<span class="n">flash_fired</span><span class="o">=</span><span class="kc">True</span> <span class="k">if</span> <span class="n">exif</span><span class="p">[</span><span class="s2">"ZFLASHFIRED"</span><span class="p">]</span> <span class="o">==</span> <span class="mi">1</span> <span class="k">else</span> <span class="kc">False</span><span class="p">,</span>
|
|
<span class="n">metering_mode</span><span class="o">=</span><span class="n">exif</span><span class="p">[</span><span class="s2">"ZMETERINGMODE"</span><span class="p">],</span>
|
|
<span class="n">sample_rate</span><span class="o">=</span><span class="n">exif</span><span class="p">[</span><span class="s2">"ZSAMPLERATE"</span><span class="p">],</span>
|
|
<span class="n">track_format</span><span class="o">=</span><span class="n">exif</span><span class="p">[</span><span class="s2">"ZTRACKFORMAT"</span><span class="p">],</span>
|
|
<span class="n">white_balance</span><span class="o">=</span><span class="n">exif</span><span class="p">[</span><span class="s2">"ZWHITEBALANCE"</span><span class="p">],</span>
|
|
<span class="n">aperture</span><span class="o">=</span><span class="n">exif</span><span class="p">[</span><span class="s2">"ZAPERTURE"</span><span class="p">],</span>
|
|
<span class="n">bit_rate</span><span class="o">=</span><span class="n">exif</span><span class="p">[</span><span class="s2">"ZBITRATE"</span><span class="p">],</span>
|
|
<span class="n">duration</span><span class="o">=</span><span class="n">exif</span><span class="p">[</span><span class="s2">"ZDURATION"</span><span class="p">],</span>
|
|
<span class="n">exposure_bias</span><span class="o">=</span><span class="n">exif</span><span class="p">[</span><span class="s2">"ZEXPOSUREBIAS"</span><span class="p">],</span>
|
|
<span class="n">focal_length</span><span class="o">=</span><span class="n">exif</span><span class="p">[</span><span class="s2">"ZFOCALLENGTH"</span><span class="p">],</span>
|
|
<span class="n">fps</span><span class="o">=</span><span class="n">exif</span><span class="p">[</span><span class="s2">"ZFPS"</span><span class="p">],</span>
|
|
<span class="n">latitude</span><span class="o">=</span><span class="n">exif</span><span class="p">[</span><span class="s2">"ZLATITUDE"</span><span class="p">],</span>
|
|
<span class="n">longitude</span><span class="o">=</span><span class="n">exif</span><span class="p">[</span><span class="s2">"ZLONGITUDE"</span><span class="p">],</span>
|
|
<span class="n">shutter_speed</span><span class="o">=</span><span class="n">exif</span><span class="p">[</span><span class="s2">"ZSHUTTERSPEED"</span><span class="p">],</span>
|
|
<span class="n">camera_make</span><span class="o">=</span><span class="n">exif</span><span class="p">[</span><span class="s2">"ZCAMERAMAKE"</span><span class="p">],</span>
|
|
<span class="n">camera_model</span><span class="o">=</span><span class="n">exif</span><span class="p">[</span><span class="s2">"ZCAMERAMODEL"</span><span class="p">],</span>
|
|
<span class="n">codec</span><span class="o">=</span><span class="n">exif</span><span class="p">[</span><span class="s2">"ZCODEC"</span><span class="p">],</span>
|
|
<span class="n">lens_model</span><span class="o">=</span><span class="n">exif</span><span class="p">[</span><span class="s2">"ZLENSMODEL"</span><span class="p">],</span>
|
|
<span class="p">)</span>
|
|
<span class="k">except</span> <span class="ne">KeyError</span><span class="p">:</span>
|
|
<span class="n">logging</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Could not find exif record for uuid </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">uuid</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
|
<span class="n">exif_info</span> <span class="o">=</span> <span class="n">ExifInfo</span><span class="p">(</span>
|
|
<span class="n">iso</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
|
|
<span class="n">flash_fired</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
|
|
<span class="n">metering_mode</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
|
|
<span class="n">sample_rate</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
|
|
<span class="n">track_format</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
|
|
<span class="n">white_balance</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
|
|
<span class="n">aperture</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
|
|
<span class="n">bit_rate</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
|
|
<span class="n">duration</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
|
|
<span class="n">exposure_bias</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
|
|
<span class="n">focal_length</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
|
|
<span class="n">fps</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
|
|
<span class="n">latitude</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
|
|
<span class="n">longitude</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
|
|
<span class="n">shutter_speed</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
|
|
<span class="n">camera_make</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
|
|
<span class="n">camera_model</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
|
|
<span class="n">codec</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
|
|
<span class="n">lens_model</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
|
|
<span class="p">)</span>
|
|
|
|
<span class="k">return</span> <span class="n">exif_info</span>
|
|
</pre></div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
|
<div class="sphinxsidebarwrapper">
|
|
<h1 class="logo"><a href="../../../index.html">osxphotos</a></h1>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h3>Navigation</h3>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="../../../cli.html">osxphotos command line interface (CLI)</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../../../reference.html">osxphotos package</a></li>
|
|
</ul>
|
|
|
|
<div class="relations">
|
|
<h3>Related Topics</h3>
|
|
<ul>
|
|
<li><a href="../../../index.html">Documentation overview</a><ul>
|
|
<li><a href="../../index.html">Module code</a><ul>
|
|
</ul></li>
|
|
</ul></li>
|
|
</ul>
|
|
</div>
|
|
<div id="searchbox" style="display: none" role="search">
|
|
<h3 id="searchlabel">Quick search</h3>
|
|
<div class="searchformwrapper">
|
|
<form class="search" action="../../../search.html" method="get">
|
|
<input type="text" name="q" aria-labelledby="searchlabel" />
|
|
<input type="submit" value="Go" />
|
|
</form>
|
|
</div>
|
|
</div>
|
|
<script>$('#searchbox').show(0);</script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="clearer"></div>
|
|
</div>
|
|
<div class="footer">
|
|
©2021, Rhet Turnbull.
|
|
|
|
|
|
|
Powered by <a href="http://sphinx-doc.org/">Sphinx 3.4.3</a>
|
|
& <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</body>
|
|
</html> |