diff --git a/_docs_/.buildinfo b/_docs_/.buildinfo
new file mode 100644
index 0000000..b1b74cb
--- /dev/null
+++ b/_docs_/.buildinfo
@@ -0,0 +1,4 @@
+# Sphinx build info version 1
+# This file records the configuration used when building these files. When it is not found, a full rebuild will be done.
+config: d7a6fcde750195f8ed36e15aa515f258
+tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/_docs_/_sources/index.rst.txt b/_docs_/_sources/index.rst.txt
new file mode 100644
index 0000000..4a7bc2f
--- /dev/null
+++ b/_docs_/_sources/index.rst.txt
@@ -0,0 +1,50 @@
+media package
+=============
+
+.. automodule:: media
+ :members:
+ :show-inheritance:
+ :undoc-members:
+
+Submodules
+----------
+
+media.CDDB module
+-----------------
+
+.. automodule:: media.CDDB
+ :members:
+ :show-inheritance:
+ :undoc-members:
+
+media.common module
+-------------------
+
+.. automodule:: media.common
+ :members:
+ :show-inheritance:
+ :undoc-members:
+
+media.convert module
+--------------------
+
+.. automodule:: media.convert
+ :members:
+ :show-inheritance:
+ :undoc-members:
+
+media.image module
+------------------
+
+.. automodule:: media.image
+ :members:
+ :show-inheritance:
+ :undoc-members:
+
+media.metadata module
+---------------------
+
+.. automodule:: media.metadata
+ :members:
+ :show-inheritance:
+ :undoc-members:
diff --git a/_docs_/_static/basic.css b/_docs_/_static/basic.css
new file mode 100644
index 0000000..4738b2e
--- /dev/null
+++ b/_docs_/_static/basic.css
@@ -0,0 +1,906 @@
+/*
+ * Sphinx stylesheet -- basic theme.
+ */
+
+/* -- main layout ----------------------------------------------------------- */
+
+div.clearer {
+ clear: both;
+}
+
+div.section::after {
+ display: block;
+ content: '';
+ clear: left;
+}
+
+/* -- relbar ---------------------------------------------------------------- */
+
+div.related {
+ width: 100%;
+ font-size: 90%;
+}
+
+div.related h3 {
+ display: none;
+}
+
+div.related ul {
+ margin: 0;
+ padding: 0 0 0 10px;
+ list-style: none;
+}
+
+div.related li {
+ display: inline;
+}
+
+div.related li.right {
+ float: right;
+ margin-right: 5px;
+}
+
+/* -- sidebar --------------------------------------------------------------- */
+
+div.sphinxsidebarwrapper {
+ padding: 10px 5px 0 10px;
+}
+
+div.sphinxsidebar {
+ float: left;
+ width: 230px;
+ margin-left: -100%;
+ font-size: 90%;
+ word-wrap: break-word;
+ overflow-wrap : break-word;
+}
+
+div.sphinxsidebar ul {
+ list-style: none;
+}
+
+div.sphinxsidebar ul ul,
+div.sphinxsidebar ul.want-points {
+ margin-left: 20px;
+ list-style: square;
+}
+
+div.sphinxsidebar ul ul {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+div.sphinxsidebar form {
+ margin-top: 10px;
+}
+
+div.sphinxsidebar input {
+ border: 1px solid #98dbcc;
+ font-family: sans-serif;
+ font-size: 1em;
+}
+
+div.sphinxsidebar #searchbox form.search {
+ overflow: hidden;
+}
+
+div.sphinxsidebar #searchbox input[type="text"] {
+ float: left;
+ width: 80%;
+ padding: 0.25em;
+ box-sizing: border-box;
+}
+
+div.sphinxsidebar #searchbox input[type="submit"] {
+ float: left;
+ width: 20%;
+ border-left: none;
+ padding: 0.25em;
+ box-sizing: border-box;
+}
+
+
+img {
+ border: 0;
+ max-width: 100%;
+}
+
+/* -- search page ----------------------------------------------------------- */
+
+ul.search {
+ margin-top: 10px;
+}
+
+ul.search li {
+ padding: 5px 0;
+}
+
+ul.search li a {
+ font-weight: bold;
+}
+
+ul.search li p.context {
+ color: #888;
+ margin: 2px 0 0 30px;
+ text-align: left;
+}
+
+ul.keywordmatches li.goodmatch a {
+ font-weight: bold;
+}
+
+/* -- index page ------------------------------------------------------------ */
+
+table.contentstable {
+ width: 90%;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+table.contentstable p.biglink {
+ line-height: 150%;
+}
+
+a.biglink {
+ font-size: 1.3em;
+}
+
+span.linkdescr {
+ font-style: italic;
+ padding-top: 5px;
+ font-size: 90%;
+}
+
+/* -- general index --------------------------------------------------------- */
+
+table.indextable {
+ width: 100%;
+}
+
+table.indextable td {
+ text-align: left;
+ vertical-align: top;
+}
+
+table.indextable ul {
+ margin-top: 0;
+ margin-bottom: 0;
+ list-style-type: none;
+}
+
+table.indextable > tbody > tr > td > ul {
+ padding-left: 0em;
+}
+
+table.indextable tr.pcap {
+ height: 10px;
+}
+
+table.indextable tr.cap {
+ margin-top: 10px;
+ background-color: #f2f2f2;
+}
+
+img.toggler {
+ margin-right: 3px;
+ margin-top: 3px;
+ cursor: pointer;
+}
+
+div.modindex-jumpbox {
+ border-top: 1px solid #ddd;
+ border-bottom: 1px solid #ddd;
+ margin: 1em 0 1em 0;
+ padding: 0.4em;
+}
+
+div.genindex-jumpbox {
+ border-top: 1px solid #ddd;
+ border-bottom: 1px solid #ddd;
+ margin: 1em 0 1em 0;
+ padding: 0.4em;
+}
+
+/* -- domain module index --------------------------------------------------- */
+
+table.modindextable td {
+ padding: 2px;
+ border-collapse: collapse;
+}
+
+/* -- general body styles --------------------------------------------------- */
+
+div.body {
+ min-width: 360px;
+ max-width: 800px;
+}
+
+div.body p, div.body dd, div.body li, div.body blockquote {
+ -moz-hyphens: auto;
+ -ms-hyphens: auto;
+ -webkit-hyphens: auto;
+ hyphens: auto;
+}
+
+a.headerlink {
+ visibility: hidden;
+}
+
+a:visited {
+ color: #551A8B;
+}
+
+h1:hover > a.headerlink,
+h2:hover > a.headerlink,
+h3:hover > a.headerlink,
+h4:hover > a.headerlink,
+h5:hover > a.headerlink,
+h6:hover > a.headerlink,
+dt:hover > a.headerlink,
+caption:hover > a.headerlink,
+p.caption:hover > a.headerlink,
+div.code-block-caption:hover > a.headerlink {
+ visibility: visible;
+}
+
+div.body p.caption {
+ text-align: inherit;
+}
+
+div.body td {
+ text-align: left;
+}
+
+.first {
+ margin-top: 0 !important;
+}
+
+p.rubric {
+ margin-top: 30px;
+ font-weight: bold;
+}
+
+img.align-left, figure.align-left, .figure.align-left, object.align-left {
+ clear: left;
+ float: left;
+ margin-right: 1em;
+}
+
+img.align-right, figure.align-right, .figure.align-right, object.align-right {
+ clear: right;
+ float: right;
+ margin-left: 1em;
+}
+
+img.align-center, figure.align-center, .figure.align-center, object.align-center {
+ display: block;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+img.align-default, figure.align-default, .figure.align-default {
+ display: block;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+.align-left {
+ text-align: left;
+}
+
+.align-center {
+ text-align: center;
+}
+
+.align-default {
+ text-align: center;
+}
+
+.align-right {
+ text-align: right;
+}
+
+/* -- sidebars -------------------------------------------------------------- */
+
+div.sidebar,
+aside.sidebar {
+ margin: 0 0 0.5em 1em;
+ border: 1px solid #ddb;
+ padding: 7px;
+ background-color: #ffe;
+ width: 40%;
+ float: right;
+ clear: right;
+ overflow-x: auto;
+}
+
+p.sidebar-title {
+ font-weight: bold;
+}
+
+nav.contents,
+aside.topic,
+div.admonition, div.topic, blockquote {
+ clear: left;
+}
+
+/* -- topics ---------------------------------------------------------------- */
+
+nav.contents,
+aside.topic,
+div.topic {
+ border: 1px solid #ccc;
+ padding: 7px;
+ margin: 10px 0 10px 0;
+}
+
+p.topic-title {
+ font-size: 1.1em;
+ font-weight: bold;
+ margin-top: 10px;
+}
+
+/* -- admonitions ----------------------------------------------------------- */
+
+div.admonition {
+ margin-top: 10px;
+ margin-bottom: 10px;
+ padding: 7px;
+}
+
+div.admonition dt {
+ font-weight: bold;
+}
+
+p.admonition-title {
+ margin: 0px 10px 5px 0px;
+ font-weight: bold;
+}
+
+div.body p.centered {
+ text-align: center;
+ margin-top: 25px;
+}
+
+/* -- content of sidebars/topics/admonitions -------------------------------- */
+
+div.sidebar > :last-child,
+aside.sidebar > :last-child,
+nav.contents > :last-child,
+aside.topic > :last-child,
+div.topic > :last-child,
+div.admonition > :last-child {
+ margin-bottom: 0;
+}
+
+div.sidebar::after,
+aside.sidebar::after,
+nav.contents::after,
+aside.topic::after,
+div.topic::after,
+div.admonition::after,
+blockquote::after {
+ display: block;
+ content: '';
+ clear: both;
+}
+
+/* -- tables ---------------------------------------------------------------- */
+
+table.docutils {
+ margin-top: 10px;
+ margin-bottom: 10px;
+ border: 0;
+ border-collapse: collapse;
+}
+
+table.align-center {
+ margin-left: auto;
+ margin-right: auto;
+}
+
+table.align-default {
+ margin-left: auto;
+ margin-right: auto;
+}
+
+table caption span.caption-number {
+ font-style: italic;
+}
+
+table caption span.caption-text {
+}
+
+table.docutils td, table.docutils th {
+ padding: 1px 8px 1px 5px;
+ border-top: 0;
+ border-left: 0;
+ border-right: 0;
+ border-bottom: 1px solid #aaa;
+}
+
+th {
+ text-align: left;
+ padding-right: 5px;
+}
+
+table.citation {
+ border-left: solid 1px gray;
+ margin-left: 1px;
+}
+
+table.citation td {
+ border-bottom: none;
+}
+
+th > :first-child,
+td > :first-child {
+ margin-top: 0px;
+}
+
+th > :last-child,
+td > :last-child {
+ margin-bottom: 0px;
+}
+
+/* -- figures --------------------------------------------------------------- */
+
+div.figure, figure {
+ margin: 0.5em;
+ padding: 0.5em;
+}
+
+div.figure p.caption, figcaption {
+ padding: 0.3em;
+}
+
+div.figure p.caption span.caption-number,
+figcaption span.caption-number {
+ font-style: italic;
+}
+
+div.figure p.caption span.caption-text,
+figcaption span.caption-text {
+}
+
+/* -- field list styles ----------------------------------------------------- */
+
+table.field-list td, table.field-list th {
+ border: 0 !important;
+}
+
+.field-list ul {
+ margin: 0;
+ padding-left: 1em;
+}
+
+.field-list p {
+ margin: 0;
+}
+
+.field-name {
+ -moz-hyphens: manual;
+ -ms-hyphens: manual;
+ -webkit-hyphens: manual;
+ hyphens: manual;
+}
+
+/* -- hlist styles ---------------------------------------------------------- */
+
+table.hlist {
+ margin: 1em 0;
+}
+
+table.hlist td {
+ vertical-align: top;
+}
+
+/* -- object description styles --------------------------------------------- */
+
+.sig {
+ font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace;
+}
+
+.sig-name, code.descname {
+ background-color: transparent;
+ font-weight: bold;
+}
+
+.sig-name {
+ font-size: 1.1em;
+}
+
+code.descname {
+ font-size: 1.2em;
+}
+
+.sig-prename, code.descclassname {
+ background-color: transparent;
+}
+
+.optional {
+ font-size: 1.3em;
+}
+
+.sig-paren {
+ font-size: larger;
+}
+
+.sig-param.n {
+ font-style: italic;
+}
+
+/* C++ specific styling */
+
+.sig-inline.c-texpr,
+.sig-inline.cpp-texpr {
+ font-family: unset;
+}
+
+.sig.c .k, .sig.c .kt,
+.sig.cpp .k, .sig.cpp .kt {
+ color: #0033B3;
+}
+
+.sig.c .m,
+.sig.cpp .m {
+ color: #1750EB;
+}
+
+.sig.c .s, .sig.c .sc,
+.sig.cpp .s, .sig.cpp .sc {
+ color: #067D17;
+}
+
+
+/* -- other body styles ----------------------------------------------------- */
+
+ol.arabic {
+ list-style: decimal;
+}
+
+ol.loweralpha {
+ list-style: lower-alpha;
+}
+
+ol.upperalpha {
+ list-style: upper-alpha;
+}
+
+ol.lowerroman {
+ list-style: lower-roman;
+}
+
+ol.upperroman {
+ list-style: upper-roman;
+}
+
+:not(li) > ol > li:first-child > :first-child,
+:not(li) > ul > li:first-child > :first-child {
+ margin-top: 0px;
+}
+
+:not(li) > ol > li:last-child > :last-child,
+:not(li) > ul > li:last-child > :last-child {
+ margin-bottom: 0px;
+}
+
+ol.simple ol p,
+ol.simple ul p,
+ul.simple ol p,
+ul.simple ul p {
+ margin-top: 0;
+}
+
+ol.simple > li:not(:first-child) > p,
+ul.simple > li:not(:first-child) > p {
+ margin-top: 0;
+}
+
+ol.simple p,
+ul.simple p {
+ margin-bottom: 0;
+}
+
+aside.footnote > span,
+div.citation > span {
+ float: left;
+}
+aside.footnote > span:last-of-type,
+div.citation > span:last-of-type {
+ padding-right: 0.5em;
+}
+aside.footnote > p {
+ margin-left: 2em;
+}
+div.citation > p {
+ margin-left: 4em;
+}
+aside.footnote > p:last-of-type,
+div.citation > p:last-of-type {
+ margin-bottom: 0em;
+}
+aside.footnote > p:last-of-type:after,
+div.citation > p:last-of-type:after {
+ content: "";
+ clear: both;
+}
+
+dl.field-list {
+ display: grid;
+ grid-template-columns: fit-content(30%) auto;
+}
+
+dl.field-list > dt {
+ font-weight: bold;
+ word-break: break-word;
+ padding-left: 0.5em;
+ padding-right: 5px;
+}
+
+dl.field-list > dd {
+ padding-left: 0.5em;
+ margin-top: 0em;
+ margin-left: 0em;
+ margin-bottom: 0em;
+}
+
+dl {
+ margin-bottom: 15px;
+}
+
+dd > :first-child {
+ margin-top: 0px;
+}
+
+dd ul, dd table {
+ margin-bottom: 10px;
+}
+
+dd {
+ margin-top: 3px;
+ margin-bottom: 10px;
+ margin-left: 30px;
+}
+
+.sig dd {
+ margin-top: 0px;
+ margin-bottom: 0px;
+}
+
+.sig dl {
+ margin-top: 0px;
+ margin-bottom: 0px;
+}
+
+dl > dd:last-child,
+dl > dd:last-child > :last-child {
+ margin-bottom: 0;
+}
+
+dt:target, span.highlighted {
+ background-color: #fbe54e;
+}
+
+rect.highlighted {
+ fill: #fbe54e;
+}
+
+dl.glossary dt {
+ font-weight: bold;
+ font-size: 1.1em;
+}
+
+.versionmodified {
+ font-style: italic;
+}
+
+.system-message {
+ background-color: #fda;
+ padding: 5px;
+ border: 3px solid red;
+}
+
+.footnote:target {
+ background-color: #ffa;
+}
+
+.line-block {
+ display: block;
+ margin-top: 1em;
+ margin-bottom: 1em;
+}
+
+.line-block .line-block {
+ margin-top: 0;
+ margin-bottom: 0;
+ margin-left: 1.5em;
+}
+
+.guilabel, .menuselection {
+ font-family: sans-serif;
+}
+
+.accelerator {
+ text-decoration: underline;
+}
+
+.classifier {
+ font-style: oblique;
+}
+
+.classifier:before {
+ font-style: normal;
+ margin: 0 0.5em;
+ content: ":";
+ display: inline-block;
+}
+
+abbr, acronym {
+ border-bottom: dotted 1px;
+ cursor: help;
+}
+
+/* -- code displays --------------------------------------------------------- */
+
+pre {
+ overflow: auto;
+ overflow-y: hidden; /* fixes display issues on Chrome browsers */
+}
+
+pre, div[class*="highlight-"] {
+ clear: both;
+}
+
+span.pre {
+ -moz-hyphens: none;
+ -ms-hyphens: none;
+ -webkit-hyphens: none;
+ hyphens: none;
+ white-space: nowrap;
+}
+
+div[class*="highlight-"] {
+ margin: 1em 0;
+}
+
+td.linenos pre {
+ border: 0;
+ background-color: transparent;
+ color: #aaa;
+}
+
+table.highlighttable {
+ display: block;
+}
+
+table.highlighttable tbody {
+ display: block;
+}
+
+table.highlighttable tr {
+ display: flex;
+}
+
+table.highlighttable td {
+ margin: 0;
+ padding: 0;
+}
+
+table.highlighttable td.linenos {
+ padding-right: 0.5em;
+}
+
+table.highlighttable td.code {
+ flex: 1;
+ overflow: hidden;
+}
+
+.highlight .hll {
+ display: block;
+}
+
+div.highlight pre,
+table.highlighttable pre {
+ margin: 0;
+}
+
+div.code-block-caption + div {
+ margin-top: 0;
+}
+
+div.code-block-caption {
+ margin-top: 1em;
+ padding: 2px 5px;
+ font-size: small;
+}
+
+div.code-block-caption code {
+ background-color: transparent;
+}
+
+table.highlighttable td.linenos,
+span.linenos,
+div.highlight span.gp { /* gp: Generic.Prompt */
+ user-select: none;
+ -webkit-user-select: text; /* Safari fallback only */
+ -webkit-user-select: none; /* Chrome/Safari */
+ -moz-user-select: none; /* Firefox */
+ -ms-user-select: none; /* IE10+ */
+}
+
+div.code-block-caption span.caption-number {
+ padding: 0.1em 0.3em;
+ font-style: italic;
+}
+
+div.code-block-caption span.caption-text {
+}
+
+div.literal-block-wrapper {
+ margin: 1em 0;
+}
+
+code.xref, a code {
+ background-color: transparent;
+ font-weight: bold;
+}
+
+h1 code, h2 code, h3 code, h4 code, h5 code, h6 code {
+ background-color: transparent;
+}
+
+.viewcode-link {
+ float: right;
+}
+
+.viewcode-back {
+ float: right;
+ font-family: sans-serif;
+}
+
+div.viewcode-block:target {
+ margin: -1px -10px;
+ padding: 0 10px;
+}
+
+/* -- math display ---------------------------------------------------------- */
+
+img.math {
+ vertical-align: middle;
+}
+
+div.body div.math p {
+ text-align: center;
+}
+
+span.eqno {
+ float: right;
+}
+
+span.eqno a.headerlink {
+ position: absolute;
+ z-index: 1;
+}
+
+div.math:hover a.headerlink {
+ visibility: visible;
+}
+
+/* -- printout stylesheet --------------------------------------------------- */
+
+@media print {
+ div.document,
+ div.documentwrapper,
+ div.bodywrapper {
+ margin: 0 !important;
+ width: 100%;
+ }
+
+ div.sphinxsidebar,
+ div.related,
+ div.footer,
+ #top-link {
+ display: none;
+ }
+}
\ No newline at end of file
diff --git a/_docs_/_static/classic.css b/_docs_/_static/classic.css
new file mode 100644
index 0000000..6553d2c
--- /dev/null
+++ b/_docs_/_static/classic.css
@@ -0,0 +1,262 @@
+/*
+ * Sphinx stylesheet -- classic theme.
+ */
+
+@import url("basic.css");
+
+/* -- page layout ----------------------------------------------------------- */
+
+html {
+ /* CSS hack for macOS's scrollbar (see #1125) */
+ background-color: #FFFFFF;
+}
+
+body {
+ font-family: -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Cantarell, Ubuntu, roboto, noto, arial, sans-serif;
+ font-size: 100%;
+ background-color: white;
+ color: #000;
+ margin: 0;
+ padding: 0;
+}
+
+div.document {
+ display: flex;
+ background-color: white;
+}
+
+div.documentwrapper {
+ float: left;
+ width: 100%;
+}
+
+div.bodywrapper {
+ margin: 0 0 0 230px;
+}
+
+div.body {
+ background-color: white;
+ color: #222222;
+ padding: 0 20px 30px 20px;
+}
+
+div.footer {
+ color: #555555;
+ width: 100%;
+ padding: 9px 0 9px 0;
+ text-align: center;
+ font-size: 75%;
+}
+
+div.footer a {
+ color: #555555;
+ text-decoration: underline;
+}
+
+div.related {
+ background-color: white;
+ line-height: 30px;
+ color: #666666;
+}
+
+div.related a {
+ color: #444444;
+}
+
+div.sphinxsidebar {
+}
+
+div.sphinxsidebar h3 {
+ font-family: -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Cantarell, Ubuntu, roboto, noto, arial, sans-serif;
+ color: #444444;
+ font-size: 1.4em;
+ font-weight: normal;
+ margin: 0;
+ padding: 0;
+}
+
+div.sphinxsidebar h3 a {
+ color: #444444;
+}
+
+div.sphinxsidebar h4 {
+ font-family: -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Cantarell, Ubuntu, roboto, noto, arial, sans-serif;
+ color: #444444;
+ font-size: 1.3em;
+ font-weight: normal;
+ margin: 5px 0 0 0;
+ padding: 0;
+}
+
+div.sphinxsidebar p {
+ color: #444444;
+}
+
+div.sphinxsidebar p.topless {
+ margin: 5px 10px 10px 10px;
+}
+
+div.sphinxsidebar ul {
+ margin: 10px;
+ padding: 0;
+ color: #444444;
+}
+
+div.sphinxsidebar a {
+ color: #444444;
+}
+
+div.sphinxsidebar input {
+ border: 1px solid #444444;
+ font-family: sans-serif;
+ font-size: 1em;
+}
+
+
+
+/* -- hyperlink styles ------------------------------------------------------ */
+
+a {
+ color: #0090c0;
+ text-decoration: none;
+}
+
+a:visited {
+ color: #00608f;
+ text-decoration: none;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+
+
+/* -- body styles ----------------------------------------------------------- */
+
+div.body h1,
+div.body h2,
+div.body h3,
+div.body h4,
+div.body h5,
+div.body h6 {
+ font-family: -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Cantarell, Ubuntu, roboto, noto, arial, sans-serif;
+ background-color: white;
+ font-weight: normal;
+ color: #1a1a1a;
+ border-bottom: 1px solid #ccc;
+ margin: 20px -20px 10px -20px;
+ padding: 3px 0 3px 10px;
+}
+
+div.body h1 { margin-top: 0; font-size: 200%; }
+div.body h2 { font-size: 160%; }
+div.body h3 { font-size: 140%; }
+div.body h4 { font-size: 120%; }
+div.body h5 { font-size: 110%; }
+div.body h6 { font-size: 100%; }
+
+a.headerlink {
+ color: #aaaaaa;
+ font-size: 0.8em;
+ padding: 0 4px 0 4px;
+ text-decoration: none;
+}
+
+a.headerlink:hover {
+ background-color: #aaaaaa;
+ color: white;
+}
+
+div.body p, div.body dd, div.body li, div.body blockquote {
+ text-align: justify;
+ line-height: 130%;
+}
+
+div.admonition p.admonition-title + p {
+ display: inline;
+}
+
+div.admonition p {
+ margin-bottom: 5px;
+}
+
+div.admonition pre {
+ margin-bottom: 5px;
+}
+
+div.admonition ul, div.admonition ol {
+ margin-bottom: 5px;
+}
+
+div.note {
+ background-color: #eee;
+ border: 1px solid #ccc;
+}
+
+div.seealso {
+ background-color: #ffc;
+ border: 1px solid #ff6;
+}
+
+nav.contents,
+aside.topic,
+div.topic {
+ background-color: #eee;
+}
+
+div.warning {
+ background-color: #ffe4e4;
+ border: 1px solid #f66;
+}
+
+p.admonition-title {
+ display: inline;
+}
+
+p.admonition-title:after {
+ content: ":";
+}
+
+pre {
+ padding: 5px;
+ background-color: #eeffcc;
+ color: #333333;
+ line-height: 120%;
+ border: 1px solid #ac9;
+ border-left: none;
+ border-right: none;
+}
+
+code {
+ background-color: #ecf0f3;
+ padding: 0 1px 0 1px;
+ font-size: 0.95em;
+}
+
+th, dl.field-list > dt {
+ background-color: #ede;
+}
+
+.warning code {
+ background: #efc2c2;
+}
+
+.note code {
+ background: #d6d6d6;
+}
+
+.viewcode-back {
+ font-family: -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Cantarell, Ubuntu, roboto, noto, arial, sans-serif;
+}
+
+div.viewcode-block:target {
+ background-color: #f4debf;
+ border-top: 1px solid #ac9;
+ border-bottom: 1px solid #ac9;
+}
+
+div.code-block-caption {
+ color: #efefef;
+ background-color: #1c4e63;
+}
\ No newline at end of file
diff --git a/_docs_/_static/copybutton.js b/_docs_/_static/copybutton.js
new file mode 100644
index 0000000..de071f4
--- /dev/null
+++ b/_docs_/_static/copybutton.js
@@ -0,0 +1,84 @@
+// Extract copyable text from the code block ignoring the
+// prompts and output.
+function getCopyableText(rootElement) {
+ rootElement = rootElement.cloneNode(true)
+ // tracebacks (.gt) contain bare text elements that
+ // need to be removed
+ const tracebacks = rootElement.querySelectorAll(".gt")
+ for (const el of tracebacks) {
+ while (
+ el.nextSibling &&
+ (el.nextSibling.nodeType !== Node.ELEMENT_NODE ||
+ !el.nextSibling.matches(".gp, .go"))
+ ) {
+ el.nextSibling.remove()
+ }
+ }
+ // Remove all elements with the "go" (Generic.Output),
+ // "gp" (Generic.Prompt), or "gt" (Generic.Traceback) CSS class
+ const elements = rootElement.querySelectorAll(".gp, .go, .gt")
+ for (const el of elements) {
+ el.remove()
+ }
+ return rootElement.innerText.trim()
+}
+
+const loadCopyButton = () => {
+ const button = document.createElement("button")
+ button.classList.add("copybutton")
+ button.type = "button"
+ button.innerText = _("Copy")
+ button.title = _("Copy to clipboard")
+
+ const makeOnButtonClick = () => {
+ let timeout = null
+ // define the behavior of the button when it's clicked
+ return async event => {
+ // check if the clipboard is available
+ if (!navigator.clipboard || !navigator.clipboard.writeText) {
+ return;
+ }
+
+ clearTimeout(timeout)
+ const buttonEl = event.currentTarget
+ const codeEl = buttonEl.nextElementSibling
+
+ try {
+ await navigator.clipboard.writeText(getCopyableText(codeEl))
+ } catch (e) {
+ console.error(e.message)
+ return
+ }
+
+ buttonEl.innerText = _("Copied!")
+ timeout = setTimeout(() => {
+ buttonEl.innerText = _("Copy")
+ }, 1500)
+ }
+ }
+
+ const highlightedElements = document.querySelectorAll(
+ ".highlight-python .highlight,"
+ + ".highlight-python3 .highlight,"
+ + ".highlight-pycon .highlight,"
+ + ".highlight-pycon3 .highlight,"
+ + ".highlight-default .highlight"
+ )
+
+ // create and add the button to all the code blocks that contain >>>
+ highlightedElements.forEach(el => {
+ el.style.position = "relative"
+
+ // if we find a console prompt (.gp), prepend the (deeply cloned) button
+ const clonedButton = button.cloneNode(true)
+ // the onclick attribute is not cloned, set it on the new element
+ clonedButton.onclick = makeOnButtonClick()
+ el.prepend(clonedButton)
+ })
+}
+
+if (document.readyState !== "loading") {
+ loadCopyButton()
+} else {
+ document.addEventListener("DOMContentLoaded", loadCopyButton)
+}
diff --git a/_docs_/_static/default.css b/_docs_/_static/default.css
new file mode 100644
index 0000000..81b9363
--- /dev/null
+++ b/_docs_/_static/default.css
@@ -0,0 +1 @@
+@import url("classic.css");
diff --git a/_docs_/_static/doctools.js b/_docs_/_static/doctools.js
new file mode 100644
index 0000000..0398ebb
--- /dev/null
+++ b/_docs_/_static/doctools.js
@@ -0,0 +1,149 @@
+/*
+ * Base JavaScript utilities for all Sphinx HTML documentation.
+ */
+"use strict";
+
+const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([
+ "TEXTAREA",
+ "INPUT",
+ "SELECT",
+ "BUTTON",
+]);
+
+const _ready = (callback) => {
+ if (document.readyState !== "loading") {
+ callback();
+ } else {
+ document.addEventListener("DOMContentLoaded", callback);
+ }
+};
+
+/**
+ * Small JavaScript module for the documentation.
+ */
+const Documentation = {
+ init: () => {
+ Documentation.initDomainIndexTable();
+ Documentation.initOnKeyListeners();
+ },
+
+ /**
+ * i18n support
+ */
+ TRANSLATIONS: {},
+ PLURAL_EXPR: (n) => (n === 1 ? 0 : 1),
+ LOCALE: "unknown",
+
+ // gettext and ngettext don't access this so that the functions
+ // can safely bound to a different name (_ = Documentation.gettext)
+ gettext: (string) => {
+ const translated = Documentation.TRANSLATIONS[string];
+ switch (typeof translated) {
+ case "undefined":
+ return string; // no translation
+ case "string":
+ return translated; // translation exists
+ default:
+ return translated[0]; // (singular, plural) translation tuple exists
+ }
+ },
+
+ ngettext: (singular, plural, n) => {
+ const translated = Documentation.TRANSLATIONS[singular];
+ if (typeof translated !== "undefined")
+ return translated[Documentation.PLURAL_EXPR(n)];
+ return n === 1 ? singular : plural;
+ },
+
+ addTranslations: (catalog) => {
+ Object.assign(Documentation.TRANSLATIONS, catalog.messages);
+ Documentation.PLURAL_EXPR = new Function(
+ "n",
+ `return (${catalog.plural_expr})`
+ );
+ Documentation.LOCALE = catalog.locale;
+ },
+
+ /**
+ * helper function to focus on search bar
+ */
+ focusSearchBar: () => {
+ document.querySelectorAll("input[name=q]")[0]?.focus();
+ },
+
+ /**
+ * Initialise the domain index toggle buttons
+ */
+ initDomainIndexTable: () => {
+ const toggler = (el) => {
+ const idNumber = el.id.substr(7);
+ const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`);
+ if (el.src.substr(-9) === "minus.png") {
+ el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`;
+ toggledRows.forEach((el) => (el.style.display = "none"));
+ } else {
+ el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`;
+ toggledRows.forEach((el) => (el.style.display = ""));
+ }
+ };
+
+ const togglerElements = document.querySelectorAll("img.toggler");
+ togglerElements.forEach((el) =>
+ el.addEventListener("click", (event) => toggler(event.currentTarget))
+ );
+ togglerElements.forEach((el) => (el.style.display = ""));
+ if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler);
+ },
+
+ initOnKeyListeners: () => {
+ // only install a listener if it is really needed
+ if (
+ !DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS &&
+ !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS
+ )
+ return;
+
+ document.addEventListener("keydown", (event) => {
+ // bail for input elements
+ if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return;
+ // bail with special keys
+ if (event.altKey || event.ctrlKey || event.metaKey) return;
+
+ if (!event.shiftKey) {
+ switch (event.key) {
+ case "ArrowLeft":
+ if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break;
+
+ const prevLink = document.querySelector('link[rel="prev"]');
+ if (prevLink && prevLink.href) {
+ window.location.href = prevLink.href;
+ event.preventDefault();
+ }
+ break;
+ case "ArrowRight":
+ if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break;
+
+ const nextLink = document.querySelector('link[rel="next"]');
+ if (nextLink && nextLink.href) {
+ window.location.href = nextLink.href;
+ event.preventDefault();
+ }
+ break;
+ }
+ }
+
+ // some keyboard layouts may need Shift to get /
+ switch (event.key) {
+ case "/":
+ if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break;
+ Documentation.focusSearchBar();
+ event.preventDefault();
+ }
+ });
+ },
+};
+
+// quick alias for translations
+const _ = Documentation.gettext;
+
+_ready(Documentation.init);
diff --git a/_docs_/_static/documentation_options.js b/_docs_/_static/documentation_options.js
new file mode 100644
index 0000000..7e4c114
--- /dev/null
+++ b/_docs_/_static/documentation_options.js
@@ -0,0 +1,13 @@
+const DOCUMENTATION_OPTIONS = {
+ VERSION: '',
+ LANGUAGE: 'en',
+ COLLAPSE_INDEX: false,
+ BUILDER: 'html',
+ FILE_SUFFIX: '.html',
+ LINK_SUFFIX: '.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt',
+ NAVIGATION_WITH_KEYS: false,
+ SHOW_SEARCH_SUMMARY: true,
+ ENABLE_SEARCH_SHORTCUTS: true,
+};
\ No newline at end of file
diff --git a/_docs_/_static/file.png b/_docs_/_static/file.png
new file mode 100644
index 0000000..a858a41
Binary files /dev/null and b/_docs_/_static/file.png differ
diff --git a/_docs_/_static/language_data.js b/_docs_/_static/language_data.js
new file mode 100644
index 0000000..c7fe6c6
--- /dev/null
+++ b/_docs_/_static/language_data.js
@@ -0,0 +1,192 @@
+/*
+ * This script contains the language-specific data used by searchtools.js,
+ * namely the list of stopwords, stemmer, scorer and splitter.
+ */
+
+var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"];
+
+
+/* Non-minified version is copied as a separate JS file, if available */
+
+/**
+ * Porter Stemmer
+ */
+var Stemmer = function() {
+
+ var step2list = {
+ ational: 'ate',
+ tional: 'tion',
+ enci: 'ence',
+ anci: 'ance',
+ izer: 'ize',
+ bli: 'ble',
+ alli: 'al',
+ entli: 'ent',
+ eli: 'e',
+ ousli: 'ous',
+ ization: 'ize',
+ ation: 'ate',
+ ator: 'ate',
+ alism: 'al',
+ iveness: 'ive',
+ fulness: 'ful',
+ ousness: 'ous',
+ aliti: 'al',
+ iviti: 'ive',
+ biliti: 'ble',
+ logi: 'log'
+ };
+
+ var step3list = {
+ icate: 'ic',
+ ative: '',
+ alize: 'al',
+ iciti: 'ic',
+ ical: 'ic',
+ ful: '',
+ ness: ''
+ };
+
+ var c = "[^aeiou]"; // consonant
+ var v = "[aeiouy]"; // vowel
+ var C = c + "[^aeiouy]*"; // consonant sequence
+ var V = v + "[aeiou]*"; // vowel sequence
+
+ var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0
+ var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1
+ var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1
+ var s_v = "^(" + C + ")?" + v; // vowel in stem
+
+ this.stemWord = function (w) {
+ var stem;
+ var suffix;
+ var firstch;
+ var origword = w;
+
+ if (w.length < 3)
+ return w;
+
+ var re;
+ var re2;
+ var re3;
+ var re4;
+
+ firstch = w.substr(0,1);
+ if (firstch == "y")
+ w = firstch.toUpperCase() + w.substr(1);
+
+ // Step 1a
+ re = /^(.+?)(ss|i)es$/;
+ re2 = /^(.+?)([^s])s$/;
+
+ if (re.test(w))
+ w = w.replace(re,"$1$2");
+ else if (re2.test(w))
+ w = w.replace(re2,"$1$2");
+
+ // Step 1b
+ re = /^(.+?)eed$/;
+ re2 = /^(.+?)(ed|ing)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ re = new RegExp(mgr0);
+ if (re.test(fp[1])) {
+ re = /.$/;
+ w = w.replace(re,"");
+ }
+ }
+ else if (re2.test(w)) {
+ var fp = re2.exec(w);
+ stem = fp[1];
+ re2 = new RegExp(s_v);
+ if (re2.test(stem)) {
+ w = stem;
+ re2 = /(at|bl|iz)$/;
+ re3 = new RegExp("([^aeiouylsz])\\1$");
+ re4 = new RegExp("^" + C + v + "[^aeiouwxy]$");
+ if (re2.test(w))
+ w = w + "e";
+ else if (re3.test(w)) {
+ re = /.$/;
+ w = w.replace(re,"");
+ }
+ else if (re4.test(w))
+ w = w + "e";
+ }
+ }
+
+ // Step 1c
+ re = /^(.+?)y$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ re = new RegExp(s_v);
+ if (re.test(stem))
+ w = stem + "i";
+ }
+
+ // Step 2
+ re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ suffix = fp[2];
+ re = new RegExp(mgr0);
+ if (re.test(stem))
+ w = stem + step2list[suffix];
+ }
+
+ // Step 3
+ re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ suffix = fp[2];
+ re = new RegExp(mgr0);
+ if (re.test(stem))
+ w = stem + step3list[suffix];
+ }
+
+ // Step 4
+ re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;
+ re2 = /^(.+?)(s|t)(ion)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ re = new RegExp(mgr1);
+ if (re.test(stem))
+ w = stem;
+ }
+ else if (re2.test(w)) {
+ var fp = re2.exec(w);
+ stem = fp[1] + fp[2];
+ re2 = new RegExp(mgr1);
+ if (re2.test(stem))
+ w = stem;
+ }
+
+ // Step 5
+ re = /^(.+?)e$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ re = new RegExp(mgr1);
+ re2 = new RegExp(meq1);
+ re3 = new RegExp("^" + C + v + "[^aeiouwxy]$");
+ if (re.test(stem) || (re2.test(stem) && !(re3.test(stem))))
+ w = stem;
+ }
+ re = /ll$/;
+ re2 = new RegExp(mgr1);
+ if (re.test(w) && re2.test(w)) {
+ re = /.$/;
+ w = w.replace(re,"");
+ }
+
+ // and turn initial Y back to y
+ if (firstch == "y")
+ w = firstch.toLowerCase() + w.substr(1);
+ return w;
+ }
+}
+
diff --git a/_docs_/_static/menu.js b/_docs_/_static/menu.js
new file mode 100644
index 0000000..c7ab03e
--- /dev/null
+++ b/_docs_/_static/menu.js
@@ -0,0 +1,57 @@
+document.addEventListener("DOMContentLoaded", function () {
+
+ // Make tables responsive by wrapping them in a div and making them scrollable
+ const tables = document.querySelectorAll("table.docutils")
+ tables.forEach(function(table){
+ table.outerHTML = '
' + table.outerHTML + "
"
+ })
+
+ const togglerInput = document.querySelector(".toggler__input")
+ const togglerLabel = document.querySelector(".toggler__label")
+ const sideMenu = document.querySelector(".menu-wrapper")
+ const menuItems = document.querySelectorAll(".menu")
+ const doc = document.querySelector(".document")
+ const body = document.querySelector("body")
+
+ function closeMenu() {
+ togglerInput.checked = false
+ sideMenu.setAttribute("aria-expanded", "false")
+ sideMenu.setAttribute("aria-hidden", "true")
+ togglerLabel.setAttribute("aria-pressed", "false")
+ body.style.overflow = "visible"
+ }
+ function openMenu() {
+ togglerInput.checked = true
+ sideMenu.setAttribute("aria-expanded", "true")
+ sideMenu.setAttribute("aria-hidden", "false")
+ togglerLabel.setAttribute("aria-pressed", "true")
+ body.style.overflow = "hidden"
+ }
+
+ // Close menu when link on the sideMenu is clicked
+ sideMenu.addEventListener("click", function (event) {
+ let target = event.target
+ if (target.tagName.toLowerCase() !== "a") {
+ return
+ }
+ closeMenu()
+ })
+ // Add accessibility data when sideMenu is opened/closed
+ togglerInput.addEventListener("change", function (_event) {
+ togglerInput.checked ? openMenu() : closeMenu()
+ })
+ // Make sideMenu links tabbable only when visible
+ for(let menuItem of menuItems) {
+ if(togglerInput.checked) {
+ menuItem.setAttribute("tabindex", "0")
+ } else {
+ menuItem.setAttribute("tabindex", "-1")
+ }
+ }
+ // Close sideMenu when document body is clicked
+ doc.addEventListener("click", function () {
+ if (togglerInput.checked) {
+ closeMenu()
+ }
+ })
+})
diff --git a/_docs_/_static/minus.png b/_docs_/_static/minus.png
new file mode 100644
index 0000000..d96755f
Binary files /dev/null and b/_docs_/_static/minus.png differ
diff --git a/_docs_/_static/plus.png b/_docs_/_static/plus.png
new file mode 100644
index 0000000..7107cec
Binary files /dev/null and b/_docs_/_static/plus.png differ
diff --git a/_docs_/_static/py.png b/_docs_/_static/py.png
new file mode 100644
index 0000000..93e4a02
Binary files /dev/null and b/_docs_/_static/py.png differ
diff --git a/_docs_/_static/py.svg b/_docs_/_static/py.svg
new file mode 100644
index 0000000..90b6c90
--- /dev/null
+++ b/_docs_/_static/py.svg
@@ -0,0 +1,14 @@
+
diff --git a/_docs_/_static/pydoctheme.css b/_docs_/_static/pydoctheme.css
new file mode 100644
index 0000000..4873116
--- /dev/null
+++ b/_docs_/_static/pydoctheme.css
@@ -0,0 +1,773 @@
+/* Common colours */
+:root {
+ --good-color: rgb(41 100 51);
+ --good-border: rgb(79 196 100);
+ --middle-color: rgb(133 72 38);
+ --middle-border: rgb(244, 227, 76);
+ --bad-color: rgb(159 49 51);
+ --bad-border: rgb(244, 76, 78);
+}
+
+/* unset some styles from the classic stylesheet */
+div.document,
+div.body,
+div.related,
+div.body h1,
+div.body h2,
+div.body h3,
+div.body h4,
+div.body h5,
+div.body h6,
+div.sphinxsidebar a,
+div.sphinxsidebar p,
+div.sphinxsidebar ul,
+div.sphinxsidebar h3,
+div.sphinxsidebar h3 a,
+div.sphinxsidebar h4,
+.menu a,
+.menu p,
+.menu ul,
+.menu h3,
+.menu h3 a,
+.menu h4,
+table.docutils td,
+table.indextable tr.cap,
+pre {
+ background-color: inherit;
+ color: inherit;
+}
+
+/* Add underlines to links */
+a[href] {
+ text-decoration: underline 1px;
+}
+
+/* Increase the underline offset for code to avoid obscuring underscores */
+a[href]:has(> code) {
+ text-underline-offset: 0.25em;
+}
+
+/* No underline for navigation */
+a.headerlink,
+div.genindex-jumpbox a,
+div.modindex-jumpbox a,
+div#search-results a,
+div.sphinxsidebar a,
+div.toctree-wrapper a,
+div[role=navigation] a,
+table.contentstable a,
+table.indextable a {
+ text-decoration: none;
+}
+
+/* Except when hovered */
+div.genindex-jumpbox a:hover,
+div.modindex-jumpbox a:hover,
+div#search-results a:hover,
+div.sphinxsidebar a:hover,
+div.toctree-wrapper a:hover,
+div[role=navigation] a:hover,
+table.contentstable a:hover,
+table.indextable a:hover {
+ text-decoration: underline;
+ text-underline-offset: auto;
+}
+
+body {
+ margin-left: 1em;
+ margin-right: 1em;
+}
+
+.mobile-nav,
+.menu-wrapper {
+ display: none;
+}
+
+div.related {
+ margin-top: 0.5em;
+ margin-bottom: 1.2em;
+ padding: 0.5em 0;
+ border-width: 1px;
+ border-color: #ccc;
+}
+
+.mobile-nav + div.related {
+ border-bottom-style: solid;
+}
+
+.document + div.related {
+ border-top-style: solid;
+}
+
+div.related a:hover {
+ color: #0095c4;
+}
+
+.related .switchers {
+ display: inline-flex;
+}
+
+.switchers > div {
+ margin-right: 5px;
+}
+
+div.related ul::after {
+ content: '';
+ clear: both;
+ display: block;
+}
+
+.inline-search,
+form.inline-search input {
+ display: inline;
+}
+
+form.inline-search input[type='submit'] {
+ width: 40px;
+}
+
+div.document {
+ display: flex;
+ /* Don't let long code literals extend beyond the right side of the screen */
+ overflow-wrap: break-word;
+}
+
+/* Don't let long code literals extend beyond the right side of the screen */
+span.pre {
+ white-space: unset;
+}
+
+div.sphinxsidebar {
+ display: flex;
+ width: min(25vw, 350px);
+ float: none;
+ position: sticky;
+ top: 0;
+ max-height: 100vh;
+ color: #444;
+ background-color: #eee;
+ border-radius: 5px;
+ line-height: 130%;
+ font-size: smaller;
+}
+
+div.sphinxsidebar h3,
+div.sphinxsidebar h4 {
+ margin-top: 1.5em;
+}
+
+div.bodywrapper {
+ margin-left: min(25vw, 350px);
+}
+
+div.sphinxsidebarwrapper {
+ box-sizing: border-box;
+ height: 100%;
+ overflow-x: hidden;
+ overflow-y: auto;
+ float: none;
+ flex-grow: 1;
+}
+
+div.sphinxsidebarwrapper > h3:first-child {
+ margin-top: 0.2em;
+}
+
+div.sphinxsidebarwrapper > ul > li > ul > li {
+ margin-bottom: 0.4em;
+}
+
+div.sphinxsidebar a:hover {
+ color: #0095c4;
+}
+
+form.inline-search input,
+div.sphinxsidebar input,
+div.related input {
+ font-family: -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Cantarell, Ubuntu, roboto, noto, arial, sans-serif;
+ border: 1px solid #999999;
+ font-size: smaller;
+ border-radius: 3px;
+}
+
+div.sphinxsidebar input[type='text'] {
+ max-width: 150px;
+}
+
+#sidebarbutton {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: 12px;
+ min-width: 12px;
+ border-radius: 0 5px 5px 0;
+ border-left: none;
+}
+
+#sidebarbutton:hover {
+ background-color: #AAAAAA;
+}
+
+div.body {
+ padding: 0 0 0 1.2em;
+}
+
+div.body p, div.body dd, div.body li, div.body blockquote {
+ text-align: left;
+ line-height: 1.6;
+}
+div.body h1, div.body h2, div.body h3, div.body h4, div.body h5, div.body h6 {
+ margin: 0;
+ border: 0;
+ padding: 0.3em 0;
+}
+
+div.body hr {
+ border: 0;
+ background-color: #ccc;
+ height: 1px;
+}
+
+div.body pre {
+ border-radius: 3px;
+ border: 1px solid #ac9;
+}
+
+/* Admonitions */
+:root {
+ --admonition-background: #eee;
+ --admonition-border: #ccc;
+ --admonition-color: black;
+ --attention-background: #bbddff5c;
+ --attention-border: #0000ff36;
+ --caution-background: #ffc;
+ --caution-border: #dd6;
+ --danger-background: #ffe4e4;
+ --danger-border: red;
+ --error-background: #ffe4e4;
+ --error-border: red;
+ --hint-background: #dfd;
+ --hint-border: green;
+ --seealso-background: #ffc;
+ --seealso-border: #dd6;
+ --tip-background: #dfd;
+ --tip-border: green;
+ --warning-background: #ffe4e4;
+ --warning-border: red;
+}
+
+div.body div.admonition {
+ background-color: var(--admonition-background);
+ border: 1px solid var(--admonition-border);
+ border-radius: 3px;
+ color: var(--admonition-color);
+}
+
+div.body div.admonition.attention {
+ background-color: var(--attention-background);
+ border-color: var(--attention-border);
+}
+
+div.body div.admonition.caution {
+ background-color: var(--caution-background);
+ border-color: var(--caution-border);
+}
+
+div.body div.admonition.danger {
+ background-color: var(--danger-background);
+ border-color: var(--danger-border);
+}
+
+div.body div.admonition.error {
+ background-color: var(--error-background);
+ border-color: var(--error-border);
+}
+
+div.body div.admonition.hint {
+ background-color: var(--hint-background);
+ border-color: var(--hint-border);
+}
+
+div.body div.admonition.seealso {
+ background-color: var(--seealso-background);
+ border-color: var(--seealso-border);
+}
+
+div.body div.admonition.tip {
+ background-color: var(--tip-background);
+ border-color: var(--tip-border);
+}
+
+div.body div.admonition.warning {
+ background-color: var(--warning-background);
+ border-color: var(--warning-border);
+}
+
+div.body div.impl-detail {
+ border-radius: 3px;
+}
+
+div.body div.impl-detail > p {
+ margin: 0;
+}
+
+div.body a {
+ color: #0072aa;
+}
+
+div.body a:visited {
+ color: #6363bb;
+}
+
+div.body a:hover {
+ color: #00b0e4;
+}
+
+tt, code, pre {
+ font-family: Menlo, Consolas, Monaco, Liberation Mono, Lucida Console, monospace;
+ font-size: 96.5%;
+}
+
+div.body pre {
+ line-height: 120%;
+}
+
+div.body tt,
+div.body code {
+ border-radius: 3px;
+}
+
+div.body tt.descname,
+div.body code.descname {
+ font-size: 120%;
+}
+
+div.body tt.xref,
+div.body a tt,
+div.body code.xref,
+div.body a code {
+ font-weight: normal;
+}
+
+table.docutils {
+ border: 1px solid #ddd;
+ min-width: 20%;
+ border-radius: 3px;
+ margin-top: 10px;
+ margin-bottom: 10px;
+}
+
+table.docutils td,
+table.docutils th {
+ border: 1px solid #ddd !important;
+ border-radius: 3px;
+ padding: 0.3em 0.5em;
+}
+
+table p,
+table li {
+ text-align: left !important;
+}
+
+table.docutils th {
+ background-color: #eee;
+}
+
+table.footnote,
+table.footnote td {
+ border: 0 !important;
+}
+
+div.footer {
+ line-height: 150%;
+ text-align: right;
+ width: auto;
+ margin-right: 10px;
+}
+
+div.footer a {
+ text-underline-offset: auto;
+}
+
+div.footer a:hover {
+ color: #0095c4;
+}
+
+/* C API return value annotations */
+:root {
+ --refcount: var(--good-color);
+ --refcount-return-borrowed-ref: var(--middle-color);
+}
+
+.refcount {
+ color: var(--refcount);
+}
+
+.refcount.return_borrowed_ref {
+ color: var(--refcount-return-borrowed-ref)
+}
+
+.stableabi {
+ color: #229;
+}
+
+dl > dt span ~ em,
+.sig {
+ font-family: Menlo, Consolas, Monaco, Liberation Mono, Lucida Console, monospace;
+}
+
+.toctree-wrapper ul {
+ padding-left: 20px;
+}
+
+.theme-selector {
+ margin-left: .5em;
+}
+
+div.genindex-jumpbox,
+div.genindex-jumpbox > p {
+ display: inline-flex;
+ flex-wrap: wrap;
+}
+
+div.genindex-jumpbox a {
+ margin: 0 5px;
+ min-width: 30px;
+ text-align: center;
+}
+
+.copybutton {
+ cursor: pointer;
+ position: absolute;
+ top: 0;
+ right: 0;
+ font-family: Menlo, Consolas, Monaco, Liberation Mono, Lucida Console, monospace;
+ font-size: 80%;
+ padding-left: .5em;
+ padding-right: .5em;
+ height: 100%;
+ max-height: min(100%, 2.4em);
+ border-radius: 0 3px 0 0;
+ color: #000;
+ background-color: #fff;
+ border: 1px solid #ac9; /* follows div.body pre */
+ display: none;
+}
+
+.copybutton:hover {
+ background-color: #eee;
+}
+
+.copybutton:active {
+ background-color: #ddd;
+}
+
+.highlight:active .copybutton {
+ display: block;
+}
+
+.highlight:hover .copybutton {
+ display: block;
+}
+
+@media (max-width: 1023px) {
+ /* Body layout */
+ div.body {
+ min-width: 100%;
+ padding: 0;
+ font-size: 0.875rem;
+ }
+ div.bodywrapper {
+ margin: 0;
+ }
+ /* Typography */
+ div.body h1 {
+ font-size: 1.625rem;
+ }
+ div.body h2 {
+ font-size: 1.25rem;
+ }
+ div.body h3, div.body h4, div.body h5 {
+ font-size: 1rem;
+ }
+ /* Override default styles to make more readable */
+ div.body ul {
+ padding-inline-start: 1rem;
+ }
+ div.body blockquote {
+ margin-inline-start: 1rem;
+ margin-inline-end: 0;
+ }
+ /* Remove sidebar and top related bar */
+ div.related, div.sphinxsidebar {
+ display: none;
+ }
+ /* Anchorlinks are not hidden by fixed-positioned navbar when scrolled to */
+ html {
+ scroll-padding-top: 40px;
+ }
+ body {
+ margin-top: 40px;
+ }
+
+ /* Top navigation bar */
+ .mobile-nav {
+ display: block;
+ height: 40px;
+ width: 100%;
+ position: fixed;
+ top: 0;
+ left: 0;
+ box-shadow: rgba(0, 0, 0, 0.25) 0 0 2px 0;
+ z-index: 1;
+ }
+ .mobile-nav * {
+ box-sizing: border-box;
+ }
+ .nav-content {
+ position: absolute;
+ z-index: 1;
+ height: 40px;
+ width: 100%;
+ display: flex;
+ background-color: white;
+ }
+ .nav-items-wrapper {
+ display: flex;
+ flex: auto;
+ padding: .25rem;
+ align-items: stretch;
+ }
+ .nav-logo {
+ margin-right: 1rem;
+ flex-shrink: 0;
+ align-self: center;
+ }
+ .nav-content img {
+ display: block;
+ width: 20px;
+ }
+ .version_switcher_placeholder {
+ margin-right: 1rem;
+ }
+ .version_switcher_placeholder > select {
+ height: 100%;
+ }
+ .nav-content .search {
+ display: flex;
+ flex: auto;
+ border: 1px solid #a9a9a9;
+ align-items: stretch;
+ }
+ .nav-content .search input[type=search] {
+ border: 0;
+ padding-left: 24px;
+ width: 100%;
+ flex: 1;
+ }
+ .nav-content .search input[type=submit] {
+ height: 100%;
+ box-shadow: none;
+ border: 0;
+ border-left: 1px solid #a9a9a9;
+ cursor: pointer;
+ margin-right: 0;
+ }
+ .nav-content .search svg {
+ position: absolute;
+ align-self: center;
+ padding-left: 4px;
+ }
+ .toggler__input {
+ display: none;
+ }
+ .toggler__label {
+ width: 40px;
+ cursor: pointer;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ padding: 8px;
+ flex-shrink: 0;
+ }
+ .toggler__label:hover, .toggler__label:focus {
+ background-color: rgba(127 127 127 / 50%);
+ }
+ .toggler__label > span {
+ position: relative;
+ flex: none;
+ height: 2px;
+ width: 100%;
+ background: currentColor;
+ transition: all 400ms ease;
+ }
+ .toggler__label > span::before,
+ .toggler__label > span::after {
+ content: '';
+ height: 2px;
+ width: 100%;
+ background: inherit;
+ position: absolute;
+ left: 0;
+ top: -8px;
+ }
+ .toggler__label > span::after {
+ top: 8px;
+ }
+ .toggler__input:checked ~ nav > .toggler__label span {
+ transform: rotate(135deg);
+ }
+ .toggler__input:checked ~ nav > .toggler__label span::before {
+ transform: rotate(90deg);
+ }
+ .toggler__input:checked ~ nav > .toggler__label span::before,
+ .toggler__input:checked ~ nav > .toggler__label span::after {
+ top: 0;
+ }
+ .toggler__input:checked:hover ~ nav > .toggler__label span {
+ transform: rotate(315deg);
+ }
+ .toggler__input:checked ~ .menu-wrapper {
+ visibility: visible;
+ left: 0;
+ }
+
+ /* Sliding side menu */
+ .menu-wrapper {
+ display: block;
+ position: fixed;
+ top: 0;
+ transition: left 400ms ease;
+ left: -310px;
+ width: 300px;
+ height: 100%;
+ background-color: #eee;
+ color: #444444;
+ box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
+ overflow-y: auto;
+ }
+ .menu-wrapper.open {
+ visibility: visible;
+ left: 0;
+ }
+ .menu {
+ padding: 40px 10px 30px 20px;
+ }
+ .menu-wrapper h3,
+ .menu-wrapper h4 {
+ margin-bottom: 0;
+ font-weight: normal;
+ }
+ .menu-wrapper h4 {
+ font-size: 1.3em;
+ }
+ .menu-wrapper h3 {
+ font-size: 1.4em;
+ }
+ .menu-wrapper h3 + p,
+ .menu-wrapper h4 + p {
+ margin-top: 0.5rem;
+ }
+ .menu a {
+ font-size: smaller;
+ text-decoration: none;
+ }
+ .menu ul {
+ list-style: none;
+ line-height: 1.4;
+ overflow-wrap: break-word;
+ padding-left: 0;
+ }
+ .menu ul ul {
+ margin-left: 20px;
+ list-style: square;
+ }
+ .menu ul li {
+ margin-bottom: 0.5rem;
+ }
+ .language_switcher_placeholder {
+ margin-top: 2rem;
+ }
+ .language_switcher_placeholder select {
+ width: 100%;
+ }
+ .document {
+ position: relative;
+ z-index: 0;
+ }
+ /*Responsive tables*/
+ .responsive-table__container {
+ width: 100%;
+ overflow-x: auto;
+ }
+
+ .menu .theme-selector-label {
+ margin-top: .5em;
+ display: flex;
+ width: 100%;
+ }
+
+ .menu .theme-selector {
+ flex: auto;
+ }
+}
+
+@media (min-width: 1024px) {
+ div.footer {
+ margin-top: -2em;
+ }
+}
+
+/* Version change directives */
+:root {
+ --versionadded: var(--good-color);
+ --versionchanged: var(--middle-color);
+ --deprecated: var(--bad-color);
+
+ --versionadded-border: var(--good-border);
+ --versionchanged-border: var(--middle-border);
+ --deprecated-border: var(--bad-border);
+}
+
+div.versionadded,
+div.versionchanged,
+div.deprecated,
+div.deprecated-removed {
+ border-left: 3px solid;
+ padding: 0 1rem;
+}
+
+div.versionadded {
+ border-left-color: var(--versionadded-border);
+}
+
+div.versionchanged {
+ border-left-color: var(--versionchanged-border);
+}
+
+div.deprecated,
+div.deprecated-removed,
+div.versionremoved {
+ border-left-color: var(--deprecated-border);
+}
+
+div.versionadded .versionmodified {
+ color: var(--versionadded);
+}
+
+div.versionchanged .versionmodified {
+ color: var(--versionchanged);
+}
+
+div.deprecated .versionmodified,
+div.deprecated-removed .versionmodified,
+div.versionremoved .versionmodified {
+ color: var(--deprecated);
+}
+
+/* Hide header when printing */
+@media print {
+ div.mobile-nav {
+ display: none;
+ }
+}
diff --git a/_docs_/_static/pydoctheme_dark.css b/_docs_/_static/pydoctheme_dark.css
new file mode 100644
index 0000000..582e4dd
--- /dev/null
+++ b/_docs_/_static/pydoctheme_dark.css
@@ -0,0 +1,191 @@
+/* Common colours */
+:root {
+ --good-color: rgb(79 196 100);
+ --good-border: var(--good-color);
+ --middle-color: rgb(244, 227, 76);
+ --middle-border: var(--middle-color);
+ --bad-color: rgb(244, 76, 78);
+ --bad-border: var(--bad-color);
+}
+
+
+/* Browser elements */
+:root {
+ scrollbar-color: #616161 transparent;
+ color-scheme: dark;
+}
+
+html,
+body {
+ background-color: #222;
+ color: rgba(255, 255, 255, 0.87);
+}
+
+div.related {
+ color: rgba(255, 255, 255, 0.7); /* classic overwrite */
+ border-color: #424242;
+}
+
+/* SIDEBAR */
+div.sphinxsidebar, .menu-wrapper {
+ background-color: #333;
+ color: inherit;
+}
+
+#sidebarbutton {
+ /* important to overwrite style attribute */
+ background-color: #555 !important;
+ color: inherit !important;
+}
+
+div.sidebar, aside.sidebar {
+ background-color: #424242;
+ border-color: #616161;
+}
+
+/* ANCHORS AND HIGHLIGHTS */
+div.body a {
+ color: #7af;
+}
+
+div.body a:visited {
+ color: #09e;
+}
+
+a.headerlink:hover {
+ background-color: #424242;
+}
+
+div.related a {
+ color: currentColor;
+}
+
+div.footer,
+div.footer a {
+ color: currentColor; /* classic overwrites */
+}
+
+dt:target,
+span.highlighted {
+ background-color: #616161;
+}
+
+.footnote:target {
+ background-color: #2c3e50;
+}
+
+/* Below for most things in text */
+
+dl.field-list > dt {
+ background-color: #434;
+}
+
+table.docutils td,
+table.docutils th {
+ border-color: #616161 !important;
+}
+
+table.docutils th {
+ background-color: #424242;
+}
+
+.stableabi {
+ color: #bbf;
+}
+
+div.body pre {
+ border-color: #616161;
+}
+
+code {
+ background-color: #424242;
+}
+
+div.body div.seealso {
+ background-color: rgba(255, 255, 0, 0.1);
+}
+
+div.warning {
+ background-color: rgba(255, 0, 0, 0.2);
+}
+
+.warning code {
+ background-color: rgba(255, 0, 0, 0.5);
+}
+
+/* Admonitions */
+:root {
+ --admonition-background: #ffffff1a;
+ --admonition-border: currentColor;
+ --admonition-color: #ffffffde;
+ --attention-background: #ffffff1a;
+ --attention-border: currentColor;
+ --caution-background: #ffff001a;
+ --caution-border: #dd6;
+ --danger-background: #f003;
+ --danger-border: #f66;
+ --error-background: #f003;
+ --error-border: #f66;
+ --hint-background: #0044117a;
+ --hint-border: green;
+ --seealso-background: #ffff001a;
+ --seealso-border: #dd6;
+ --tip-background: #0044117a;
+ --tip-border: green;
+ --warning-background: #ff000033;
+ --warning-border: #ff6666;
+}
+
+aside.topic,
+div.topic,
+div.note,
+nav.contents {
+ background-color: rgba(255, 255, 255, 0.1);
+ border-color: currentColor;
+}
+
+.note code {
+ background-color: rgba(255, 255, 255, 0.1);
+}
+
+.mobile-nav {
+ box-shadow: rgba(255, 255, 255, 0.25) 0 0 2px 0;
+}
+
+.nav-content {
+ background-color: black;
+}
+
+img.invert-in-dark-mode {
+ filter: invert(1) hue-rotate(.5turn);
+}
+
+/* -- object description styles --------------------------------------------- */
+
+/* C++ specific styling */
+
+/* Override Sphinx's basic.css to fix colour contrast */
+.sig.c .k, .sig.c .kt,
+.sig.cpp .k, .sig.cpp .kt {
+ color: #5283ff;
+}
+
+/* Version change directives */
+:root {
+ --versionadded: var(--good-color);
+ --versionchanged: var(--middle-color);
+ --deprecated: var(--bad-color);
+}
+
+.copybutton {
+ color: #ac9; /* follows div.body pre */
+ background-color: #222222; /* follows body */
+}
+
+.copybutton:hover {
+ background-color: #434343;
+}
+
+.copybutton:active {
+ background-color: #656565;
+}
diff --git a/_docs_/_static/pygments.css b/_docs_/_static/pygments.css
new file mode 100644
index 0000000..6f8b210
--- /dev/null
+++ b/_docs_/_static/pygments.css
@@ -0,0 +1,75 @@
+pre { line-height: 125%; }
+td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #f8f8f8; }
+.highlight .c { color: #3D7B7B; font-style: italic } /* Comment */
+.highlight .err { border: 1px solid #F00 } /* Error */
+.highlight .k { color: #008000; font-weight: bold } /* Keyword */
+.highlight .o { color: #666 } /* Operator */
+.highlight .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */
+.highlight .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */
+.highlight .cp { color: #9C6500 } /* Comment.Preproc */
+.highlight .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */
+.highlight .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */
+.highlight .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
+.highlight .gr { color: #E40000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #008400 } /* Generic.Inserted */
+.highlight .go { color: #717171 } /* Generic.Output */
+.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #04D } /* Generic.Traceback */
+.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #008000 } /* Keyword.Pseudo */
+.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #B00040 } /* Keyword.Type */
+.highlight .m { color: #666 } /* Literal.Number */
+.highlight .s { color: #BA2121 } /* Literal.String */
+.highlight .na { color: #687822 } /* Name.Attribute */
+.highlight .nb { color: #008000 } /* Name.Builtin */
+.highlight .nc { color: #00F; font-weight: bold } /* Name.Class */
+.highlight .no { color: #800 } /* Name.Constant */
+.highlight .nd { color: #A2F } /* Name.Decorator */
+.highlight .ni { color: #717171; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #00F } /* Name.Function */
+.highlight .nl { color: #767600 } /* Name.Label */
+.highlight .nn { color: #00F; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */
+.highlight .nv { color: #19177C } /* Name.Variable */
+.highlight .ow { color: #A2F; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #BBB } /* Text.Whitespace */
+.highlight .mb { color: #666 } /* Literal.Number.Bin */
+.highlight .mf { color: #666 } /* Literal.Number.Float */
+.highlight .mh { color: #666 } /* Literal.Number.Hex */
+.highlight .mi { color: #666 } /* Literal.Number.Integer */
+.highlight .mo { color: #666 } /* Literal.Number.Oct */
+.highlight .sa { color: #BA2121 } /* Literal.String.Affix */
+.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */
+.highlight .sc { color: #BA2121 } /* Literal.String.Char */
+.highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */
+.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
+.highlight .s2 { color: #BA2121 } /* Literal.String.Double */
+.highlight .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */
+.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */
+.highlight .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */
+.highlight .sx { color: #008000 } /* Literal.String.Other */
+.highlight .sr { color: #A45A77 } /* Literal.String.Regex */
+.highlight .s1 { color: #BA2121 } /* Literal.String.Single */
+.highlight .ss { color: #19177C } /* Literal.String.Symbol */
+.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #00F } /* Name.Function.Magic */
+.highlight .vc { color: #19177C } /* Name.Variable.Class */
+.highlight .vg { color: #19177C } /* Name.Variable.Global */
+.highlight .vi { color: #19177C } /* Name.Variable.Instance */
+.highlight .vm { color: #19177C } /* Name.Variable.Magic */
+.highlight .il { color: #666 } /* Literal.Number.Integer.Long */
\ No newline at end of file
diff --git a/_docs_/_static/pygments_dark.css b/_docs_/_static/pygments_dark.css
new file mode 100644
index 0000000..a5da35b
--- /dev/null
+++ b/_docs_/_static/pygments_dark.css
@@ -0,0 +1,85 @@
+pre { line-height: 125%; }
+td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+.highlight .hll { background-color: #49483e }
+.highlight { background: #272822; color: #F8F8F2 }
+.highlight .c { color: #959077 } /* Comment */
+.highlight .err { color: #ED007E; background-color: #1E0010 } /* Error */
+.highlight .esc { color: #F8F8F2 } /* Escape */
+.highlight .g { color: #F8F8F2 } /* Generic */
+.highlight .k { color: #66D9EF } /* Keyword */
+.highlight .l { color: #AE81FF } /* Literal */
+.highlight .n { color: #F8F8F2 } /* Name */
+.highlight .o { color: #FF4689 } /* Operator */
+.highlight .x { color: #F8F8F2 } /* Other */
+.highlight .p { color: #F8F8F2 } /* Punctuation */
+.highlight .ch { color: #959077 } /* Comment.Hashbang */
+.highlight .cm { color: #959077 } /* Comment.Multiline */
+.highlight .cp { color: #959077 } /* Comment.Preproc */
+.highlight .cpf { color: #959077 } /* Comment.PreprocFile */
+.highlight .c1 { color: #959077 } /* Comment.Single */
+.highlight .cs { color: #959077 } /* Comment.Special */
+.highlight .gd { color: #FF4689 } /* Generic.Deleted */
+.highlight .ge { color: #F8F8F2; font-style: italic } /* Generic.Emph */
+.highlight .ges { color: #F8F8F2; font-weight: bold; font-style: italic } /* Generic.EmphStrong */
+.highlight .gr { color: #F8F8F2 } /* Generic.Error */
+.highlight .gh { color: #F8F8F2 } /* Generic.Heading */
+.highlight .gi { color: #A6E22E } /* Generic.Inserted */
+.highlight .go { color: #66D9EF } /* Generic.Output */
+.highlight .gp { color: #FF4689; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { color: #F8F8F2; font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #959077 } /* Generic.Subheading */
+.highlight .gt { color: #F8F8F2 } /* Generic.Traceback */
+.highlight .kc { color: #66D9EF } /* Keyword.Constant */
+.highlight .kd { color: #66D9EF } /* Keyword.Declaration */
+.highlight .kn { color: #FF4689 } /* Keyword.Namespace */
+.highlight .kp { color: #66D9EF } /* Keyword.Pseudo */
+.highlight .kr { color: #66D9EF } /* Keyword.Reserved */
+.highlight .kt { color: #66D9EF } /* Keyword.Type */
+.highlight .ld { color: #E6DB74 } /* Literal.Date */
+.highlight .m { color: #AE81FF } /* Literal.Number */
+.highlight .s { color: #E6DB74 } /* Literal.String */
+.highlight .na { color: #A6E22E } /* Name.Attribute */
+.highlight .nb { color: #F8F8F2 } /* Name.Builtin */
+.highlight .nc { color: #A6E22E } /* Name.Class */
+.highlight .no { color: #66D9EF } /* Name.Constant */
+.highlight .nd { color: #A6E22E } /* Name.Decorator */
+.highlight .ni { color: #F8F8F2 } /* Name.Entity */
+.highlight .ne { color: #A6E22E } /* Name.Exception */
+.highlight .nf { color: #A6E22E } /* Name.Function */
+.highlight .nl { color: #F8F8F2 } /* Name.Label */
+.highlight .nn { color: #F8F8F2 } /* Name.Namespace */
+.highlight .nx { color: #A6E22E } /* Name.Other */
+.highlight .py { color: #F8F8F2 } /* Name.Property */
+.highlight .nt { color: #FF4689 } /* Name.Tag */
+.highlight .nv { color: #F8F8F2 } /* Name.Variable */
+.highlight .ow { color: #FF4689 } /* Operator.Word */
+.highlight .pm { color: #F8F8F2 } /* Punctuation.Marker */
+.highlight .w { color: #F8F8F2 } /* Text.Whitespace */
+.highlight .mb { color: #AE81FF } /* Literal.Number.Bin */
+.highlight .mf { color: #AE81FF } /* Literal.Number.Float */
+.highlight .mh { color: #AE81FF } /* Literal.Number.Hex */
+.highlight .mi { color: #AE81FF } /* Literal.Number.Integer */
+.highlight .mo { color: #AE81FF } /* Literal.Number.Oct */
+.highlight .sa { color: #E6DB74 } /* Literal.String.Affix */
+.highlight .sb { color: #E6DB74 } /* Literal.String.Backtick */
+.highlight .sc { color: #E6DB74 } /* Literal.String.Char */
+.highlight .dl { color: #E6DB74 } /* Literal.String.Delimiter */
+.highlight .sd { color: #E6DB74 } /* Literal.String.Doc */
+.highlight .s2 { color: #E6DB74 } /* Literal.String.Double */
+.highlight .se { color: #AE81FF } /* Literal.String.Escape */
+.highlight .sh { color: #E6DB74 } /* Literal.String.Heredoc */
+.highlight .si { color: #E6DB74 } /* Literal.String.Interpol */
+.highlight .sx { color: #E6DB74 } /* Literal.String.Other */
+.highlight .sr { color: #E6DB74 } /* Literal.String.Regex */
+.highlight .s1 { color: #E6DB74 } /* Literal.String.Single */
+.highlight .ss { color: #E6DB74 } /* Literal.String.Symbol */
+.highlight .bp { color: #F8F8F2 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #A6E22E } /* Name.Function.Magic */
+.highlight .vc { color: #F8F8F2 } /* Name.Variable.Class */
+.highlight .vg { color: #F8F8F2 } /* Name.Variable.Global */
+.highlight .vi { color: #F8F8F2 } /* Name.Variable.Instance */
+.highlight .vm { color: #F8F8F2 } /* Name.Variable.Magic */
+.highlight .il { color: #AE81FF } /* Literal.Number.Integer.Long */
\ No newline at end of file
diff --git a/_docs_/_static/search-focus.js b/_docs_/_static/search-focus.js
new file mode 100644
index 0000000..aa5b42f
--- /dev/null
+++ b/_docs_/_static/search-focus.js
@@ -0,0 +1,21 @@
+function isInputFocused() {
+ const activeElement = document.activeElement;
+ return (
+ activeElement.tagName === 'INPUT' ||
+ activeElement.tagName === 'TEXTAREA' ||
+ activeElement.isContentEditable
+ );
+}
+
+document.addEventListener('keydown', function(event) {
+ if (event.key === '/') {
+ if (!isInputFocused()) {
+ // Prevent "/" from being entered in the search box
+ event.preventDefault();
+
+ // Set the focus on the search box
+ const searchBox = document.getElementById('search-box');
+ searchBox.focus();
+ }
+ }
+});
diff --git a/_docs_/_static/searchtools.js b/_docs_/_static/searchtools.js
new file mode 100644
index 0000000..91f4be5
--- /dev/null
+++ b/_docs_/_static/searchtools.js
@@ -0,0 +1,635 @@
+/*
+ * Sphinx JavaScript utilities for the full-text search.
+ */
+"use strict";
+
+/**
+ * Simple result scoring code.
+ */
+if (typeof Scorer === "undefined") {
+ var Scorer = {
+ // Implement the following function to further tweak the score for each result
+ // The function takes a result array [docname, title, anchor, descr, score, filename]
+ // and returns the new score.
+ /*
+ score: result => {
+ const [docname, title, anchor, descr, score, filename, kind] = result
+ return score
+ },
+ */
+
+ // query matches the full name of an object
+ objNameMatch: 11,
+ // or matches in the last dotted part of the object name
+ objPartialMatch: 6,
+ // Additive scores depending on the priority of the object
+ objPrio: {
+ 0: 15, // used to be importantResults
+ 1: 5, // used to be objectResults
+ 2: -5, // used to be unimportantResults
+ },
+ // Used when the priority is not in the mapping.
+ objPrioDefault: 0,
+
+ // query found in title
+ title: 15,
+ partialTitle: 7,
+ // query found in terms
+ term: 5,
+ partialTerm: 2,
+ };
+}
+
+// Global search result kind enum, used by themes to style search results.
+class SearchResultKind {
+ static get index() { return "index"; }
+ static get object() { return "object"; }
+ static get text() { return "text"; }
+ static get title() { return "title"; }
+}
+
+const _removeChildren = (element) => {
+ while (element && element.lastChild) element.removeChild(element.lastChild);
+};
+
+/**
+ * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping
+ */
+const _escapeRegExp = (string) =>
+ string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
+
+const _displayItem = (item, searchTerms, highlightTerms) => {
+ const docBuilder = DOCUMENTATION_OPTIONS.BUILDER;
+ const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX;
+ const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX;
+ const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY;
+ const contentRoot = document.documentElement.dataset.content_root;
+
+ const [docName, title, anchor, descr, score, _filename, kind] = item;
+
+ let listItem = document.createElement("li");
+ // Add a class representing the item's type:
+ // can be used by a theme's CSS selector for styling
+ // See SearchResultKind for the class names.
+ listItem.classList.add(`kind-${kind}`);
+ let requestUrl;
+ let linkUrl;
+ if (docBuilder === "dirhtml") {
+ // dirhtml builder
+ let dirname = docName + "/";
+ if (dirname.match(/\/index\/$/))
+ dirname = dirname.substring(0, dirname.length - 6);
+ else if (dirname === "index/") dirname = "";
+ requestUrl = contentRoot + dirname;
+ linkUrl = requestUrl;
+ } else {
+ // normal html builders
+ requestUrl = contentRoot + docName + docFileSuffix;
+ linkUrl = docName + docLinkSuffix;
+ }
+ let linkEl = listItem.appendChild(document.createElement("a"));
+ linkEl.href = linkUrl + anchor;
+ linkEl.dataset.score = score;
+ linkEl.innerHTML = title;
+ if (descr) {
+ listItem.appendChild(document.createElement("span")).innerHTML =
+ " (" + descr + ")";
+ // highlight search terms in the description
+ if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js
+ highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted"));
+ }
+ else if (showSearchSummary)
+ fetch(requestUrl)
+ .then((responseData) => responseData.text())
+ .then((data) => {
+ if (data)
+ listItem.appendChild(
+ Search.makeSearchSummary(data, searchTerms, anchor)
+ );
+ // highlight search terms in the summary
+ if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js
+ highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted"));
+ });
+ Search.output.appendChild(listItem);
+};
+const _finishSearch = (resultCount) => {
+ Search.stopPulse();
+ Search.title.innerText = _("Search Results");
+ if (!resultCount)
+ Search.status.innerText = Documentation.gettext(
+ "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories."
+ );
+ else
+ Search.status.innerText = Documentation.ngettext(
+ "Search finished, found one page matching the search query.",
+ "Search finished, found ${resultCount} pages matching the search query.",
+ resultCount,
+ ).replace('${resultCount}', resultCount);
+};
+const _displayNextItem = (
+ results,
+ resultCount,
+ searchTerms,
+ highlightTerms,
+) => {
+ // results left, load the summary and display it
+ // this is intended to be dynamic (don't sub resultsCount)
+ if (results.length) {
+ _displayItem(results.pop(), searchTerms, highlightTerms);
+ setTimeout(
+ () => _displayNextItem(results, resultCount, searchTerms, highlightTerms),
+ 5
+ );
+ }
+ // search finished, update title and status message
+ else _finishSearch(resultCount);
+};
+// Helper function used by query() to order search results.
+// Each input is an array of [docname, title, anchor, descr, score, filename, kind].
+// Order the results by score (in opposite order of appearance, since the
+// `_displayNextItem` function uses pop() to retrieve items) and then alphabetically.
+const _orderResultsByScoreThenName = (a, b) => {
+ const leftScore = a[4];
+ const rightScore = b[4];
+ if (leftScore === rightScore) {
+ // same score: sort alphabetically
+ const leftTitle = a[1].toLowerCase();
+ const rightTitle = b[1].toLowerCase();
+ if (leftTitle === rightTitle) return 0;
+ return leftTitle > rightTitle ? -1 : 1; // inverted is intentional
+ }
+ return leftScore > rightScore ? 1 : -1;
+};
+
+/**
+ * Default splitQuery function. Can be overridden in ``sphinx.search`` with a
+ * custom function per language.
+ *
+ * The regular expression works by splitting the string on consecutive characters
+ * that are not Unicode letters, numbers, underscores, or emoji characters.
+ * This is the same as ``\W+`` in Python, preserving the surrogate pair area.
+ */
+if (typeof splitQuery === "undefined") {
+ var splitQuery = (query) => query
+ .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}]+/gu)
+ .filter(term => term) // remove remaining empty strings
+}
+
+/**
+ * Search Module
+ */
+const Search = {
+ _index: null,
+ _queued_query: null,
+ _pulse_status: -1,
+
+ htmlToText: (htmlString, anchor) => {
+ const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html');
+ for (const removalQuery of [".headerlink", "script", "style"]) {
+ htmlElement.querySelectorAll(removalQuery).forEach((el) => { el.remove() });
+ }
+ if (anchor) {
+ const anchorContent = htmlElement.querySelector(`[role="main"] ${anchor}`);
+ if (anchorContent) return anchorContent.textContent;
+
+ console.warn(
+ `Anchored content block not found. Sphinx search tries to obtain it via DOM query '[role=main] ${anchor}'. Check your theme or template.`
+ );
+ }
+
+ // if anchor not specified or not found, fall back to main content
+ const docContent = htmlElement.querySelector('[role="main"]');
+ if (docContent) return docContent.textContent;
+
+ console.warn(
+ "Content block not found. Sphinx search tries to obtain it via DOM query '[role=main]'. Check your theme or template."
+ );
+ return "";
+ },
+
+ init: () => {
+ const query = new URLSearchParams(window.location.search).get("q");
+ document
+ .querySelectorAll('input[name="q"]')
+ .forEach((el) => (el.value = query));
+ if (query) Search.performSearch(query);
+ },
+
+ loadIndex: (url) =>
+ (document.body.appendChild(document.createElement("script")).src = url),
+
+ setIndex: (index) => {
+ Search._index = index;
+ if (Search._queued_query !== null) {
+ const query = Search._queued_query;
+ Search._queued_query = null;
+ Search.query(query);
+ }
+ },
+
+ hasIndex: () => Search._index !== null,
+
+ deferQuery: (query) => (Search._queued_query = query),
+
+ stopPulse: () => (Search._pulse_status = -1),
+
+ startPulse: () => {
+ if (Search._pulse_status >= 0) return;
+
+ const pulse = () => {
+ Search._pulse_status = (Search._pulse_status + 1) % 4;
+ Search.dots.innerText = ".".repeat(Search._pulse_status);
+ if (Search._pulse_status >= 0) window.setTimeout(pulse, 500);
+ };
+ pulse();
+ },
+
+ /**
+ * perform a search for something (or wait until index is loaded)
+ */
+ performSearch: (query) => {
+ // create the required interface elements
+ const searchText = document.createElement("h2");
+ searchText.textContent = _("Searching");
+ const searchSummary = document.createElement("p");
+ searchSummary.classList.add("search-summary");
+ searchSummary.innerText = "";
+ const searchList = document.createElement("ul");
+ searchList.setAttribute("role", "list");
+ searchList.classList.add("search");
+
+ const out = document.getElementById("search-results");
+ Search.title = out.appendChild(searchText);
+ Search.dots = Search.title.appendChild(document.createElement("span"));
+ Search.status = out.appendChild(searchSummary);
+ Search.output = out.appendChild(searchList);
+
+ const searchProgress = document.getElementById("search-progress");
+ // Some themes don't use the search progress node
+ if (searchProgress) {
+ searchProgress.innerText = _("Preparing search...");
+ }
+ Search.startPulse();
+
+ // index already loaded, the browser was quick!
+ if (Search.hasIndex()) Search.query(query);
+ else Search.deferQuery(query);
+ },
+
+ _parseQuery: (query) => {
+ // stem the search terms and add them to the correct list
+ const stemmer = new Stemmer();
+ const searchTerms = new Set();
+ const excludedTerms = new Set();
+ const highlightTerms = new Set();
+ const objectTerms = new Set(splitQuery(query.toLowerCase().trim()));
+ splitQuery(query.trim()).forEach((queryTerm) => {
+ const queryTermLower = queryTerm.toLowerCase();
+
+ // maybe skip this "word"
+ // stopwords array is from language_data.js
+ if (
+ stopwords.indexOf(queryTermLower) !== -1 ||
+ queryTerm.match(/^\d+$/)
+ )
+ return;
+
+ // stem the word
+ let word = stemmer.stemWord(queryTermLower);
+ // select the correct list
+ if (word[0] === "-") excludedTerms.add(word.substr(1));
+ else {
+ searchTerms.add(word);
+ highlightTerms.add(queryTermLower);
+ }
+ });
+
+ if (SPHINX_HIGHLIGHT_ENABLED) { // set in sphinx_highlight.js
+ localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" "))
+ }
+
+ // console.debug("SEARCH: searching for:");
+ // console.info("required: ", [...searchTerms]);
+ // console.info("excluded: ", [...excludedTerms]);
+
+ return [query, searchTerms, excludedTerms, highlightTerms, objectTerms];
+ },
+
+ /**
+ * execute search (requires search index to be loaded)
+ */
+ _performSearch: (query, searchTerms, excludedTerms, highlightTerms, objectTerms) => {
+ const filenames = Search._index.filenames;
+ const docNames = Search._index.docnames;
+ const titles = Search._index.titles;
+ const allTitles = Search._index.alltitles;
+ const indexEntries = Search._index.indexentries;
+
+ // Collect multiple result groups to be sorted separately and then ordered.
+ // Each is an array of [docname, title, anchor, descr, score, filename, kind].
+ const normalResults = [];
+ const nonMainIndexResults = [];
+
+ _removeChildren(document.getElementById("search-progress"));
+
+ const queryLower = query.toLowerCase().trim();
+ for (const [title, foundTitles] of Object.entries(allTitles)) {
+ if (title.toLowerCase().trim().includes(queryLower) && (queryLower.length >= title.length/2)) {
+ for (const [file, id] of foundTitles) {
+ const score = Math.round(Scorer.title * queryLower.length / title.length);
+ const boost = titles[file] === title ? 1 : 0; // add a boost for document titles
+ normalResults.push([
+ docNames[file],
+ titles[file] !== title ? `${titles[file]} > ${title}` : title,
+ id !== null ? "#" + id : "",
+ null,
+ score + boost,
+ filenames[file],
+ SearchResultKind.title,
+ ]);
+ }
+ }
+ }
+
+ // search for explicit entries in index directives
+ for (const [entry, foundEntries] of Object.entries(indexEntries)) {
+ if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) {
+ for (const [file, id, isMain] of foundEntries) {
+ const score = Math.round(100 * queryLower.length / entry.length);
+ const result = [
+ docNames[file],
+ titles[file],
+ id ? "#" + id : "",
+ null,
+ score,
+ filenames[file],
+ SearchResultKind.index,
+ ];
+ if (isMain) {
+ normalResults.push(result);
+ } else {
+ nonMainIndexResults.push(result);
+ }
+ }
+ }
+ }
+
+ // lookup as object
+ objectTerms.forEach((term) =>
+ normalResults.push(...Search.performObjectSearch(term, objectTerms))
+ );
+
+ // lookup as search terms in fulltext
+ normalResults.push(...Search.performTermsSearch(searchTerms, excludedTerms));
+
+ // let the scorer override scores with a custom scoring function
+ if (Scorer.score) {
+ normalResults.forEach((item) => (item[4] = Scorer.score(item)));
+ nonMainIndexResults.forEach((item) => (item[4] = Scorer.score(item)));
+ }
+
+ // Sort each group of results by score and then alphabetically by name.
+ normalResults.sort(_orderResultsByScoreThenName);
+ nonMainIndexResults.sort(_orderResultsByScoreThenName);
+
+ // Combine the result groups in (reverse) order.
+ // Non-main index entries are typically arbitrary cross-references,
+ // so display them after other results.
+ let results = [...nonMainIndexResults, ...normalResults];
+
+ // remove duplicate search results
+ // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept
+ let seen = new Set();
+ results = results.reverse().reduce((acc, result) => {
+ let resultStr = result.slice(0, 4).concat([result[5]]).map(v => String(v)).join(',');
+ if (!seen.has(resultStr)) {
+ acc.push(result);
+ seen.add(resultStr);
+ }
+ return acc;
+ }, []);
+
+ return results.reverse();
+ },
+
+ query: (query) => {
+ const [searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms] = Search._parseQuery(query);
+ const results = Search._performSearch(searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms);
+
+ // for debugging
+ //Search.lastresults = results.slice(); // a copy
+ // console.info("search results:", Search.lastresults);
+
+ // print the results
+ _displayNextItem(results, results.length, searchTerms, highlightTerms);
+ },
+
+ /**
+ * search for object names
+ */
+ performObjectSearch: (object, objectTerms) => {
+ const filenames = Search._index.filenames;
+ const docNames = Search._index.docnames;
+ const objects = Search._index.objects;
+ const objNames = Search._index.objnames;
+ const titles = Search._index.titles;
+
+ const results = [];
+
+ const objectSearchCallback = (prefix, match) => {
+ const name = match[4]
+ const fullname = (prefix ? prefix + "." : "") + name;
+ const fullnameLower = fullname.toLowerCase();
+ if (fullnameLower.indexOf(object) < 0) return;
+
+ let score = 0;
+ const parts = fullnameLower.split(".");
+
+ // check for different match types: exact matches of full name or
+ // "last name" (i.e. last dotted part)
+ if (fullnameLower === object || parts.slice(-1)[0] === object)
+ score += Scorer.objNameMatch;
+ else if (parts.slice(-1)[0].indexOf(object) > -1)
+ score += Scorer.objPartialMatch; // matches in last name
+
+ const objName = objNames[match[1]][2];
+ const title = titles[match[0]];
+
+ // If more than one term searched for, we require other words to be
+ // found in the name/title/description
+ const otherTerms = new Set(objectTerms);
+ otherTerms.delete(object);
+ if (otherTerms.size > 0) {
+ const haystack = `${prefix} ${name} ${objName} ${title}`.toLowerCase();
+ if (
+ [...otherTerms].some((otherTerm) => haystack.indexOf(otherTerm) < 0)
+ )
+ return;
+ }
+
+ let anchor = match[3];
+ if (anchor === "") anchor = fullname;
+ else if (anchor === "-") anchor = objNames[match[1]][1] + "-" + fullname;
+
+ const descr = objName + _(", in ") + title;
+
+ // add custom score for some objects according to scorer
+ if (Scorer.objPrio.hasOwnProperty(match[2]))
+ score += Scorer.objPrio[match[2]];
+ else score += Scorer.objPrioDefault;
+
+ results.push([
+ docNames[match[0]],
+ fullname,
+ "#" + anchor,
+ descr,
+ score,
+ filenames[match[0]],
+ SearchResultKind.object,
+ ]);
+ };
+ Object.keys(objects).forEach((prefix) =>
+ objects[prefix].forEach((array) =>
+ objectSearchCallback(prefix, array)
+ )
+ );
+ return results;
+ },
+
+ /**
+ * search for full-text terms in the index
+ */
+ performTermsSearch: (searchTerms, excludedTerms) => {
+ // prepare search
+ const terms = Search._index.terms;
+ const titleTerms = Search._index.titleterms;
+ const filenames = Search._index.filenames;
+ const docNames = Search._index.docnames;
+ const titles = Search._index.titles;
+
+ const scoreMap = new Map();
+ const fileMap = new Map();
+
+ // perform the search on the required terms
+ searchTerms.forEach((word) => {
+ const files = [];
+ // find documents, if any, containing the query word in their text/title term indices
+ // use Object.hasOwnProperty to avoid mismatching against prototype properties
+ const arr = [
+ { files: terms.hasOwnProperty(word) ? terms[word] : undefined, score: Scorer.term },
+ { files: titleTerms.hasOwnProperty(word) ? titleTerms[word] : undefined, score: Scorer.title },
+ ];
+ // add support for partial matches
+ if (word.length > 2) {
+ const escapedWord = _escapeRegExp(word);
+ if (!terms.hasOwnProperty(word)) {
+ Object.keys(terms).forEach((term) => {
+ if (term.match(escapedWord))
+ arr.push({ files: terms[term], score: Scorer.partialTerm });
+ });
+ }
+ if (!titleTerms.hasOwnProperty(word)) {
+ Object.keys(titleTerms).forEach((term) => {
+ if (term.match(escapedWord))
+ arr.push({ files: titleTerms[term], score: Scorer.partialTitle });
+ });
+ }
+ }
+
+ // no match but word was a required one
+ if (arr.every((record) => record.files === undefined)) return;
+
+ // found search word in contents
+ arr.forEach((record) => {
+ if (record.files === undefined) return;
+
+ let recordFiles = record.files;
+ if (recordFiles.length === undefined) recordFiles = [recordFiles];
+ files.push(...recordFiles);
+
+ // set score for the word in each file
+ recordFiles.forEach((file) => {
+ if (!scoreMap.has(file)) scoreMap.set(file, new Map());
+ const fileScores = scoreMap.get(file);
+ fileScores.set(word, record.score);
+ });
+ });
+
+ // create the mapping
+ files.forEach((file) => {
+ if (!fileMap.has(file)) fileMap.set(file, [word]);
+ else if (fileMap.get(file).indexOf(word) === -1) fileMap.get(file).push(word);
+ });
+ });
+
+ // now check if the files don't contain excluded terms
+ const results = [];
+ for (const [file, wordList] of fileMap) {
+ // check if all requirements are matched
+
+ // as search terms with length < 3 are discarded
+ const filteredTermCount = [...searchTerms].filter(
+ (term) => term.length > 2
+ ).length;
+ if (
+ wordList.length !== searchTerms.size &&
+ wordList.length !== filteredTermCount
+ )
+ continue;
+
+ // ensure that none of the excluded terms is in the search result
+ if (
+ [...excludedTerms].some(
+ (term) =>
+ terms[term] === file ||
+ titleTerms[term] === file ||
+ (terms[term] || []).includes(file) ||
+ (titleTerms[term] || []).includes(file)
+ )
+ )
+ break;
+
+ // select one (max) score for the file.
+ const score = Math.max(...wordList.map((w) => scoreMap.get(file).get(w)));
+ // add result to the result list
+ results.push([
+ docNames[file],
+ titles[file],
+ "",
+ null,
+ score,
+ filenames[file],
+ SearchResultKind.text,
+ ]);
+ }
+ return results;
+ },
+
+ /**
+ * helper function to return a node containing the
+ * search summary for a given text. keywords is a list
+ * of stemmed words.
+ */
+ makeSearchSummary: (htmlText, keywords, anchor) => {
+ const text = Search.htmlToText(htmlText, anchor);
+ if (text === "") return null;
+
+ const textLower = text.toLowerCase();
+ const actualStartPosition = [...keywords]
+ .map((k) => textLower.indexOf(k.toLowerCase()))
+ .filter((i) => i > -1)
+ .slice(-1)[0];
+ const startWithContext = Math.max(actualStartPosition - 120, 0);
+
+ const top = startWithContext === 0 ? "" : "...";
+ const tail = startWithContext + 240 < text.length ? "..." : "";
+
+ let summary = document.createElement("p");
+ summary.classList.add("context");
+ summary.textContent = top + text.substr(startWithContext, 240).trim() + tail;
+
+ return summary;
+ },
+};
+
+_ready(Search.init);
diff --git a/_docs_/_static/sidebar.js b/_docs_/_static/sidebar.js
new file mode 100644
index 0000000..ac7b39e
--- /dev/null
+++ b/_docs_/_static/sidebar.js
@@ -0,0 +1,64 @@
+/*
+ * This script makes the Sphinx sidebar collapsible.
+ *
+ * .sphinxsidebar contains .sphinxsidebarwrapper. This script adds
+ * in .sphixsidebar, after .sphinxsidebarwrapper, the #sidebarbutton
+ * used to collapse and expand the sidebar.
+ *
+ * When the sidebar is collapsed the .sphinxsidebarwrapper is hidden
+ * and the width of the sidebar and the margin-left of the document
+ * are decreased. When the sidebar is expanded the opposite happens.
+ * This script saves a per-browser/per-session cookie used to
+ * remember the position of the sidebar among the pages.
+ * Once the browser is closed the cookie is deleted and the position
+ * reset to the default (expanded).
+ *
+ */
+
+const initialiseSidebar = () => {
+
+
+
+
+ // global elements used by the functions.
+ const bodyWrapper = document.getElementsByClassName("bodywrapper")[0]
+ const sidebar = document.getElementsByClassName("sphinxsidebar")[0]
+ const sidebarWrapper = document.getElementsByClassName('sphinxsidebarwrapper')[0]
+ const sidebarButton = document.getElementById("sidebarbutton")
+ const sidebarArrow = sidebarButton.querySelector('span')
+
+ // for some reason, the document has no sidebar; do not run into errors
+ if (typeof sidebar === "undefined") return;
+
+ const flipArrow = element => element.innerText = (element.innerText === "»") ? "«" : "»"
+
+ const collapse_sidebar = () => {
+ bodyWrapper.style.marginLeft = ".8em";
+ sidebar.style.width = ".8em"
+ sidebarWrapper.style.display = "none"
+ flipArrow(sidebarArrow)
+ sidebarButton.title = _('Expand sidebar')
+ window.localStorage.setItem("sidebar", "collapsed")
+ }
+
+ const expand_sidebar = () => {
+ bodyWrapper.style.marginLeft = ""
+ sidebar.style.removeProperty("width")
+ sidebarWrapper.style.display = ""
+ flipArrow(sidebarArrow)
+ sidebarButton.title = _('Collapse sidebar')
+ window.localStorage.setItem("sidebar", "expanded")
+ }
+
+ sidebarButton.addEventListener("click", () => {
+ (sidebarWrapper.style.display === "none") ? expand_sidebar() : collapse_sidebar()
+ })
+
+ if (!window.localStorage.getItem("sidebar")) return
+ const value = window.localStorage.getItem("sidebar")
+ if (value === "collapsed") collapse_sidebar();
+ else if (value === "expanded") expand_sidebar();
+}
+
+if (document.readyState !== "loading") initialiseSidebar()
+else document.addEventListener("DOMContentLoaded", initialiseSidebar)
\ No newline at end of file
diff --git a/_docs_/_static/sphinx_highlight.js b/_docs_/_static/sphinx_highlight.js
new file mode 100644
index 0000000..8a96c69
--- /dev/null
+++ b/_docs_/_static/sphinx_highlight.js
@@ -0,0 +1,154 @@
+/* Highlighting utilities for Sphinx HTML documentation. */
+"use strict";
+
+const SPHINX_HIGHLIGHT_ENABLED = true
+
+/**
+ * highlight a given string on a node by wrapping it in
+ * span elements with the given class name.
+ */
+const _highlight = (node, addItems, text, className) => {
+ if (node.nodeType === Node.TEXT_NODE) {
+ const val = node.nodeValue;
+ const parent = node.parentNode;
+ const pos = val.toLowerCase().indexOf(text);
+ if (
+ pos >= 0 &&
+ !parent.classList.contains(className) &&
+ !parent.classList.contains("nohighlight")
+ ) {
+ let span;
+
+ const closestNode = parent.closest("body, svg, foreignObject");
+ const isInSVG = closestNode && closestNode.matches("svg");
+ if (isInSVG) {
+ span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
+ } else {
+ span = document.createElement("span");
+ span.classList.add(className);
+ }
+
+ span.appendChild(document.createTextNode(val.substr(pos, text.length)));
+ const rest = document.createTextNode(val.substr(pos + text.length));
+ parent.insertBefore(
+ span,
+ parent.insertBefore(
+ rest,
+ node.nextSibling
+ )
+ );
+ node.nodeValue = val.substr(0, pos);
+ /* There may be more occurrences of search term in this node. So call this
+ * function recursively on the remaining fragment.
+ */
+ _highlight(rest, addItems, text, className);
+
+ if (isInSVG) {
+ const rect = document.createElementNS(
+ "http://www.w3.org/2000/svg",
+ "rect"
+ );
+ const bbox = parent.getBBox();
+ rect.x.baseVal.value = bbox.x;
+ rect.y.baseVal.value = bbox.y;
+ rect.width.baseVal.value = bbox.width;
+ rect.height.baseVal.value = bbox.height;
+ rect.setAttribute("class", className);
+ addItems.push({ parent: parent, target: rect });
+ }
+ }
+ } else if (node.matches && !node.matches("button, select, textarea")) {
+ node.childNodes.forEach((el) => _highlight(el, addItems, text, className));
+ }
+};
+const _highlightText = (thisNode, text, className) => {
+ let addItems = [];
+ _highlight(thisNode, addItems, text, className);
+ addItems.forEach((obj) =>
+ obj.parent.insertAdjacentElement("beforebegin", obj.target)
+ );
+};
+
+/**
+ * Small JavaScript module for the documentation.
+ */
+const SphinxHighlight = {
+
+ /**
+ * highlight the search words provided in localstorage in the text
+ */
+ highlightSearchWords: () => {
+ if (!SPHINX_HIGHLIGHT_ENABLED) return; // bail if no highlight
+
+ // get and clear terms from localstorage
+ const url = new URL(window.location);
+ const highlight =
+ localStorage.getItem("sphinx_highlight_terms")
+ || url.searchParams.get("highlight")
+ || "";
+ localStorage.removeItem("sphinx_highlight_terms")
+ url.searchParams.delete("highlight");
+ window.history.replaceState({}, "", url);
+
+ // get individual terms from highlight string
+ const terms = highlight.toLowerCase().split(/\s+/).filter(x => x);
+ if (terms.length === 0) return; // nothing to do
+
+ // There should never be more than one element matching "div.body"
+ const divBody = document.querySelectorAll("div.body");
+ const body = divBody.length ? divBody[0] : document.querySelector("body");
+ window.setTimeout(() => {
+ terms.forEach((term) => _highlightText(body, term, "highlighted"));
+ }, 10);
+
+ const searchBox = document.getElementById("searchbox");
+ if (searchBox === null) return;
+ searchBox.appendChild(
+ document
+ .createRange()
+ .createContextualFragment(
+ '' +
+ '' +
+ _("Hide Search Matches") +
+ "
"
+ )
+ );
+ },
+
+ /**
+ * helper function to hide the search marks again
+ */
+ hideSearchWords: () => {
+ document
+ .querySelectorAll("#searchbox .highlight-link")
+ .forEach((el) => el.remove());
+ document
+ .querySelectorAll("span.highlighted")
+ .forEach((el) => el.classList.remove("highlighted"));
+ localStorage.removeItem("sphinx_highlight_terms")
+ },
+
+ initEscapeListener: () => {
+ // only install a listener if it is really needed
+ if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) return;
+
+ document.addEventListener("keydown", (event) => {
+ // bail for input elements
+ if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return;
+ // bail with special keys
+ if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return;
+ if (DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS && (event.key === "Escape")) {
+ SphinxHighlight.hideSearchWords();
+ event.preventDefault();
+ }
+ });
+ },
+};
+
+_ready(() => {
+ /* Do not call highlightSearchWords() when we are on the search page.
+ * It will highlight words from the *previous* search query.
+ */
+ if (typeof Search === "undefined") SphinxHighlight.highlightSearchWords();
+ SphinxHighlight.initEscapeListener();
+});
diff --git a/_docs_/_static/themetoggle.js b/_docs_/_static/themetoggle.js
new file mode 100644
index 0000000..f9394c6
--- /dev/null
+++ b/_docs_/_static/themetoggle.js
@@ -0,0 +1,24 @@
+const pydocthemeDark = document.getElementById('pydoctheme_dark_css')
+const pygmentsDark = document.getElementById('pygments_dark_css')
+const themeSelectors = document.getElementsByClassName('theme-selector')
+
+function activateTheme(theme) {
+ localStorage.setItem('currentTheme', theme);
+ [...themeSelectors].forEach(e => e.value = theme)
+ switch (theme) {
+ case 'light':
+ pydocthemeDark.media = 'not all'
+ pygmentsDark.media = 'not all'
+ break;
+ case 'dark':
+ pydocthemeDark.media = 'all'
+ pygmentsDark.media = 'all'
+ break;
+ default:
+ // auto
+ pydocthemeDark.media = '(prefers-color-scheme: dark)'
+ pygmentsDark.media = '(prefers-color-scheme: dark)'
+ }
+}
+
+activateTheme(localStorage.getItem('currentTheme') || 'auto')
diff --git a/_docs_/genindex.html b/_docs_/genindex.html
new file mode 100644
index 0000000..6eb4047
--- /dev/null
+++ b/_docs_/genindex.html
@@ -0,0 +1,428 @@
+
+
+
+
+
+
+ Index — media documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index
+
+
+
C
+ |
D
+ |
F
+ |
G
+ |
I
+ |
J
+ |
L
+ |
M
+ |
Q
+ |
R
+ |
S
+ |
T
+ |
W
+
+
+
C
+
+
+
D
+
+
+
F
+
+
+
G
+
+
+
I
+
+
+
J
+
+
+
L
+
+
+
M
+
+
+ -
+ media
+
+
+ -
+ media.CDDB
+
+
+ -
+ media.common
+
+
+ -
+ media.convert
+
+
+ -
+ media.image
+
+
+ |
+ |
+
+
+
Q
+
+
+
R
+
+
+
S
+
+
+
T
+
+
+
W
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_docs_/index.html b/_docs_/index.html
new file mode 100644
index 0000000..839512b
--- /dev/null
+++ b/_docs_/index.html
@@ -0,0 +1,506 @@
+
+
+
+
+
+
+
+ media package — media documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_docs_/objects.inv b/_docs_/objects.inv
new file mode 100644
index 0000000..99c414c
Binary files /dev/null and b/_docs_/objects.inv differ
diff --git a/_docs_/py-modindex.html b/_docs_/py-modindex.html
new file mode 100644
index 0000000..7296fae
--- /dev/null
+++ b/_docs_/py-modindex.html
@@ -0,0 +1,260 @@
+
+
+
+
+
+
+ Python Module Index — media documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Python Module Index
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_docs_/search.html b/_docs_/search.html
new file mode 100644
index 0000000..85b8f34
--- /dev/null
+++ b/_docs_/search.html
@@ -0,0 +1,198 @@
+
+
+
+
+
+
+ Search — media documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Search
+
+
+
+
+
+ Searching for multiple words only shows matches that contain
+ all words.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_docs_/searchindex.js b/_docs_/searchindex.js
new file mode 100644
index 0000000..c9162e1
--- /dev/null
+++ b/_docs_/searchindex.js
@@ -0,0 +1 @@
+Search.setIndex({"alltitles":{"1. Copyright and Related Rights.":[[3,"copyright-and-related-rights"],[10,"copyright-and-related-rights"]],"2. Waiver.":[[3,"waiver"],[10,"waiver"]],"3. Public License Fallback.":[[3,"public-license-fallback"],[10,"public-license-fallback"]],"4. Limitations and Disclaimers.":[[3,"limitations-and-disclaimers"],[10,"limitations-and-disclaimers"]],"CC0 1.0 Universal licence":[[3,"cc0-1-0-universal-licence"],[10,"cc0-1-0-universal-licence"]],"Licence":[[3,null],[10,null]],"License for Sphinx":[[4,null],[11,null]],"Statement of Purpose":[[3,"statement-of-purpose"],[10,"statement-of-purpose"]],"Submodules":[[0,"submodules"]],"The MIT License (MIT)":[[2,null],[9,null]],"Zero-Clause BSD Licence":[[3,"zero-clause-bsd-licence"],[10,"zero-clause-bsd-licence"]],"media (Media Tools)":[[0,"media-media-tools"]],"media package":[[0,null]],"media.CDDB module":[[0,"module-media.CDDB"]],"media.common module":[[0,"module-media.common"]],"media.convert module":[[0,"module-media.convert"]],"media.image module":[[0,"module-media.image"]],"media.metadata module":[[0,"module-media.metadata"]]},"docnames":["index","venv/lib/python3.13/site-packages/alabaster-1.0.0.dist-info/LICENSE","venv/lib/python3.13/site-packages/imagesize-1.4.1.dist-info/LICENSE","venv/lib/python3.13/site-packages/roman_numerals_py-3.1.0.dist-info/licenses/LICENCE","venv/lib/python3.13/site-packages/sphinx-8.2.3.dist-info/licenses/LICENSE","venv/lib/python3.13/site-packages/sphinx/ext/autosummary/templates/autosummary/base","venv/lib/python3.13/site-packages/sphinx/ext/autosummary/templates/autosummary/class","venv/lib/python3.13/site-packages/sphinx/ext/autosummary/templates/autosummary/module","venv/lib64/python3.13/site-packages/alabaster-1.0.0.dist-info/LICENSE","venv/lib64/python3.13/site-packages/imagesize-1.4.1.dist-info/LICENSE","venv/lib64/python3.13/site-packages/roman_numerals_py-3.1.0.dist-info/licenses/LICENCE","venv/lib64/python3.13/site-packages/sphinx-8.2.3.dist-info/licenses/LICENSE","venv/lib64/python3.13/site-packages/sphinx/ext/autosummary/templates/autosummary/base","venv/lib64/python3.13/site-packages/sphinx/ext/autosummary/templates/autosummary/class","venv/lib64/python3.13/site-packages/sphinx/ext/autosummary/templates/autosummary/module"],"envversion":{"sphinx":65,"sphinx.domains.c":3,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":9,"sphinx.domains.index":1,"sphinx.domains.javascript":3,"sphinx.domains.math":2,"sphinx.domains.python":4,"sphinx.domains.rst":2,"sphinx.domains.std":2},"filenames":["index.rst","venv/lib/python3.13/site-packages/alabaster-1.0.0.dist-info/LICENSE.rst","venv/lib/python3.13/site-packages/imagesize-1.4.1.dist-info/LICENSE.rst","venv/lib/python3.13/site-packages/roman_numerals_py-3.1.0.dist-info/licenses/LICENCE.rst","venv/lib/python3.13/site-packages/sphinx-8.2.3.dist-info/licenses/LICENSE.rst","venv/lib/python3.13/site-packages/sphinx/ext/autosummary/templates/autosummary/base.rst","venv/lib/python3.13/site-packages/sphinx/ext/autosummary/templates/autosummary/class.rst","venv/lib/python3.13/site-packages/sphinx/ext/autosummary/templates/autosummary/module.rst","venv/lib64/python3.13/site-packages/alabaster-1.0.0.dist-info/LICENSE.rst","venv/lib64/python3.13/site-packages/imagesize-1.4.1.dist-info/LICENSE.rst","venv/lib64/python3.13/site-packages/roman_numerals_py-3.1.0.dist-info/licenses/LICENCE.rst","venv/lib64/python3.13/site-packages/sphinx-8.2.3.dist-info/licenses/LICENSE.rst","venv/lib64/python3.13/site-packages/sphinx/ext/autosummary/templates/autosummary/base.rst","venv/lib64/python3.13/site-packages/sphinx/ext/autosummary/templates/autosummary/class.rst","venv/lib64/python3.13/site-packages/sphinx/ext/autosummary/templates/autosummary/module.rst"],"indexentries":{"cddb() (in module media.cddb)":[[0,"media.CDDB.cddb",false]],"disc_track_rip() (in module media.convert)":[[0,"media.convert.disc_track_rip",false]],"discid() (in module media.cddb)":[[0,"media.CDDB.discid",false]],"filenamefilter() (in module media.convert)":[[0,"media.convert.FilenameFilter",false]],"get_audio_data() (in module media.metadata)":[[0,"media.metadata.get_audio_data",false]],"get_disc_data() (in module media.metadata)":[[0,"media.metadata.get_disc_data",false]],"get_disc_data_dummy() (in module media.metadata)":[[0,"media.metadata.get_disc_data_dummy",false]],"get_disc_device() (in module media.common)":[[0,"media.common.get_disc_device",false]],"get_filetype() (in module media.common)":[[0,"media.common.get_filetype",false]],"get_image_data() (in module media.metadata)":[[0,"media.metadata.get_image_data",false]],"get_media_data() (in module media.metadata)":[[0,"media.metadata.get_media_data",false]],"get_pil_image() (in module media.convert)":[[0,"media.convert.get_pil_image",false]],"get_video_data() (in module media.metadata)":[[0,"media.metadata.get_video_data",false]],"image (class in media.image)":[[0,"media.image.image",false]],"image_data() (media.image.image method)":[[0,"media.image.image.image_data",false]],"join() (media.image.image method)":[[0,"media.image.image.join",false]],"load_from_file() (media.image.image method)":[[0,"media.image.image.load_from_file",false]],"media":[[0,"module-media",false]],"media.cddb":[[0,"module-media.CDDB",false]],"media.common":[[0,"module-media.common",false]],"media.convert":[[0,"module-media.convert",false]],"media.image":[[0,"module-media.image",false]],"media.metadata":[[0,"module-media.metadata",false]],"module":[[0,"module-media",false],[0,"module-media.CDDB",false],[0,"module-media.common",false],[0,"module-media.convert",false],[0,"module-media.image",false],[0,"module-media.metadata",false]],"my_disc_metadata() (in module media.cddb)":[[0,"media.CDDB.my_disc_metadata",false]],"query() (in module media.cddb)":[[0,"media.CDDB.query",false]],"resize() (media.image.image method)":[[0,"media.image.image.resize",false]],"rotate_by_orientation() (media.image.image method)":[[0,"media.image.image.rotate_by_orientation",false]],"save() (media.image.image method)":[[0,"media.image.image.save",false]],"track_to_targetpath() (in module media.convert)":[[0,"media.convert.track_to_targetpath",false]],"wav_to_mp3() (in module media.convert)":[[0,"media.convert.wav_to_mp3",false]]},"objects":{"":[[0,0,0,"-","media"]],"media":[[0,0,0,"-","CDDB"],[0,0,0,"-","common"],[0,0,0,"-","convert"],[0,0,0,"-","image"],[0,0,0,"-","metadata"]],"media.CDDB":[[0,1,1,"","cddb"],[0,1,1,"","discid"],[0,1,1,"","my_disc_metadata"],[0,1,1,"","query"]],"media.common":[[0,1,1,"","get_disc_device"],[0,1,1,"","get_filetype"]],"media.convert":[[0,1,1,"","FilenameFilter"],[0,1,1,"","disc_track_rip"],[0,1,1,"","get_pil_image"],[0,1,1,"","track_to_targetpath"],[0,1,1,"","wav_to_mp3"]],"media.image":[[0,2,1,"","image"]],"media.image.image":[[0,3,1,"","image_data"],[0,3,1,"","join"],[0,3,1,"","load_from_file"],[0,3,1,"","resize"],[0,3,1,"","rotate_by_orientation"],[0,3,1,"","save"]],"media.metadata":[[0,1,1,"","get_audio_data"],[0,1,1,"","get_disc_data"],[0,1,1,"","get_disc_data_dummy"],[0,1,1,"","get_image_data"],[0,1,1,"","get_media_data"],[0,1,1,"","get_video_data"]]},"objnames":{"0":["py","module","Python module"],"1":["py","function","Python function"],"2":["py","class","Python class"],"3":["py","method","Python method"]},"objtypes":{"0":"py:module","1":"py:function","2":"py:class","3":"py:method"},"terms":{"":[3,10],"0":0,"11":[3,10],"1996":[3,10],"2":0,"2007":[4,11],"2010":[1,8],"2011":[1,8],"2016":[2,9],"2020":[1,8],"2024":[3,10],"2025":[4,11],"256":0,"7":0,"9":[3,10],"96":[3,10],"A":[1,2,3,4,8,9,10,11],"AND":[1,2,3,4,8,9,10,11],"AS":[1,2,3,4,8,9,10,11],"BE":[1,2,3,4,8,9,10,11],"BUT":[1,2,4,8,9,11],"BY":[1,4,8,11],"FOR":[1,2,3,4,8,9,10,11],"For":[3,10],"IF":[1,4,8,11],"IN":[1,2,3,4,8,9,10,11],"In":[3,10],"NO":[1,2,3,4,8,9,10,11],"NOT":[1,2,4,8,9,11],"No":[3,10],"OF":[1,2,3,4,8,9,10,11],"ON":[1,4,8,11],"OR":[1,2,3,4,8,9,10,11],"SUCH":[1,4,8,11],"THE":[1,2,3,4,8,9,10,11],"TO":[1,2,3,4,8,9,10,11],"The":[1,3,8,10],"These":[3,10],"To":[3,10],"WITH":[2,3,9,10],"abandon":[3,10],"abov":[1,2,4,8,9,11],"absenc":[3,10],"account":[3,10],"accuraci":[3,10],"acknowledg":[3,10],"action":[2,3,9,10],"adam":[3,10],"adapt":[3,10],"addit":[3,10],"advertis":[3,10],"advis":[1,4,8,11],"affect":[3,10],"affirm":[3,10],"against":[3,10],"alder":0,"all":[0,2,3,4,9,10,11],"also":0,"amend":[3,10],"an":[2,3,9,10],"ani":[1,2,3,4,8,9,10,11],"appli":[3,10],"applic":[3,10],"ar":[1,3,4,8,10,11],"aris":[1,2,3,4,8,9,10,11],"armin":[1,8],"assert":[3,10],"associ":[2,3,9,10],"author":[0,2,3,4,9,10,11],"authorship":[3,10],"automat":[3,10],"avail":[3,10],"base":[0,1,3,8,10],"basepath":0,"below":[3,4,10,11],"benefit":[3,10],"binari":[1,4,8,11],"bitrat":0,"block":[7,14],"bsd":[4,11],"build":[3,10],"busi":[1,4,8,11],"c":[1,3,4,8,10,11],"can":[3,10],"cancel":[3,10],"case":[3,10],"caus":[1,3,4,8,10,11],"certain":[3,10],"cgi":0,"charg":[2,9],"claim":[2,3,9,10],"class":0,"claus":[4,11],"clear":[3,10],"client_nam":0,"client_vers":0,"code":[1,4,8,11],"commerci":[3,10],"common":[3,10],"commun":[3,10],"compens":[3,10],"competit":[3,10],"concern":[3,10],"condit":[1,2,4,8,9,11],"confer":[3,10],"connect":[2,3,9,10],"consent":[3,10],"consequenti":[1,3,4,8,10,11],"consider":[3,10],"contempl":[3,10],"contract":[1,2,3,4,8,9,10,11],"contrari":[3,10],"contravent":[3,10],"contribut":[3,10],"contributor":[1,4,8,11],"copi":[2,3,9,10],"copyright":[1,2,4,8,9,11],"correspond":[3,10],"council":[3,10],"creativ":[3,10],"creator":[3,10],"cultur":[3,10],"current":[3,10],"damag":[1,2,3,4,8,9,10,11],"data":[0,1,3,4,8,10,11],"data_str":0,"databas":[3,10],"date":[3,10],"de":0,"deal":[2,9],"deem":[3,10],"defect":[3,10],"defin":[3,10],"depict":[3,10],"deriv":[1,8],"descript":0,"detriment":[3,10],"dict":0,"direct":[1,3,4,8,10,11],"dirk":0,"disc":0,"disc_id":0,"disc_track_rip":0,"discid":0,"disclaim":[1,4,8,11],"discover":[3,10],"displai":[3,10],"disrupt":[3,10],"dissemin":[3,10],"distribut":[1,2,3,4,8,9,10,11],"do":[2,9],"document":[0,1,2,3,4,8,9,10,11],"durat":[3,10],"duti":[3,10],"e":0,"each":[3,10],"ec":[3,10],"effect":[3,10],"effort":[3,10],"either":[3,10],"elect":[3,10],"endblock":[7,14],"endfor":[7,14],"endif":[7,14],"endors":[1,8],"enjoy":[3,10],"equit":[3,10],"equival":[3,10],"erl":0,"error":[3,10],"escap":[5,6,7,12,13,14],"european":[3,10],"even":[1,4,8,11],"event":[1,2,3,4,8,9,10,11],"exclus":[3,10],"exemplari":[1,4,8,11],"exercis":[3,10],"exif":0,"exist":[3,10],"expect":[3,10],"express":[1,2,3,4,8,9,10,11],"ext":0,"extens":[3,10],"extent":[3,10],"extract":[3,10],"fear":[3,10],"fee":[3,10],"file":[0,2,4,9,11],"filenam":0,"filenamefilt":0,"fit":[1,2,3,4,8,9,10,11],"follow":[0,1,2,3,4,8,9,10,11],"forcier":[1,8],"form":[1,3,4,8,10,11],"free":[2,3,9,10],"freeli":[3,10],"from":[1,2,3,8,9,10],"full_path":0,"fulli":[3,10],"fullnam":[5,6,7,12,13,14],"furnish":[2,9],"further":[3,10],"futur":[3,10],"g":0,"gain":[3,10],"gener":0,"get_audio_data":0,"get_disc_data":0,"get_disc_data_dummi":0,"get_disc_devic":0,"get_filetyp":0,"get_image_data":0,"get_media_data":0,"get_pil_imag":0,"get_video_data":0,"gnudb":0,"good":[1,4,8,11],"grant":[2,3,9,10],"greater":[3,10],"greatest":[3,10],"ha":[3,10],"he":[3,10],"heir":[3,10],"held":[3,10],"help":0,"her":[3,10],"here":0,"herebi":[2,3,9,10],"hi":[3,10],"holder":[1,2,4,8,9,11],"host":0,"howev":[1,4,8,11],"http":0,"i":[0,1,2,3,4,8,9,10,11],"id3":0,"ideal":[3,10],"ii":[3,10],"iii":[3,10],"imag":[3,10],"image_data":0,"implement":[3,10],"impli":[1,2,3,4,8,9,10,11],"incident":[1,4,8,11],"includ":[0,1,2,3,4,8,9,10,11],"incorpor":[3,10],"indic":[4,11],"indirect":[1,3,4,8,10,11],"ineffect":[3,10],"infil":0,"infring":[3,10],"int":0,"intend":[3,10],"interrupt":[1,4,8,11],"invalid":[3,10],"irrevoc":[3,10],"issu":0,"item":[7,14],"its":[3,10],"iv":[3,10],"jeff":[1,8],"join":0,"join_imag":0,"join_po":0,"judg":[3,10],"jurisdict":[3,10],"kenneth":[1,8],"key_album":0,"key_artist":0,"key_genr":0,"key_year":0,"kind":[2,3,9,10],"knowledg":[3,10],"known":[3,10],"kwarg":0,"larg":[3,10],"latent":[3,10],"later":[3,10],"law":[3,10],"legal":[3,10],"liabil":[1,2,4,8,9,11],"liabl":[1,2,3,4,8,9,10,11],"licenc":[4,11],"like":[0,3,10],"limit":[1,2,4,8,9,11],"list":[1,4,8,11],"load_from_fil":0,"loss":[1,3,4,8,10,11],"made":[3,10],"mai":[1,3,8,10],"make":[3,10],"march":[3,10],"materi":[1,4,8,11],"max_siz":0,"maximum":[3,10],"mean":[3,10],"media_inst":0,"medium":[3,10],"member":[3,10],"merchant":[1,2,3,4,8,9,10,11],"merg":[2,9],"met":[1,4,8,11],"mockeri":0,"modif":[1,4,8,11],"modifi":[2,3,9,10],"modul":[7,14],"moral":[3,10],"most":[3,10],"motiv":[3,10],"mount":0,"must":[1,4,8,11],"my":0,"my_disc_metadata":0,"name":[1,8],"nation":[3,10],"necessari":[3,10],"need":0,"neglig":[1,3,4,8,10,11],"neighbor":[3,10],"non":[3,10],"none":0,"noninfring":[2,9],"notic":[1,2,4,8,9,11],"now":[3,10],"number":[0,3,10],"object":0,"oblig":[3,10],"obtain":[2,3,9,10],"offer":[3,10],"opac":0,"org":0,"orient":0,"origin":[1,3,8,10],"other":[1,2,3,4,8,9,10,11],"otherwis":[1,2,3,4,8,9,10,11],"out":[1,2,3,4,8,9,10,11],"overtli":[3,10],"owner":[1,3,8,10],"paragraph":[3,10],"parliament":[3,10],"part":[3,10],"parti":[3,10],"partial":[3,10],"particular":[1,2,3,4,8,9,10,11],"patent":[3,10],"perform":[3,10],"perman":[3,10],"permiss":[1,2,3,8,9,10],"permit":[1,2,3,4,8,9,10,11],"person":[2,3,9,10],"pertain":[3,10],"portion":[2,9],"possibl":[1,3,4,8,10,11],"present":[3,10],"preserv":[3,10],"prior":[1,8],"privaci":[3,10],"procur":[1,4,8,11],"product":[1,3,8,10],"profit":[1,3,4,8,10,11],"progress_callback":0,"project":[3,4,10,11],"promot":[1,3,8,10],"protect":[3,10],"provid":[1,2,3,4,8,9,10,11],"publicli":[3,10],"publish":[2,9],"purpos":[1,2,4,8,9,11],"quauliti":0,"queri":0,"quiet":[3,10],"reason":[3,10],"redistribut":[1,3,4,8,10,11],"regard":[3,10],"reitz":[1,8],"reliabl":[3,10],"relinquish":[3,10],"remain":[3,10],"remaind":[3,10],"represent":[3,10],"reproduc":[1,3,4,8,10,11],"reput":[3,10],"requir":[3,10],"resciss":[3,10],"reserv":[1,4,8,11],"resiz":0,"respect":[3,10],"respons":[3,10],"restrict":[2,9],"result":[3,10],"retain":[1,3,4,8,10,11],"reus":[3,10],"revoc":[3,10],"right":[1,2,4,8,9,11],"ronach":[1,8],"root":0,"rotate_by_orient":0,"royalti":[3,10],"rubric":[7,14],"save":0,"scientif":[3,10],"see":[0,4,11],"sell":[2,9],"server_url":0,"servic":[1,4,8,11],"shall":[1,2,3,4,8,9,10,11],"she":[3,10],"shibukawa":[2,9],"should":[3,10],"similar":[3,10],"so":[2,3,9,10],"softwar":[1,2,3,4,8,9,10,11],"some":[1,8],"sourc":[1,4,8,11],"special":[1,3,4,8,10,11],"specif":[1,8],"statutori":[3,10],"str":0,"strict":[1,4,8,11],"subject":[2,3,9,10],"sublicens":[2,3,9,10],"subsequ":[3,10],"substanti":[2,9],"substitut":[1,4,8,11],"successor":[3,10],"sudo":0,"surrend":[3,10],"tag":0,"take":[3,10],"target_fil":0,"team":[4,11],"term":[3,10],"termin":[3,10],"territori":[3,10],"theme":[1,8],"theori":[1,4,8,11],"thereof":[3,10],"thi":[0,1,2,3,4,8,9,10,11],"those":[3,10],"through":[3,10],"throughout":[3,10],"time":[3,10],"titl":[3,10],"tort":[1,2,4,8,9,11],"tortiou":[3,10],"track":0,"track_inform":0,"track_num":0,"track_to_targetpath":0,"track_xx":0,"trademark":[3,10],"transfer":[3,10],"transform":0,"translat":[3,10],"treati":[3,10],"turner":[3,10],"two":[4,11],"uncondit":[3,10],"uncondition":[3,10],"under":[3,4,10,11],"underlin":[5,6,7,12,13,14],"understand":[3,10],"unfair":[3,10],"unittest":0,"unknown":[3,10],"unless":[4,11],"upon":[3,10],"us":[1,2,3,4,8,9,10,11],"user":0,"user_callback":0,"vbr":0,"version":[3,10],"voluntarili":[3,10],"wa":[3,10],"wai":[1,4,8,11],"waiv":[3,10],"warranti":[1,2,3,4,8,9,10,11],"wav_to_mp3":0,"well":[3,10],"whatsoev":[3,10],"where":0,"whether":[1,2,3,4,8,9,10,11],"which":0,"whom":[2,9],"wish":[3,10],"without":[1,2,3,4,8,9,10,11],"work":[1,3,8,10],"world":[3,10],"worldwid":[3,10],"written":[1,8],"xx":0,"yoshiki":[2,9]},"titles":["media package","<no title>","The MIT License (MIT)","Licence","License for Sphinx","<no title>","<no title>","<no title>","<no title>","The MIT License (MIT)","Licence","License for Sphinx","<no title>","<no title>","<no title>"],"titleterms":{"0":[3,10],"1":[3,10],"2":[3,10],"3":[3,10],"4":[3,10],"The":[2,9],"bsd":[3,10],"cc0":[3,10],"cddb":0,"claus":[3,10],"common":0,"convert":0,"copyright":[3,10],"disclaim":[3,10],"fallback":[3,10],"imag":0,"licenc":[3,10],"licens":[2,3,4,9,10,11],"limit":[3,10],"media":0,"metadata":0,"mit":[2,9],"modul":0,"packag":0,"public":[3,10],"purpos":[3,10],"relat":[3,10],"right":[3,10],"sphinx":[4,11],"statement":[3,10],"submodul":0,"tool":0,"univers":[3,10],"waiver":[3,10],"zero":[3,10]}})
\ No newline at end of file
diff --git a/_requirements_/specification.pdf b/_requirements_/specification.pdf
index 603e01c..1f2d766 100644
Binary files a/_requirements_/specification.pdf and b/_requirements_/specification.pdf differ
diff --git a/_testresults_/coverage.xml b/_testresults_/coverage.xml
index b9bbdae..4f0efea 100644
--- a/_testresults_/coverage.xml
+++ b/_testresults_/coverage.xml
@@ -1,398 +1,718 @@
-
-
+
+
-
+
+
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/_testresults_/unittest.json b/_testresults_/unittest.json
index b71f5a4..132a942 100644
--- a/_testresults_/unittest.json
+++ b/_testresults_/unittest.json
@@ -1,586 +1,27 @@
{
"coverage_information": [
{
- "branch_coverage": 94.78999999999999,
- "filepath": "/user_data/data/dirk/prj/unittest/media/pylibs/media",
+ "branch_coverage": 54.879999999999995,
+ "filepath": "/home/dirk/work/unittest_collection/media/pylibs/media",
"files": [
{
- "branch_coverage": 94.78999999999999,
- "filepath": "/user_data/data/dirk/prj/unittest/media/pylibs/media/__init__.py",
- "fragments": [
- {
- "coverage_state": "clean",
- "end": 3,
- "start": 1
- },
- {
- "coverage_state": "covered",
- "end": 4,
- "start": 4
- },
- {
- "coverage_state": "clean",
- "end": 24,
- "start": 5
- },
- {
- "coverage_state": "covered",
- "end": 25,
- "start": 25
- },
- {
- "coverage_state": "clean",
- "end": 26,
- "start": 26
- },
- {
- "coverage_state": "covered",
- "end": 29,
- "start": 27
- },
- {
- "coverage_state": "clean",
- "end": 30,
- "start": 30
- },
- {
- "coverage_state": "covered",
- "end": 32,
- "start": 31
- },
- {
- "coverage_state": "clean",
- "end": 34,
- "start": 33
- },
- {
- "coverage_state": "covered",
- "end": 35,
- "start": 35
- },
- {
- "coverage_state": "clean",
- "end": 37,
- "start": 36
- },
- {
- "coverage_state": "covered",
- "end": 38,
- "start": 38
- },
- {
- "coverage_state": "clean",
- "end": 41,
- "start": 39
- },
- {
- "coverage_state": "covered",
- "end": 64,
- "start": 42
- },
- {
- "coverage_state": "clean",
- "end": 66,
- "start": 65
- },
- {
- "coverage_state": "covered",
- "end": 69,
- "start": 67
- },
- {
- "coverage_state": "clean",
- "end": 70,
- "start": 70
- },
- {
- "coverage_state": "covered",
- "end": 71,
- "start": 71
- },
- {
- "coverage_state": "clean",
- "end": 72,
- "start": 72
- },
- {
- "coverage_state": "covered",
- "end": 78,
- "start": 73
- },
- {
- "coverage_state": "clean",
- "end": 79,
- "start": 79
- },
- {
- "coverage_state": "covered",
- "end": 80,
- "start": 80
- },
- {
- "coverage_state": "clean",
- "end": 82,
- "start": 81
- },
- {
- "coverage_state": "covered",
- "end": 88,
- "start": 83
- },
- {
- "coverage_state": "clean",
- "end": 89,
- "start": 89
- },
- {
- "coverage_state": "covered",
- "end": 94,
- "start": 90
- },
- {
- "coverage_state": "clean",
- "end": 96,
- "start": 95
- },
- {
- "coverage_state": "covered",
- "end": 100,
- "start": 97
- },
- {
- "coverage_state": "clean",
- "end": 101,
- "start": 101
- },
- {
- "coverage_state": "covered",
- "end": 102,
- "start": 102
- },
- {
- "coverage_state": "clean",
- "end": 103,
- "start": 103
- },
- {
- "coverage_state": "covered",
- "end": 105,
- "start": 104
- },
- {
- "coverage_state": "clean",
- "end": 106,
- "start": 106
- },
- {
- "coverage_state": "covered",
- "end": 117,
- "start": 107
- },
- {
- "coverage_state": "clean",
- "end": 118,
- "start": 118
- },
- {
- "coverage_state": "covered",
- "end": 122,
- "start": 119
- },
- {
- "coverage_state": "clean",
- "end": 123,
- "start": 123
- },
- {
- "coverage_state": "covered",
- "end": 128,
- "start": 124
- },
- {
- "coverage_state": "clean",
- "end": 129,
- "start": 129
- },
- {
- "coverage_state": "covered",
- "end": 134,
- "start": 130
- },
- {
- "coverage_state": "clean",
- "end": 135,
- "start": 135
- },
- {
- "coverage_state": "covered",
- "end": 139,
- "start": 136
- },
- {
- "coverage_state": "clean",
- "end": 140,
- "start": 140
- },
- {
- "coverage_state": "covered",
- "end": 145,
- "start": 141
- },
- {
- "coverage_state": "clean",
- "end": 146,
- "start": 146
- },
- {
- "coverage_state": "covered",
- "end": 150,
- "start": 147
- },
- {
- "coverage_state": "clean",
- "end": 151,
- "start": 151
- },
- {
- "coverage_state": "covered",
- "end": 158,
- "start": 152
- },
- {
- "coverage_state": "clean",
- "end": 159,
- "start": 159
- },
- {
- "coverage_state": "covered",
- "end": 165,
- "start": 160
- },
- {
- "coverage_state": "clean",
- "end": 166,
- "start": 166
- },
- {
- "coverage_state": "partially-covered",
- "end": 167,
- "start": 167
- },
- {
- "coverage_state": "covered",
- "end": 172,
- "start": 168
- },
- {
- "coverage_state": "clean",
- "end": 173,
- "start": 173
- },
- {
- "coverage_state": "covered",
- "end": 175,
- "start": 174
- },
- {
- "coverage_state": "clean",
- "end": 176,
- "start": 176
- },
- {
- "coverage_state": "covered",
- "end": 177,
- "start": 177
- },
- {
- "coverage_state": "partially-covered",
- "end": 178,
- "start": 178
- },
- {
- "coverage_state": "covered",
- "end": 179,
- "start": 179
- },
- {
- "coverage_state": "clean",
- "end": 180,
- "start": 180
- },
- {
- "coverage_state": "uncovered",
- "end": 181,
- "start": 181
- },
- {
- "coverage_state": "clean",
- "end": 182,
- "start": 182
- },
- {
- "coverage_state": "covered",
- "end": 185,
- "start": 183
- },
- {
- "coverage_state": "clean",
- "end": 187,
- "start": 186
- },
- {
- "coverage_state": "covered",
- "end": 191,
- "start": 188
- },
- {
- "coverage_state": "clean",
- "end": 192,
- "start": 192
- },
- {
- "coverage_state": "covered",
- "end": 193,
- "start": 193
- },
- {
- "coverage_state": "clean",
- "end": 194,
- "start": 194
- },
- {
- "coverage_state": "covered",
- "end": 197,
- "start": 195
- },
- {
- "coverage_state": "clean",
- "end": 198,
- "start": 198
- },
- {
- "coverage_state": "covered",
- "end": 199,
- "start": 199
- },
- {
- "coverage_state": "clean",
- "end": 201,
- "start": 200
- },
- {
- "coverage_state": "covered",
- "end": 202,
- "start": 202
- },
- {
- "coverage_state": "clean",
- "end": 203,
- "start": 203
- },
- {
- "coverage_state": "covered",
- "end": 213,
- "start": 204
- },
- {
- "coverage_state": "clean",
- "end": 214,
- "start": 214
- },
- {
- "coverage_state": "covered",
- "end": 216,
- "start": 215
- },
- {
- "coverage_state": "clean",
- "end": 217,
- "start": 217
- },
- {
- "coverage_state": "covered",
- "end": 219,
- "start": 218
- },
- {
- "coverage_state": "clean",
- "end": 220,
- "start": 220
- },
- {
- "coverage_state": "covered",
- "end": 221,
- "start": 221
- },
- {
- "coverage_state": "clean",
- "end": null,
- "start": 222
- }
- ],
- "line_coverage": 99.33999999999999,
- "name": "media.__init__.py"
- },
- {
- "branch_coverage": 94.78999999999999,
- "filepath": "/user_data/data/dirk/prj/unittest/media/pylibs/media/common.py",
+ "branch_coverage": 54.879999999999995,
+ "filepath": "/home/dirk/work/unittest_collection/media/pylibs/media/CDDB.py",
"fragments": [
{
"coverage_state": "covered",
- "end": 1,
- "start": 1
- },
- {
- "coverage_state": "clean",
- "end": 2,
- "start": 2
- },
- {
- "coverage_state": "covered",
- "end": 5,
- "start": 3
- },
- {
- "coverage_state": "clean",
- "end": 6,
- "start": 6
- },
- {
- "coverage_state": "covered",
- "end": 9,
- "start": 7
- },
- {
- "coverage_state": "clean",
- "end": 11,
- "start": 10
- },
- {
- "coverage_state": "covered",
- "end": 19,
- "start": 12
- },
- {
- "coverage_state": "clean",
- "end": null,
- "start": 20
- }
- ],
- "line_coverage": 100.0,
- "name": "media.common.py"
- },
- {
- "branch_coverage": 94.78999999999999,
- "filepath": "/user_data/data/dirk/prj/unittest/media/pylibs/media/convert.py",
- "fragments": [
- {
- "coverage_state": "covered",
- "end": 5,
- "start": 1
- },
- {
- "coverage_state": "clean",
- "end": 7,
- "start": 6
- },
- {
- "coverage_state": "covered",
- "end": 12,
- "start": 8
- },
- {
- "coverage_state": "clean",
- "end": 13,
- "start": 13
- },
- {
- "coverage_state": "covered",
- "end": 18,
- "start": 14
- },
- {
- "coverage_state": "partially-covered",
- "end": 19,
- "start": 19
- },
- {
- "coverage_state": "covered",
- "end": 20,
- "start": 20
- },
- {
- "coverage_state": "clean",
- "end": 21,
- "start": 21
- },
- {
- "coverage_state": "uncovered",
- "end": 22,
- "start": 22
- },
- {
- "coverage_state": "covered",
- "end": 24,
- "start": 23
- },
- {
- "coverage_state": "uncovered",
- "end": 27,
- "start": 25
- },
- {
- "coverage_state": "covered",
- "end": 33,
- "start": 28
- },
- {
- "coverage_state": "clean",
- "end": 34,
- "start": 34
- },
- {
- "coverage_state": "covered",
- "end": 35,
- "start": 35
- },
- {
- "coverage_state": "clean",
- "end": null,
- "start": 36
- }
- ],
- "line_coverage": 86.67,
- "name": "media.convert.py"
- },
- {
- "branch_coverage": 94.78999999999999,
- "filepath": "/user_data/data/dirk/prj/unittest/media/pylibs/media/metadata.py",
- "fragments": [
- {
- "coverage_state": "covered",
- "end": 7,
+ "end": 8,
"start": 1
},
{
"coverage_state": "clean",
"end": 9,
- "start": 8
- },
- {
- "coverage_state": "covered",
- "end": 10,
- "start": 10
- },
- {
- "coverage_state": "clean",
- "end": 12,
- "start": 11
+ "start": 9
},
{
"coverage_state": "covered",
"end": 14,
- "start": 13
+ "start": 10
},
{
"coverage_state": "clean",
@@ -589,23 +30,304 @@
},
{
"coverage_state": "covered",
- "end": 33,
+ "end": 17,
"start": 17
},
+ {
+ "coverage_state": "partially-covered",
+ "end": 18,
+ "start": 18
+ },
+ {
+ "coverage_state": "uncovered",
+ "end": 19,
+ "start": 19
+ },
{
"coverage_state": "clean",
- "end": 35,
- "start": 34
+ "end": 20,
+ "start": 20
},
{
"coverage_state": "covered",
- "end": 45,
- "start": 36
+ "end": 22,
+ "start": 21
+ },
+ {
+ "coverage_state": "clean",
+ "end": 23,
+ "start": 23
+ },
+ {
+ "coverage_state": "covered",
+ "end": 25,
+ "start": 24
+ },
+ {
+ "coverage_state": "clean",
+ "end": 27,
+ "start": 26
+ },
+ {
+ "coverage_state": "covered",
+ "end": 28,
+ "start": 28
+ },
+ {
+ "coverage_state": "clean",
+ "end": 37,
+ "start": 29
+ },
+ {
+ "coverage_state": "uncovered",
+ "end": 50,
+ "start": 38
+ },
+ {
+ "coverage_state": "clean",
+ "end": 51,
+ "start": 51
+ },
+ {
+ "coverage_state": "uncovered",
+ "end": 64,
+ "start": 52
+ },
+ {
+ "coverage_state": "clean",
+ "end": 65,
+ "start": 65
+ },
+ {
+ "coverage_state": "uncovered",
+ "end": 67,
+ "start": 66
+ },
+ {
+ "coverage_state": "clean",
+ "end": 69,
+ "start": 68
+ },
+ {
+ "coverage_state": "covered",
+ "end": 70,
+ "start": 70
+ },
+ {
+ "coverage_state": "uncovered",
+ "end": 78,
+ "start": 71
+ },
+ {
+ "coverage_state": "clean",
+ "end": 79,
+ "start": 79
+ },
+ {
+ "coverage_state": "uncovered",
+ "end": 82,
+ "start": 80
+ },
+ {
+ "coverage_state": "clean",
+ "end": 83,
+ "start": 83
+ },
+ {
+ "coverage_state": "uncovered",
+ "end": 91,
+ "start": 84
+ },
+ {
+ "coverage_state": "clean",
+ "end": 93,
+ "start": 92
+ },
+ {
+ "coverage_state": "covered",
+ "end": 94,
+ "start": 94
+ },
+ {
+ "coverage_state": "uncovered",
+ "end": 95,
+ "start": 95
+ },
+ {
+ "coverage_state": "clean",
+ "end": 99,
+ "start": 96
+ },
+ {
+ "coverage_state": "uncovered",
+ "end": 105,
+ "start": 100
+ },
+ {
+ "coverage_state": "clean",
+ "end": 106,
+ "start": 106
+ },
+ {
+ "coverage_state": "uncovered",
+ "end": 108,
+ "start": 107
+ },
+ {
+ "coverage_state": "clean",
+ "end": 109,
+ "start": 109
+ },
+ {
+ "coverage_state": "uncovered",
+ "end": 136,
+ "start": 110
+ },
+ {
+ "coverage_state": "clean",
+ "end": 137,
+ "start": 137
+ },
+ {
+ "coverage_state": "uncovered",
+ "end": 139,
+ "start": 138
+ },
+ {
+ "coverage_state": "clean",
+ "end": 141,
+ "start": 140
+ },
+ {
+ "coverage_state": "covered",
+ "end": 142,
+ "start": 142
+ },
+ {
+ "coverage_state": "uncovered",
+ "end": 146,
+ "start": 143
+ },
+ {
+ "coverage_state": "clean",
+ "end": 147,
+ "start": 147
+ },
+ {
+ "coverage_state": "uncovered",
+ "end": 152,
+ "start": 148
+ },
+ {
+ "coverage_state": "clean",
+ "end": null,
+ "start": 153
+ }
+ ],
+ "line_coverage": 19.49,
+ "name": "media.CDDB.py"
+ },
+ {
+ "branch_coverage": 54.879999999999995,
+ "filepath": "/home/dirk/work/unittest_collection/media/pylibs/media/__init__.py",
+ "fragments": [
+ {
+ "coverage_state": "clean",
+ "end": 24,
+ "start": 1
+ },
+ {
+ "coverage_state": "covered",
+ "end": 67,
+ "start": 25
+ },
+ {
+ "coverage_state": "clean",
+ "end": 69,
+ "start": 68
+ },
+ {
+ "coverage_state": "covered",
+ "end": 70,
+ "start": 70
+ },
+ {
+ "coverage_state": "clean",
+ "end": 71,
+ "start": 71
+ },
+ {
+ "coverage_state": "covered",
+ "end": 74,
+ "start": 72
+ },
+ {
+ "coverage_state": "clean",
+ "end": null,
+ "start": 75
+ }
+ ],
+ "line_coverage": 100.0,
+ "name": "media.__init__.py"
+ },
+ {
+ "branch_coverage": 54.879999999999995,
+ "filepath": "/home/dirk/work/unittest_collection/media/pylibs/media/common.py",
+ "fragments": [
+ {
+ "coverage_state": "covered",
+ "end": 2,
+ "start": 1
+ },
+ {
+ "coverage_state": "clean",
+ "end": 3,
+ "start": 3
+ },
+ {
+ "coverage_state": "covered",
+ "end": 8,
+ "start": 4
+ },
+ {
+ "coverage_state": "clean",
+ "end": 10,
+ "start": 9
+ },
+ {
+ "coverage_state": "covered",
+ "end": 12,
+ "start": 11
+ },
+ {
+ "coverage_state": "uncovered",
+ "end": 16,
+ "start": 13
+ },
+ {
+ "coverage_state": "clean",
+ "end": 17,
+ "start": 17
+ },
+ {
+ "coverage_state": "covered",
+ "end": 41,
+ "start": 18
+ },
+ {
+ "coverage_state": "clean",
+ "end": 42,
+ "start": 42
+ },
+ {
+ "coverage_state": "covered",
+ "end": 46,
+ "start": 43
},
{
"coverage_state": "clean",
"end": 47,
- "start": 46
+ "start": 47
},
{
"coverage_state": "covered",
@@ -614,54 +336,435 @@
},
{
"coverage_state": "clean",
- "end": 51,
+ "end": 50,
"start": 50
},
{
"coverage_state": "covered",
- "end": 53,
- "start": 52
+ "end": 54,
+ "start": 51
},
{
"coverage_state": "clean",
- "end": 54,
- "start": 54
- },
- {
- "coverage_state": "covered",
- "end": 58,
+ "end": 56,
"start": 55
},
- {
- "coverage_state": "clean",
- "end": 59,
- "start": 59
- },
{
"coverage_state": "covered",
- "end": 62,
- "start": 60
+ "end": 64,
+ "start": 57
},
{
- "coverage_state": "clean",
- "end": 63,
- "start": 63
- },
- {
- "coverage_state": "covered",
+ "coverage_state": "partially-covered",
"end": 65,
- "start": 64
+ "start": 65
},
{
- "coverage_state": "clean",
+ "coverage_state": "uncovered",
"end": 66,
"start": 66
},
{
- "coverage_state": "covered",
+ "coverage_state": "clean",
"end": 68,
"start": 67
},
+ {
+ "coverage_state": "covered",
+ "end": 69,
+ "start": 69
+ },
+ {
+ "coverage_state": "uncovered",
+ "end": 74,
+ "start": 70
+ },
+ {
+ "coverage_state": "clean",
+ "end": null,
+ "start": 75
+ }
+ ],
+ "line_coverage": 84.13000000000001,
+ "name": "media.common.py"
+ },
+ {
+ "branch_coverage": 54.879999999999995,
+ "filepath": "/home/dirk/work/unittest_collection/media/pylibs/media/convert.py",
+ "fragments": [
+ {
+ "coverage_state": "covered",
+ "end": 9,
+ "start": 1
+ },
+ {
+ "coverage_state": "clean",
+ "end": 10,
+ "start": 10
+ },
+ {
+ "coverage_state": "covered",
+ "end": 15,
+ "start": 11
+ },
+ {
+ "coverage_state": "clean",
+ "end": 17,
+ "start": 16
+ },
+ {
+ "coverage_state": "covered",
+ "end": 22,
+ "start": 18
+ },
+ {
+ "coverage_state": "clean",
+ "end": 23,
+ "start": 23
+ },
+ {
+ "coverage_state": "covered",
+ "end": 28,
+ "start": 24
+ },
+ {
+ "coverage_state": "partially-covered",
+ "end": 29,
+ "start": 29
+ },
+ {
+ "coverage_state": "covered",
+ "end": 30,
+ "start": 30
+ },
+ {
+ "coverage_state": "clean",
+ "end": 31,
+ "start": 31
+ },
+ {
+ "coverage_state": "uncovered",
+ "end": 32,
+ "start": 32
+ },
+ {
+ "coverage_state": "covered",
+ "end": 34,
+ "start": 33
+ },
+ {
+ "coverage_state": "uncovered",
+ "end": 37,
+ "start": 35
+ },
+ {
+ "coverage_state": "covered",
+ "end": 43,
+ "start": 38
+ },
+ {
+ "coverage_state": "clean",
+ "end": 44,
+ "start": 44
+ },
+ {
+ "coverage_state": "covered",
+ "end": 45,
+ "start": 45
+ },
+ {
+ "coverage_state": "clean",
+ "end": 47,
+ "start": 46
+ },
+ {
+ "coverage_state": "covered",
+ "end": 48,
+ "start": 48
+ },
+ {
+ "coverage_state": "clean",
+ "end": 49,
+ "start": 49
+ },
+ {
+ "coverage_state": "uncovered",
+ "end": 52,
+ "start": 50
+ },
+ {
+ "coverage_state": "clean",
+ "end": 53,
+ "start": 53
+ },
+ {
+ "coverage_state": "uncovered",
+ "end": 57,
+ "start": 54
+ },
+ {
+ "coverage_state": "clean",
+ "end": 59,
+ "start": 58
+ },
+ {
+ "coverage_state": "covered",
+ "end": 60,
+ "start": 60
+ },
+ {
+ "coverage_state": "uncovered",
+ "end": 61,
+ "start": 61
+ },
+ {
+ "coverage_state": "clean",
+ "end": 68,
+ "start": 62
+ },
+ {
+ "coverage_state": "covered",
+ "end": 69,
+ "start": 69
+ },
+ {
+ "coverage_state": "uncovered",
+ "end": 71,
+ "start": 70
+ },
+ {
+ "coverage_state": "clean",
+ "end": 72,
+ "start": 72
+ },
+ {
+ "coverage_state": "uncovered",
+ "end": 75,
+ "start": 73
+ },
+ {
+ "coverage_state": "clean",
+ "end": 76,
+ "start": 76
+ },
+ {
+ "coverage_state": "uncovered",
+ "end": 78,
+ "start": 77
+ },
+ {
+ "coverage_state": "clean",
+ "end": 79,
+ "start": 79
+ },
+ {
+ "coverage_state": "uncovered",
+ "end": 85,
+ "start": 80
+ },
+ {
+ "coverage_state": "clean",
+ "end": 86,
+ "start": 86
+ },
+ {
+ "coverage_state": "uncovered",
+ "end": 88,
+ "start": 87
+ },
+ {
+ "coverage_state": "clean",
+ "end": 89,
+ "start": 89
+ },
+ {
+ "coverage_state": "uncovered",
+ "end": 91,
+ "start": 90
+ },
+ {
+ "coverage_state": "clean",
+ "end": 92,
+ "start": 92
+ },
+ {
+ "coverage_state": "uncovered",
+ "end": 101,
+ "start": 93
+ },
+ {
+ "coverage_state": "clean",
+ "end": 102,
+ "start": 102
+ },
+ {
+ "coverage_state": "uncovered",
+ "end": 108,
+ "start": 103
+ },
+ {
+ "coverage_state": "clean",
+ "end": 110,
+ "start": 109
+ },
+ {
+ "coverage_state": "covered",
+ "end": 111,
+ "start": 111
+ },
+ {
+ "coverage_state": "uncovered",
+ "end": 112,
+ "start": 112
+ },
+ {
+ "coverage_state": "clean",
+ "end": 119,
+ "start": 113
+ },
+ {
+ "coverage_state": "uncovered",
+ "end": 122,
+ "start": 120
+ },
+ {
+ "coverage_state": "clean",
+ "end": 123,
+ "start": 123
+ },
+ {
+ "coverage_state": "uncovered",
+ "end": 140,
+ "start": 124
+ },
+ {
+ "coverage_state": "clean",
+ "end": null,
+ "start": 141
+ }
+ ],
+ "line_coverage": 37.5,
+ "name": "media.convert.py"
+ },
+ {
+ "branch_coverage": 54.879999999999995,
+ "filepath": "/home/dirk/work/unittest_collection/media/pylibs/media/image.py",
+ "fragments": [
+ {
+ "coverage_state": "covered",
+ "end": 3,
+ "start": 1
+ },
+ {
+ "coverage_state": "clean",
+ "end": 4,
+ "start": 4
+ },
+ {
+ "coverage_state": "covered",
+ "end": 9,
+ "start": 5
+ },
+ {
+ "coverage_state": "clean",
+ "end": 11,
+ "start": 10
+ },
+ {
+ "coverage_state": "covered",
+ "end": 17,
+ "start": 12
+ },
+ {
+ "coverage_state": "clean",
+ "end": 18,
+ "start": 18
+ },
+ {
+ "coverage_state": "covered",
+ "end": 23,
+ "start": 19
+ },
+ {
+ "coverage_state": "clean",
+ "end": 25,
+ "start": 24
+ },
+ {
+ "coverage_state": "covered",
+ "end": 29,
+ "start": 26
+ },
+ {
+ "coverage_state": "clean",
+ "end": 30,
+ "start": 30
+ },
+ {
+ "coverage_state": "covered",
+ "end": 31,
+ "start": 31
+ },
+ {
+ "coverage_state": "clean",
+ "end": 32,
+ "start": 32
+ },
+ {
+ "coverage_state": "covered",
+ "end": 34,
+ "start": 33
+ },
+ {
+ "coverage_state": "clean",
+ "end": 35,
+ "start": 35
+ },
+ {
+ "coverage_state": "covered",
+ "end": 46,
+ "start": 36
+ },
+ {
+ "coverage_state": "clean",
+ "end": 47,
+ "start": 47
+ },
+ {
+ "coverage_state": "covered",
+ "end": 51,
+ "start": 48
+ },
+ {
+ "coverage_state": "clean",
+ "end": 52,
+ "start": 52
+ },
+ {
+ "coverage_state": "covered",
+ "end": 57,
+ "start": 53
+ },
+ {
+ "coverage_state": "clean",
+ "end": 58,
+ "start": 58
+ },
+ {
+ "coverage_state": "covered",
+ "end": 63,
+ "start": 59
+ },
+ {
+ "coverage_state": "clean",
+ "end": 64,
+ "start": 64
+ },
+ {
+ "coverage_state": "covered",
+ "end": 68,
+ "start": 65
+ },
{
"coverage_state": "clean",
"end": 69,
@@ -669,83 +772,401 @@
},
{
"coverage_state": "covered",
- "end": 72,
+ "end": 74,
"start": 70
},
{
"coverage_state": "clean",
- "end": 74,
- "start": 73
+ "end": 75,
+ "start": 75
},
{
"coverage_state": "covered",
+ "end": 79,
+ "start": 76
+ },
+ {
+ "coverage_state": "clean",
+ "end": 80,
+ "start": 80
+ },
+ {
+ "coverage_state": "covered",
+ "end": 87,
+ "start": 81
+ },
+ {
+ "coverage_state": "clean",
+ "end": 88,
+ "start": 88
+ },
+ {
+ "coverage_state": "covered",
+ "end": 94,
+ "start": 89
+ },
+ {
+ "coverage_state": "clean",
+ "end": 95,
+ "start": 95
+ },
+ {
+ "coverage_state": "partially-covered",
+ "end": 96,
+ "start": 96
+ },
+ {
+ "coverage_state": "covered",
+ "end": 101,
+ "start": 97
+ },
+ {
+ "coverage_state": "clean",
+ "end": 102,
+ "start": 102
+ },
+ {
+ "coverage_state": "covered",
+ "end": 104,
+ "start": 103
+ },
+ {
+ "coverage_state": "clean",
+ "end": 105,
+ "start": 105
+ },
+ {
+ "coverage_state": "covered",
+ "end": 106,
+ "start": 106
+ },
+ {
+ "coverage_state": "partially-covered",
+ "end": 107,
+ "start": 107
+ },
+ {
+ "coverage_state": "covered",
+ "end": 108,
+ "start": 108
+ },
+ {
+ "coverage_state": "clean",
+ "end": 109,
+ "start": 109
+ },
+ {
+ "coverage_state": "uncovered",
+ "end": 110,
+ "start": 110
+ },
+ {
+ "coverage_state": "clean",
+ "end": 111,
+ "start": 111
+ },
+ {
+ "coverage_state": "covered",
+ "end": 114,
+ "start": 112
+ },
+ {
+ "coverage_state": "clean",
+ "end": 116,
+ "start": 115
+ },
+ {
+ "coverage_state": "covered",
+ "end": 120,
+ "start": 117
+ },
+ {
+ "coverage_state": "clean",
+ "end": 121,
+ "start": 121
+ },
+ {
+ "coverage_state": "covered",
+ "end": 122,
+ "start": 122
+ },
+ {
+ "coverage_state": "clean",
+ "end": 123,
+ "start": 123
+ },
+ {
+ "coverage_state": "covered",
+ "end": 126,
+ "start": 124
+ },
+ {
+ "coverage_state": "clean",
+ "end": 127,
+ "start": 127
+ },
+ {
+ "coverage_state": "covered",
+ "end": 128,
+ "start": 128
+ },
+ {
+ "coverage_state": "clean",
+ "end": 130,
+ "start": 129
+ },
+ {
+ "coverage_state": "covered",
+ "end": 131,
+ "start": 131
+ },
+ {
+ "coverage_state": "clean",
+ "end": 132,
+ "start": 132
+ },
+ {
+ "coverage_state": "covered",
+ "end": 142,
+ "start": 133
+ },
+ {
+ "coverage_state": "clean",
+ "end": 143,
+ "start": 143
+ },
+ {
+ "coverage_state": "covered",
+ "end": 145,
+ "start": 144
+ },
+ {
+ "coverage_state": "clean",
+ "end": 146,
+ "start": 146
+ },
+ {
+ "coverage_state": "covered",
+ "end": 148,
+ "start": 147
+ },
+ {
+ "coverage_state": "clean",
+ "end": 149,
+ "start": 149
+ },
+ {
+ "coverage_state": "covered",
+ "end": 150,
+ "start": 150
+ },
+ {
+ "coverage_state": "clean",
+ "end": null,
+ "start": 151
+ }
+ ],
+ "line_coverage": 99.15,
+ "name": "media.image.py"
+ },
+ {
+ "branch_coverage": 54.879999999999995,
+ "filepath": "/home/dirk/work/unittest_collection/media/pylibs/media/metadata.py",
+ "fragments": [
+ {
+ "coverage_state": "covered",
+ "end": 9,
+ "start": 1
+ },
+ {
+ "coverage_state": "clean",
+ "end": 11,
+ "start": 10
+ },
+ {
+ "coverage_state": "covered",
+ "end": 16,
+ "start": 12
+ },
+ {
+ "coverage_state": "clean",
+ "end": 18,
+ "start": 17
+ },
+ {
+ "coverage_state": "covered",
+ "end": 20,
+ "start": 19
+ },
+ {
+ "coverage_state": "uncovered",
+ "end": 24,
+ "start": 21
+ },
+ {
+ "coverage_state": "clean",
+ "end": 25,
+ "start": 25
+ },
+ {
+ "coverage_state": "covered",
+ "end": 27,
+ "start": 26
+ },
+ {
+ "coverage_state": "clean",
+ "end": 29,
+ "start": 28
+ },
+ {
+ "coverage_state": "covered",
+ "end": 30,
+ "start": 30
+ },
+ {
+ "coverage_state": "clean",
+ "end": 31,
+ "start": 31
+ },
+ {
+ "coverage_state": "covered",
+ "end": 32,
+ "start": 32
+ },
+ {
+ "coverage_state": "clean",
+ "end": 33,
+ "start": 33
+ },
+ {
+ "coverage_state": "covered",
+ "end": 40,
+ "start": 34
+ },
+ {
+ "coverage_state": "partially-covered",
+ "end": 41,
+ "start": 41
+ },
+ {
+ "coverage_state": "uncovered",
+ "end": 42,
+ "start": 42
+ },
+ {
+ "coverage_state": "clean",
+ "end": 43,
+ "start": 43
+ },
+ {
+ "coverage_state": "covered",
+ "end": 46,
+ "start": 44
+ },
+ {
+ "coverage_state": "clean",
+ "end": 48,
+ "start": 47
+ },
+ {
+ "coverage_state": "covered",
+ "end": 65,
+ "start": 49
+ },
+ {
+ "coverage_state": "clean",
+ "end": 67,
+ "start": 66
+ },
+ {
+ "coverage_state": "covered",
+ "end": 68,
+ "start": 68
+ },
+ {
+ "coverage_state": "uncovered",
+ "end": 69,
+ "start": 69
+ },
+ {
+ "coverage_state": "clean",
+ "end": 74,
+ "start": 70
+ },
+ {
+ "coverage_state": "uncovered",
"end": 77,
"start": 75
},
{
"coverage_state": "clean",
- "end": 78,
+ "end": 79,
"start": 78
},
{
"coverage_state": "covered",
"end": 80,
- "start": 79
+ "start": 80
},
{
"coverage_state": "clean",
- "end": 81,
+ "end": 83,
"start": 81
},
{
- "coverage_state": "covered",
- "end": 86,
- "start": 82
+ "coverage_state": "uncovered",
+ "end": 91,
+ "start": 84
+ },
+ {
+ "coverage_state": "clean",
+ "end": 96,
+ "start": 92
},
{
"coverage_state": "uncovered",
- "end": 89,
- "start": 87
- },
- {
- "coverage_state": "clean",
- "end": 90,
- "start": 90
- },
- {
- "coverage_state": "covered",
- "end": 96,
- "start": 91
- },
- {
- "coverage_state": "clean",
- "end": 97,
+ "end": 103,
"start": 97
},
{
- "coverage_state": "covered",
+ "coverage_state": "clean",
"end": 104,
- "start": 98
+ "start": 104
},
{
- "coverage_state": "clean",
+ "coverage_state": "uncovered",
"end": 106,
"start": 105
},
{
- "coverage_state": "covered",
- "end": 113,
+ "coverage_state": "clean",
+ "end": 107,
"start": 107
},
{
- "coverage_state": "clean",
- "end": 114,
- "start": 114
+ "coverage_state": "uncovered",
+ "end": 108,
+ "start": 108
},
{
- "coverage_state": "covered",
+ "coverage_state": "clean",
+ "end": 109,
+ "start": 109
+ },
+ {
+ "coverage_state": "uncovered",
+ "end": 110,
+ "start": 110
+ },
+ {
+ "coverage_state": "clean",
+ "end": 111,
+ "start": 111
+ },
+ {
+ "coverage_state": "uncovered",
"end": 115,
- "start": 115
+ "start": 112
},
{
"coverage_state": "clean",
@@ -753,44 +1174,64 @@
"start": 116
},
{
- "coverage_state": "covered",
- "end": 138,
+ "coverage_state": "uncovered",
+ "end": 117,
"start": 117
},
{
"coverage_state": "clean",
- "end": 141,
- "start": 139
+ "end": 144,
+ "start": 118
},
{
"coverage_state": "covered",
- "end": 144,
- "start": 142
- },
- {
- "coverage_state": "clean",
- "end": 146,
+ "end": 154,
"start": 145
},
{
- "coverage_state": "covered",
+ "coverage_state": "clean",
"end": 156,
- "start": 147
+ "start": 155
},
{
- "coverage_state": "clean",
+ "coverage_state": "covered",
"end": 158,
"start": 157
},
{
- "coverage_state": "covered",
+ "coverage_state": "clean",
"end": 160,
"start": 159
},
+ {
+ "coverage_state": "covered",
+ "end": 162,
+ "start": 161
+ },
+ {
+ "coverage_state": "clean",
+ "end": 163,
+ "start": 163
+ },
+ {
+ "coverage_state": "covered",
+ "end": 167,
+ "start": 164
+ },
+ {
+ "coverage_state": "clean",
+ "end": 168,
+ "start": 168
+ },
+ {
+ "coverage_state": "covered",
+ "end": 171,
+ "start": 169
+ },
{
"coverage_state": "clean",
"end": 172,
- "start": 161
+ "start": 172
},
{
"coverage_state": "covered",
@@ -799,85 +1240,215 @@
},
{
"coverage_state": "clean",
- "end": 190,
+ "end": 175,
"start": 175
},
{
"coverage_state": "covered",
- "end": 202,
+ "end": 177,
+ "start": 176
+ },
+ {
+ "coverage_state": "clean",
+ "end": 178,
+ "start": 178
+ },
+ {
+ "coverage_state": "covered",
+ "end": 181,
+ "start": 179
+ },
+ {
+ "coverage_state": "clean",
+ "end": 183,
+ "start": 182
+ },
+ {
+ "coverage_state": "covered",
+ "end": 186,
+ "start": 184
+ },
+ {
+ "coverage_state": "clean",
+ "end": 187,
+ "start": 187
+ },
+ {
+ "coverage_state": "covered",
+ "end": 189,
+ "start": 188
+ },
+ {
+ "coverage_state": "clean",
+ "end": 190,
+ "start": 190
+ },
+ {
+ "coverage_state": "covered",
+ "end": 195,
"start": 191
},
- {
- "coverage_state": "clean",
- "end": 204,
- "start": 203
- },
- {
- "coverage_state": "covered",
- "end": 210,
- "start": 205
- },
- {
- "coverage_state": "clean",
- "end": 212,
- "start": 211
- },
- {
- "coverage_state": "covered",
- "end": 219,
- "start": 213
- },
- {
- "coverage_state": "partially-covered",
- "end": 220,
- "start": 220
- },
{
"coverage_state": "uncovered",
- "end": 221,
- "start": 221
+ "end": 198,
+ "start": 196
+ },
+ {
+ "coverage_state": "clean",
+ "end": 199,
+ "start": 199
+ },
+ {
+ "coverage_state": "covered",
+ "end": 205,
+ "start": 200
+ },
+ {
+ "coverage_state": "clean",
+ "end": 206,
+ "start": 206
+ },
+ {
+ "coverage_state": "covered",
+ "end": 213,
+ "start": 207
+ },
+ {
+ "coverage_state": "clean",
+ "end": 215,
+ "start": 214
+ },
+ {
+ "coverage_state": "covered",
+ "end": 222,
+ "start": 216
+ },
+ {
+ "coverage_state": "clean",
+ "end": 223,
+ "start": 223
},
{
"coverage_state": "covered",
"end": 224,
- "start": 222
+ "start": 224
},
{
- "coverage_state": "partially-covered",
+ "coverage_state": "clean",
"end": 225,
"start": 225
},
{
- "coverage_state": "uncovered",
- "end": 226,
+ "coverage_state": "covered",
+ "end": 247,
"start": 226
},
+ {
+ "coverage_state": "clean",
+ "end": 250,
+ "start": 248
+ },
{
"coverage_state": "covered",
- "end": 234,
- "start": 227
+ "end": 253,
+ "start": 251
},
{
"coverage_state": "clean",
- "end": 236,
- "start": 235
+ "end": 255,
+ "start": 254
},
{
"coverage_state": "covered",
- "end": 240,
- "start": 237
+ "end": 265,
+ "start": 256
+ },
+ {
+ "coverage_state": "clean",
+ "end": 267,
+ "start": 266
+ },
+ {
+ "coverage_state": "covered",
+ "end": 269,
+ "start": 268
+ },
+ {
+ "coverage_state": "clean",
+ "end": 281,
+ "start": 270
+ },
+ {
+ "coverage_state": "covered",
+ "end": 283,
+ "start": 282
+ },
+ {
+ "coverage_state": "clean",
+ "end": 299,
+ "start": 284
+ },
+ {
+ "coverage_state": "covered",
+ "end": 311,
+ "start": 300
+ },
+ {
+ "coverage_state": "clean",
+ "end": 313,
+ "start": 312
+ },
+ {
+ "coverage_state": "covered",
+ "end": 316,
+ "start": 314
+ },
+ {
+ "coverage_state": "uncovered",
+ "end": 319,
+ "start": 317
+ },
+ {
+ "coverage_state": "clean",
+ "end": 321,
+ "start": 320
+ },
+ {
+ "coverage_state": "covered",
+ "end": 330,
+ "start": 322
+ },
+ {
+ "coverage_state": "uncovered",
+ "end": 332,
+ "start": 331
+ },
+ {
+ "coverage_state": "covered",
+ "end": 343,
+ "start": 333
+ },
+ {
+ "coverage_state": "clean",
+ "end": 345,
+ "start": 344
+ },
+ {
+ "coverage_state": "covered",
+ "end": 349,
+ "start": 346
},
{
"coverage_state": "clean",
"end": null,
- "start": 241
+ "start": 350
}
],
- "line_coverage": 97.09,
+ "line_coverage": 82.02000000000001,
"name": "media.metadata.py"
}
],
- "line_coverage": 97.28999999999999,
+ "line_coverage": 68.69,
"name": "media"
}
],
@@ -886,110 +1457,66 @@
"testcase_list": []
},
"specification": {
- "comment": "Comment",
- "item_dict": {
- "_AdR7EEYDEequ74M7usLaPw": {
- "Description": "The class {\\tt image} shall have a method {\\tt rotate\\_by\\_orientation}, which rotates the image by an exif orientation. If no parameter is given, the orientation will be taken out of the loaded image. The method returns {\\tt True} on success and {\\tt False} on failures.",
- "Fitcriterion": "",
- "Heading": "Rotate",
- "ID": "REQ-6",
- "last_change": "2020-02-02T23:47:29.986+01:00",
- "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg",
- "system_uid": "_AdR7EEYDEequ74M7usLaPw",
- "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT"
+ "entries": {
+ "REQ-0001": {
+ "description": "A Method shall return the metadata for a given media filename.",
+ "heading": "Method to get Metadata"
},
- "_CBaAQEYDEequ74M7usLaPw": {
- "Description": "The class {\\tt image} shall have a method {\\tt join}, which joins an image to the loaded image. The method returns {\\tt True} on success and {\\tt False} on failures.",
- "Heading": "Join",
- "ID": "REQ-7",
- "last_change": "2020-02-02T23:47:36.859+01:00",
- "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg",
- "system_uid": "_CBaAQEYDEequ74M7usLaPw",
- "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT"
+ "REQ-0002": {
+ "description": "The class {\\tt image} shall have a method {\\tt load\\_from\\_file}, which creates a copy of an image to the instance. Load from file can handle a filename, but also pil images and media images. The method returns {\\tt True} on success and {\\tt False} on failures.",
+ "heading": "Load from File"
},
- "_DBCGsEYCEequ74M7usLaPw": {
- "Description": "The library {\\tt media} shall have a class {\\tt image}. This class shall be able to read from image or video files, pil image instances or from {\\tt media.image} instances itself. The class shall help by some common tasks like rotating, resizing, \\ldots",
- "Heading": "Image",
- "last_change": "2020-02-02T23:46:21.153+01:00",
- "system_type_uid": "_4-K5EHYYEem_kd-7nxt1sg",
- "system_uid": "_DBCGsEYCEequ74M7usLaPw",
- "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT"
+ "REQ-0003": {
+ "description": "The class {\\tt image} shall have a method {\\tt save}, which stores the modified image to a given filename. The method returns {\\tt True} on success and {\\tt False} on failures.",
+ "heading": "Save"
},
- "_Fv7V4EYCEequ74M7usLaPw": {
- "Description": "The class {\\tt image} shall have a method {\\tt load\\_from\\_file}, which creates a copy of an image to the instance. Load from file can handle a filename, but also pil images and media images. The method returns {\\tt True} on success and {\\tt False} on failures.",
- "Heading": "Load from File",
- "ID": "REQ-2",
- "last_change": "2020-02-02T23:47:07.229+01:00",
- "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg",
- "system_uid": "_Fv7V4EYCEequ74M7usLaPw",
- "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT"
+ "REQ-0004": {
+ "description": "The class {\\tt image} shall have a method {\\tt image\\_data}, which returns the raw data of the modified image.",
+ "heading": "Image data"
},
- "_HGpRMEYCEequ74M7usLaPw": {
- "Description": "The class {\\tt image} shall have a method {\\tt save}, which stores the modified image to a given filename. The method returns {\\tt True} on success and {\\tt False} on failures.",
- "Heading": "Save",
- "ID": "REQ-3",
- "last_change": "2020-02-02T23:47:14.322+01:00",
- "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg",
- "system_uid": "_HGpRMEYCEequ74M7usLaPw",
- "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT"
+ "REQ-0005": {
+ "description": "The class {\\tt image} shall have a method {\\tt resize}, which resizes the image. The method returns {\\tt True} on success and {\\tt False} on failures.",
+ "heading": "Resize"
},
- "_MR7eOHYYEem_kd-7nxt1sg": {
- "Heading": "Metadata",
- "last_change": "2020-01-30T20:32:07.705+01:00",
- "system_type_uid": "_4-K5EHYYEem_kd-7nxt1sg",
- "system_uid": "_MR7eOHYYEem_kd-7nxt1sg",
- "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT"
+ "REQ-0006": {
+ "description": "The class {\\tt image} shall have a method {\\tt rotate\\_by\\_orientation}, which rotates the image by an exif orientation. If no parameter is given, the orientation will be taken out of the loaded image. The method returns {\\tt True} on success and {\\tt False} on failures.",
+ "heading": "Rotate"
},
- "_XzMFcHYZEem_kd-7nxt1sg": {
- "Description": "A Method shall return the metadata for a given media filename.",
- "Fitcriterion": "",
- "Heading": "Method to get Metadata",
- "ID": "REQ-1",
- "ReasonForImplementation": "",
- "last_change": "2020-01-30T20:33:27.982+01:00",
- "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg",
- "system_uid": "_XzMFcHYZEem_kd-7nxt1sg",
- "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT"
+ "REQ-0007": {
+ "description": "The class {\\tt image} shall have a method {\\tt join}, which joins an image to the loaded image. The method returns {\\tt True} on success and {\\tt False} on failures.",
+ "heading": "Join"
},
- "_wvLDcEYCEequ74M7usLaPw": {
- "Description": "The class {\\tt image} shall have a method {\\tt image\\_data}, which returns the raw data of the modified image.",
- "Heading": "Image data",
- "ID": "REQ-4",
- "last_change": "2020-02-02T23:44:49.710+01:00",
- "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg",
- "system_uid": "_wvLDcEYCEequ74M7usLaPw",
- "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT"
+ "SEC-0001": {
+ "childs": [
+ "REQ-0001"
+ ],
+ "heading": "Metadata"
},
- "_zQ29EEYCEequ74M7usLaPw": {
- "Description": "The class {\\tt image} shall have a method {\\tt resize}, which resizes the image. The method returns {\\tt True} on success and {\\tt False} on failures.",
- "Heading": "Resize",
- "ID": "REQ-5",
- "last_change": "2020-02-02T23:47:23.563+01:00",
- "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg",
- "system_uid": "_zQ29EEYCEequ74M7usLaPw",
- "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT"
+ "SEC-0002": {
+ "childs": [
+ "REQ-0002",
+ "REQ-0003",
+ "REQ-0004",
+ "REQ-0005",
+ "REQ-0006",
+ "REQ-0007"
+ ],
+ "heading": "Image"
}
},
- "titel": "Title",
- "uid_list_sorted": [
- "_MR7eOHYYEem_kd-7nxt1sg",
- "_XzMFcHYZEem_kd-7nxt1sg",
- "_DBCGsEYCEequ74M7usLaPw",
- "_Fv7V4EYCEequ74M7usLaPw",
- "_HGpRMEYCEequ74M7usLaPw",
- "_wvLDcEYCEequ74M7usLaPw",
- "_zQ29EEYCEequ74M7usLaPw",
- "_AdR7EEYDEequ74M7usLaPw",
- "_CBaAQEYDEequ74M7usLaPw"
- ]
+ "sections": [
+ "SEC-0001",
+ "SEC-0002"
+ ],
+ "title": "Module media"
},
"system_information": {
"Architecture": "64bit",
- "Distribution": "Linux Mint 20.1 ulyssa",
- "Hostname": "ahorn",
- "Kernel": "5.4.0-60-generic (#67-Ubuntu SMP Tue Jan 5 18:31:36 UTC 2021)",
+ "Distribution": "Debian GNU/Linux 13 trixie",
+ "Hostname": "erle",
+ "Kernel": "6.15.1-surface-2 (#2 SMP PREEMPT_DYNAMIC Tue Jun 24 21:02:07 UTC 2025)",
"Machine": "x86_64",
- "Path": "/user_data/data/dirk/prj/unittest/media/unittest",
+ "Path": "/home/dirk/work/unittest_collection/media",
"System": "Linux",
"Username": "dirk"
},
@@ -999,22 +1526,12 @@
"Name": "media",
"State": "Released",
"Supported Interpreters": "python3",
- "Version": "2f1c613a705625b8766637c1c130b6ab"
+ "Version": "187551be7c8e5ccdf7d3e15d55ebd849"
},
"testrun_list": [
{
- "heading_dict": {
- "_AdR7EEYDEequ74M7usLaPw": "Rotate",
- "_CBaAQEYDEequ74M7usLaPw": "Join",
- "_DBCGsEYCEequ74M7usLaPw": "Image",
- "_Fv7V4EYCEequ74M7usLaPw": "Load from File",
- "_HGpRMEYCEequ74M7usLaPw": "Save",
- "_MR7eOHYYEem_kd-7nxt1sg": "Metadata",
- "_XzMFcHYZEem_kd-7nxt1sg": "Method to get Metadata",
- "_wvLDcEYCEequ74M7usLaPw": "Image data",
- "_zQ29EEYCEequ74M7usLaPw": "Resize"
- },
- "interpreter": "python 3.8.5 (final)",
+ "heading_dict": {},
+ "interpreter": "python 3.13.5 (final)",
"name": "Default Testsession name",
"number_of_failed_tests": 0,
"number_of_possibly_failed_tests": 0,
@@ -1028,1627 +1545,8068 @@
"90": "Full Test (all defined tests)"
},
"testcases": {
- "_AdR7EEYDEequ74M7usLaPw": {
+ "REQ-0001": {
"args": null,
- "asctime": "2021-01-14 00:59:09,126",
- "created": 1610582349.1260378,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:25,742",
+ "created": 1755355165.74261,
"exc_text": null,
"filename": "__init__.py",
- "funcName": "testrun",
+ "funcName": "testCase",
"levelname": "INFO",
"levelno": 20,
- "lineno": 35,
- "message": "_AdR7EEYDEequ74M7usLaPw",
+ "lineno": 331,
+ "message": "REQ-0001",
"module": "__init__",
"moduleLogger": [],
- "msecs": 126.0378360748291,
- "msg": "_AdR7EEYDEequ74M7usLaPw",
+ "msecs": 742.0,
+ "msg": "REQ-0001",
"name": "__tLogger__",
- "pathname": "/user_data/data/dirk/prj/unittest/media/unittest/src/tests/__init__.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/report/__init__.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 1975.4455089569092,
+ "relativeCreated": 69.540491,
"stack_info": null,
+ "taskName": null,
"testcaseLogger": [
{
"args": [
- "False",
- ""
+ "None",
+ ""
],
- "asctime": "2021-01-14 00:59:09,126",
- "created": 1610582349.1261973,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:25,743",
+ "created": 1755355165.7430236,
"exc_text": null,
"filename": "test.py",
"funcName": "equivalency_chk",
"levelname": "INFO",
"levelno": 20,
- "lineno": 144,
- "message": "Returnvalue of rotate method without loading an image is correct (Content False and Type is ).",
+ "lineno": 184,
+ "message": "Media data for unknown.txt is correct (Content None and Type is ).",
"module": "test",
"moduleLogger": [
{
"args": [
- "Returnvalue of rotate method without loading an image",
- "False",
- ""
+ "/home/dirk/work/unittest_collection/media/unittest/input_data/unknown.txt"
],
- "asctime": "2021-01-14 00:59:09,126",
- "created": 1610582349.1261213,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:25,742",
+ "created": 1755355165.742829,
"exc_text": null,
- "filename": "test.py",
- "funcName": "__report_result__",
- "levelname": "DEBUG",
- "levelno": 10,
- "lineno": 22,
- "message": "Result (Returnvalue of rotate method without loading an image): False ()",
- "module": "test",
- "msecs": 126.12128257751465,
- "msg": "Result (%s): %s (%s)",
- "name": "__unittest__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
+ "filename": "metadata.py",
+ "funcName": "get_media_data",
+ "levelname": "WARNING",
+ "levelno": 30,
+ "lineno": 44,
+ "message": "Filetype not known: /home/dirk/work/unittest_collection/media/unittest/input_data/unknown.txt",
+ "module": "metadata",
+ "msecs": 742.0,
+ "msg": "Filetype not known: %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 1975.5289554595947,
+ "relativeCreated": 69.759544,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread"
},
- {
- "args": [
- "Returnvalue of rotate method without loading an image",
- "False",
- ""
- ],
- "asctime": "2021-01-14 00:59:09,126",
- "created": 1610582349.126161,
- "exc_info": null,
- "exc_text": null,
- "filename": "test.py",
- "funcName": "__report_expectation_equivalency__",
- "levelname": "DEBUG",
- "levelno": 10,
- "lineno": 26,
- "message": "Expectation (Returnvalue of rotate method without loading an image): result = False ()",
- "module": "test",
- "msecs": 126.16109848022461,
- "msg": "Expectation (%s): result = %s (%s)",
- "name": "__unittest__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
- "processName": "MainProcess",
- "relativeCreated": 1975.5687713623047,
- "stack_info": null,
- "thread": 140195114268480,
- "threadName": "MainThread"
- }
- ],
- "msecs": 126.19733810424805,
- "msg": "Returnvalue of rotate method without loading an image is correct (Content %s and Type is %s).",
- "name": "__tLogger__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
- "processName": "MainProcess",
- "relativeCreated": 1975.6050109863281,
- "stack_info": null,
- "thread": 140195114268480,
- "threadName": "MainThread",
- "time_consumption": 3.62396240234375e-05
- },
- {
- "args": [
- "False",
- ""
- ],
- "asctime": "2021-01-14 00:59:09,249",
- "created": 1610582349.2498689,
- "exc_info": null,
- "exc_text": null,
- "filename": "test.py",
- "funcName": "equivalency_chk",
- "levelname": "INFO",
- "levelno": 20,
- "lineno": 144,
- "message": "Returnvalue of rotate method with invalid orientation is correct (Content False and Type is ).",
- "module": "test",
- "moduleLogger": [
- {
- "args": [
- "Returnvalue of rotate method with invalid orientation",
- "False",
- ""
- ],
- "asctime": "2021-01-14 00:59:09,249",
- "created": 1610582349.249714,
- "exc_info": null,
- "exc_text": null,
- "filename": "test.py",
- "funcName": "__report_result__",
- "levelname": "DEBUG",
- "levelno": 10,
- "lineno": 22,
- "message": "Result (Returnvalue of rotate method with invalid orientation): False ()",
- "module": "test",
- "msecs": 249.71389770507812,
- "msg": "Result (%s): %s (%s)",
- "name": "__unittest__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
- "processName": "MainProcess",
- "relativeCreated": 2099.121570587158,
- "stack_info": null,
- "thread": 140195114268480,
- "threadName": "MainThread"
- },
- {
- "args": [
- "Returnvalue of rotate method with invalid orientation",
- "False",
- ""
- ],
- "asctime": "2021-01-14 00:59:09,249",
- "created": 1610582349.2498217,
- "exc_info": null,
- "exc_text": null,
- "filename": "test.py",
- "funcName": "__report_expectation_equivalency__",
- "levelname": "DEBUG",
- "levelno": 10,
- "lineno": 26,
- "message": "Expectation (Returnvalue of rotate method with invalid orientation): result = False ()",
- "module": "test",
- "msecs": 249.82166290283203,
- "msg": "Expectation (%s): result = %s (%s)",
- "name": "__unittest__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
- "processName": "MainProcess",
- "relativeCreated": 2099.229335784912,
- "stack_info": null,
- "thread": 140195114268480,
- "threadName": "MainThread"
- }
- ],
- "msecs": 249.86886978149414,
- "msg": "Returnvalue of rotate method with invalid orientation is correct (Content %s and Type is %s).",
- "name": "__tLogger__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
- "processName": "MainProcess",
- "relativeCreated": 2099.276542663574,
- "stack_info": null,
- "thread": 140195114268480,
- "threadName": "MainThread",
- "time_consumption": 4.7206878662109375e-05
- },
- {
- "args": [
- "False",
- ""
- ],
- "asctime": "2021-01-14 00:59:09,368",
- "created": 1610582349.368857,
- "exc_info": null,
- "exc_text": null,
- "filename": "test.py",
- "funcName": "equivalency_chk",
- "levelname": "INFO",
- "levelno": 20,
- "lineno": 144,
- "message": "Returnvalue of rotate method with no orientation in method call and exif is correct (Content False and Type is ).",
- "module": "test",
- "moduleLogger": [
- {
- "args": [
- "Returnvalue of rotate method with no orientation in method call and exif",
- "False",
- ""
- ],
- "asctime": "2021-01-14 00:59:09,368",
- "created": 1610582349.3685825,
- "exc_info": null,
- "exc_text": null,
- "filename": "test.py",
- "funcName": "__report_result__",
- "levelname": "DEBUG",
- "levelno": 10,
- "lineno": 22,
- "message": "Result (Returnvalue of rotate method with no orientation in method call and exif): False ()",
- "module": "test",
- "msecs": 368.58248710632324,
- "msg": "Result (%s): %s (%s)",
- "name": "__unittest__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
- "processName": "MainProcess",
- "relativeCreated": 2217.9901599884033,
- "stack_info": null,
- "thread": 140195114268480,
- "threadName": "MainThread"
- },
- {
- "args": [
- "Returnvalue of rotate method with no orientation in method call and exif",
- "False",
- ""
- ],
- "asctime": "2021-01-14 00:59:09,368",
- "created": 1610582349.3687541,
- "exc_info": null,
- "exc_text": null,
- "filename": "test.py",
- "funcName": "__report_expectation_equivalency__",
- "levelname": "DEBUG",
- "levelno": 10,
- "lineno": 26,
- "message": "Expectation (Returnvalue of rotate method with no orientation in method call and exif): result = False ()",
- "module": "test",
- "msecs": 368.75414848327637,
- "msg": "Expectation (%s): result = %s (%s)",
- "name": "__unittest__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
- "processName": "MainProcess",
- "relativeCreated": 2218.1618213653564,
- "stack_info": null,
- "thread": 140195114268480,
- "threadName": "MainThread"
- }
- ],
- "msecs": 368.85690689086914,
- "msg": "Returnvalue of rotate method with no orientation in method call and exif is correct (Content %s and Type is %s).",
- "name": "__tLogger__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
- "processName": "MainProcess",
- "relativeCreated": 2218.264579772949,
- "stack_info": null,
- "thread": 140195114268480,
- "threadName": "MainThread",
- "time_consumption": 0.00010275840759277344
- },
- {
- "args": [
- "True",
- ""
- ],
- "asctime": "2021-01-14 00:59:09,606",
- "created": 1610582349.6060865,
- "exc_info": null,
- "exc_text": null,
- "filename": "test.py",
- "funcName": "equivalency_chk",
- "levelname": "INFO",
- "levelno": 20,
- "lineno": 144,
- "message": "Filecompare for rotated_image_none.jpg is correct (Content True and Type is ).",
- "module": "test",
- "moduleLogger": [
{
"args": [
"None"
],
- "asctime": "2021-01-14 00:59:09,369",
- "created": 1610582349.369007,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:25,742",
+ "created": 1755355165.742907,
"exc_text": null,
- "filename": "test_image.py",
- "funcName": "rotate_by_orientation",
- "levelname": "DEBUG",
- "levelno": 10,
- "lineno": 78,
- "message": "Rotate with orientation None",
- "module": "test_image",
- "msecs": 369.0071105957031,
- "msg": "Rotate with orientation %s",
- "name": "__unittest__",
- "pathname": "src/tests/test_image.py",
- "process": 21433,
+ "filename": "metadata.py",
+ "funcName": "get_media_data",
+ "levelname": "INFO",
+ "levelno": 20,
+ "lineno": 45,
+ "message": "Media data identified: None",
+ "module": "metadata",
+ "msecs": 742.0,
+ "msg": "Media data identified: %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 2218.414783477783,
+ "relativeCreated": 69.837657,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread"
},
{
"args": [
- "Filecompare for rotated_image_none.jpg",
- "True",
- ""
+ "Media data for unknown.txt",
+ "None",
+ ""
],
- "asctime": "2021-01-14 00:59:09,605",
- "created": 1610582349.605915,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:25,742",
+ "created": 1755355165.7429564,
"exc_text": null,
"filename": "test.py",
"funcName": "__report_result__",
"levelname": "DEBUG",
"levelno": 10,
"lineno": 22,
- "message": "Result (Filecompare for rotated_image_none.jpg): True ()",
+ "message": "Result (Media data for unknown.txt): None ()",
"module": "test",
- "msecs": 605.9150695800781,
+ "msecs": 742.0,
"msg": "Result (%s): %s (%s)",
"name": "__unittest__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 2455.322742462158,
+ "relativeCreated": 69.886791,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread"
},
{
"args": [
- "Filecompare for rotated_image_none.jpg",
- "True",
- ""
+ "Media data for unknown.txt",
+ "=",
+ "None",
+ ""
],
- "asctime": "2021-01-14 00:59:09,606",
- "created": 1610582349.6060295,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:25,742",
+ "created": 1755355165.7429857,
"exc_text": null,
"filename": "test.py",
- "funcName": "__report_expectation_equivalency__",
+ "funcName": "__report_expectation__",
"levelname": "DEBUG",
"levelno": 10,
"lineno": 26,
- "message": "Expectation (Filecompare for rotated_image_none.jpg): result = True ()",
+ "message": "Expectation (Media data for unknown.txt): result = None ()",
"module": "test",
- "msecs": 606.0295104980469,
- "msg": "Expectation (%s): result = %s (%s)",
+ "msecs": 742.0,
+ "msg": "Expectation (%s): result %s %s (%s)",
"name": "__unittest__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 2455.437183380127,
+ "relativeCreated": 69.916238,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread"
}
],
- "msecs": 606.0864925384521,
- "msg": "Filecompare for rotated_image_none.jpg is correct (Content %s and Type is %s).",
+ "msecs": 743.0,
+ "msg": "Media data for unknown.txt is correct (Content %s and Type is %s).",
"name": "__tLogger__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 2455.494165420532,
+ "relativeCreated": 69.954073,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread",
- "time_consumption": 5.698204040527344e-05
+ "time_consumption": 3.790855407714844e-05
},
{
"args": [
- "True",
- ""
+ "{'duration': 236.094694, 'bitrate': 290743, 'artist': 'Kaleo', 'title': 'No Good', 'album': 'A/B', 'track': 1, 'genre': 'Rock', 'year': 2016, 'size': 8580366, 'time': 1451606398, 'tm_is_subst': True}",
+ ""
],
- "asctime": "2021-01-14 00:59:09,848",
- "created": 1610582349.8489134,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:25,957",
+ "created": 1755355165.9577332,
"exc_text": null,
"filename": "test.py",
"funcName": "equivalency_chk",
"levelname": "INFO",
"levelno": 20,
- "lineno": 144,
- "message": "Filecompare for rotated_image_6.jpg is correct (Content True and Type is ).",
+ "lineno": 184,
+ "message": "Media data for audio.mp3 is correct (Content {'duration': 236.094694, 'bitrate': 290743, 'artist': 'Kaleo', 'title': 'No Good', 'album': 'A/B', 'track': 1, 'genre': 'Rock', 'year': 2016, 'size': 8580366, 'time': 1451606398, 'tm_is_subst': True} and Type is ).",
"module": "test",
"moduleLogger": [
{
"args": [
+ "{'duration': 236.094694, 'bitrate': 290743, 'artist': 'Kaleo', 'title': 'No Good', 'album': 'A/B', 'track': 1, 'genre': 'Rock', 'year': 2016, 'size': 8580366, 'time': 1451606398, 'tm_is_subst': True}"
+ ],
+ "asctime": "2025-08-16 16:39:25,957",
+ "created": 1755355165.957292,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "get_media_data",
+ "levelname": "INFO",
+ "levelno": 20,
+ "lineno": 45,
+ "message": "Media data identified: {'duration': 236.094694, 'bitrate': 290743, 'artist': 'Kaleo', 'title': 'No Good', 'album': 'A/B', 'track': 1, 'genre': 'Rock', 'year': 2016, 'size': 8580366, 'time': 1451606398, 'tm_is_subst': True}",
+ "module": "metadata",
+ "msecs": 957.0,
+ "msg": "Media data identified: %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 284.222514,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "Media data for audio.mp3",
+ "{ 'duration': 236.094694, 'bitrate': 290743, 'artist': 'Kaleo', 'title': 'No Good', 'album': 'A/B', 'track': 1, 'genre': 'Rock', 'year': 2016, 'size': 8580366, 'time': 1451606398, 'tm_is_subst': True }",
+ ""
+ ],
+ "asctime": "2025-08-16 16:39:25,957",
+ "created": 1755355165.95748,
+ "exc_text": null,
+ "filename": "test.py",
+ "funcName": "__report_result__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 22,
+ "message": "Result (Media data for audio.mp3): { 'duration': 236.094694, 'bitrate': 290743, 'artist': 'Kaleo', 'title': 'No Good', 'album': 'A/B', 'track': 1, 'genre': 'Rock', 'year': 2016, 'size': 8580366, 'time': 1451606398, 'tm_is_subst': True } ()",
+ "module": "test",
+ "msecs": 957.0,
+ "msg": "Result (%s): %s (%s)",
+ "name": "__unittest__",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 284.410512,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "Media data for audio.mp3",
+ "=",
+ "{ 'duration': 236.094694, 'bitrate': 290743, 'artist': 'Kaleo', 'title': 'No Good', 'album': 'A/B', 'track': 1, 'genre': 'Rock', 'year': 2016, 'time': 1451606398, 'tm_is_subst': True, 'size': 8580366 }",
+ ""
+ ],
+ "asctime": "2025-08-16 16:39:25,957",
+ "created": 1755355165.9575794,
+ "exc_text": null,
+ "filename": "test.py",
+ "funcName": "__report_expectation__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 26,
+ "message": "Expectation (Media data for audio.mp3): result = { 'duration': 236.094694, 'bitrate': 290743, 'artist': 'Kaleo', 'title': 'No Good', 'album': 'A/B', 'track': 1, 'genre': 'Rock', 'year': 2016, 'time': 1451606398, 'tm_is_subst': True, 'size': 8580366 } ()",
+ "module": "test",
+ "msecs": 957.0,
+ "msg": "Expectation (%s): result %s %s (%s)",
+ "name": "__unittest__",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 284.509746,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ }
+ ],
+ "msecs": 957.0,
+ "msg": "Media data for audio.mp3 is correct (Content %s and Type is %s).",
+ "name": "__tLogger__",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 284.663589,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread",
+ "time_consumption": 0.0001537799835205078
+ },
+ {
+ "args": [
+ "{'duration': 281.991837, 'bitrate': 228298, 'title': 'Video Games (Album Version Remastered)', 'artist': 'Lana Del Rey', 'album': 'Born To Die', 'genre': 'Pop', 'track': 4, 'year': 2012, 'size': 8047290, 'time': 1325375995, 'tm_is_subst': True}",
+ ""
+ ],
+ "asctime": "2025-08-16 16:39:26,023",
+ "created": 1755355166.0230174,
+ "exc_text": null,
+ "filename": "test.py",
+ "funcName": "equivalency_chk",
+ "levelname": "INFO",
+ "levelno": 20,
+ "lineno": 184,
+ "message": "Media data for audio_fail_conv.mp3 is correct (Content {'duration': 281.991837, 'bitrate': 228298, 'title': 'Video Games (Album Version Remastered)', 'artist': 'Lana Del Rey', 'album': 'Born To Die', 'genre': 'Pop', 'track': 4, 'year': 2012, 'size': 8047290, 'time': 1325375995, 'tm_is_subst': True} and Type is ).",
+ "module": "test",
+ "moduleLogger": [
+ {
+ "args": [
+ "{'duration': 281.991837, 'bitrate': 228298, 'title': 'Video Games (Album Version Remastered)', 'artist': 'Lana Del Rey', 'album': 'Born To Die', 'genre': 'Pop', 'track': 4, 'year': 2012, 'size': 8047290, 'time': 1325375995, 'tm_is_subst': True}"
+ ],
+ "asctime": "2025-08-16 16:39:26,022",
+ "created": 1755355166.0228298,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "get_media_data",
+ "levelname": "INFO",
+ "levelno": 20,
+ "lineno": 45,
+ "message": "Media data identified: {'duration': 281.991837, 'bitrate': 228298, 'title': 'Video Games (Album Version Remastered)', 'artist': 'Lana Del Rey', 'album': 'Born To Die', 'genre': 'Pop', 'track': 4, 'year': 2012, 'size': 8047290, 'time': 1325375995, 'tm_is_subst': True}",
+ "module": "metadata",
+ "msecs": 22.0,
+ "msg": "Media data identified: %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 349.760362,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "Media data for audio_fail_conv.mp3",
+ "{ 'duration': 281.991837, 'bitrate': 228298, 'title': 'Video Games (Album Version Remastered)', 'artist': 'Lana Del Rey', 'album': 'Born To Die', 'genre': 'Pop', 'track': 4, 'year': 2012, 'size': 8047290, 'time': 1325375995, 'tm_is_subst': True }",
+ ""
+ ],
+ "asctime": "2025-08-16 16:39:26,022",
+ "created": 1755355166.022923,
+ "exc_text": null,
+ "filename": "test.py",
+ "funcName": "__report_result__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 22,
+ "message": "Result (Media data for audio_fail_conv.mp3): { 'duration': 281.991837, 'bitrate': 228298, 'title': 'Video Games (Album Version Remastered)', 'artist': 'Lana Del Rey', 'album': 'Born To Die', 'genre': 'Pop', 'track': 4, 'year': 2012, 'size': 8047290, 'time': 1325375995, 'tm_is_subst': True } ()",
+ "module": "test",
+ "msecs": 22.0,
+ "msg": "Result (%s): %s (%s)",
+ "name": "__unittest__",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 349.853379,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "Media data for audio_fail_conv.mp3",
+ "=",
+ "{ 'duration': 281.991837, 'bitrate': 228298, 'artist': 'Lana Del Rey', 'title': 'Video Games (Album Version Remastered)', 'album': 'Born To Die', 'track': 4, 'genre': 'Pop', 'year': 2012, 'time': 1325375995, 'tm_is_subst': True, 'size': 8047290 }",
+ ""
+ ],
+ "asctime": "2025-08-16 16:39:26,022",
+ "created": 1755355166.0229683,
+ "exc_text": null,
+ "filename": "test.py",
+ "funcName": "__report_expectation__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 26,
+ "message": "Expectation (Media data for audio_fail_conv.mp3): result = { 'duration': 281.991837, 'bitrate': 228298, 'artist': 'Lana Del Rey', 'title': 'Video Games (Album Version Remastered)', 'album': 'Born To Die', 'track': 4, 'genre': 'Pop', 'year': 2012, 'time': 1325375995, 'tm_is_subst': True, 'size': 8047290 } ()",
+ "module": "test",
+ "msecs": 22.0,
+ "msg": "Expectation (%s): result %s %s (%s)",
+ "name": "__unittest__",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 349.898694,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ }
+ ],
+ "msecs": 23.0,
+ "msg": "Media data for audio_fail_conv.mp3 is correct (Content %s and Type is %s).",
+ "name": "__tLogger__",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 349.948085,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread",
+ "time_consumption": 4.9114227294921875e-05
+ },
+ {
+ "args": [
+ "{'duration': 120.476735, 'bitrate': 240202, 'title': 'Was bringt der Dezember', 'artist': 'Rolf und seine Freunde', 'album': 'Wir warten auf Weihnachten', 'year': 0, 'track': 9, 'genre': 'Other', 'size': 3617354}",
+ ""
+ ],
+ "asctime": "2025-08-16 16:39:26,075",
+ "created": 1755355166.0751243,
+ "exc_text": null,
+ "filename": "test.py",
+ "funcName": "equivalency_chk",
+ "levelname": "INFO",
+ "levelno": 20,
+ "lineno": 184,
+ "message": "Media data for audio_year_0.mp3 is correct (Content {'duration': 120.476735, 'bitrate': 240202, 'title': 'Was bringt der Dezember', 'artist': 'Rolf und seine Freunde', 'album': 'Wir warten auf Weihnachten', 'year': 0, 'track': 9, 'genre': 'Other', 'size': 3617354} and Type is ).",
+ "module": "test",
+ "moduleLogger": [
+ {
+ "args": [
+ "{'duration': 120.476735, 'bitrate': 240202, 'title': 'Was bringt der Dezember', 'artist': 'Rolf und seine Freunde', 'album': 'Wir warten auf Weihnachten', 'year': 0, 'track': 9, 'genre': 'Other', 'size': 3617354}"
+ ],
+ "asctime": "2025-08-16 16:39:26,074",
+ "created": 1755355166.0749454,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "get_media_data",
+ "levelname": "INFO",
+ "levelno": 20,
+ "lineno": 45,
+ "message": "Media data identified: {'duration': 120.476735, 'bitrate': 240202, 'title': 'Was bringt der Dezember', 'artist': 'Rolf und seine Freunde', 'album': 'Wir warten auf Weihnachten', 'year': 0, 'track': 9, 'genre': 'Other', 'size': 3617354}",
+ "module": "metadata",
+ "msecs": 74.0,
+ "msg": "Media data identified: %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 401.876152,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "Media data for audio_year_0.mp3",
+ "{ 'duration': 120.476735, 'bitrate': 240202, 'title': 'Was bringt der Dezember', 'artist': 'Rolf und seine Freunde', 'album': 'Wir warten auf Weihnachten', 'year': 0, 'track': 9, 'genre': 'Other', 'size': 3617354 }",
+ ""
+ ],
+ "asctime": "2025-08-16 16:39:26,075",
+ "created": 1755355166.0750394,
+ "exc_text": null,
+ "filename": "test.py",
+ "funcName": "__report_result__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 22,
+ "message": "Result (Media data for audio_year_0.mp3): { 'duration': 120.476735, 'bitrate': 240202, 'title': 'Was bringt der Dezember', 'artist': 'Rolf und seine Freunde', 'album': 'Wir warten auf Weihnachten', 'year': 0, 'track': 9, 'genre': 'Other', 'size': 3617354 } ()",
+ "module": "test",
+ "msecs": 75.0,
+ "msg": "Result (%s): %s (%s)",
+ "name": "__unittest__",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 401.969976,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "Media data for audio_year_0.mp3",
+ "=",
+ "{ 'duration': 120.476735, 'bitrate': 240202, 'artist': 'Rolf und seine Freunde', 'title': 'Was bringt der Dezember', 'album': 'Wir warten auf Weihnachten', 'track': 9, 'genre': 'Other', 'year': 0, 'size': 3617354 }",
+ ""
+ ],
+ "asctime": "2025-08-16 16:39:26,075",
+ "created": 1755355166.0750792,
+ "exc_text": null,
+ "filename": "test.py",
+ "funcName": "__report_expectation__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 26,
+ "message": "Expectation (Media data for audio_year_0.mp3): result = { 'duration': 120.476735, 'bitrate': 240202, 'artist': 'Rolf und seine Freunde', 'title': 'Was bringt der Dezember', 'album': 'Wir warten auf Weihnachten', 'track': 9, 'genre': 'Other', 'year': 0, 'size': 3617354 } ()",
+ "module": "test",
+ "msecs": 75.0,
+ "msg": "Expectation (%s): result %s %s (%s)",
+ "name": "__unittest__",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 402.009636,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ }
+ ],
+ "msecs": 75.0,
+ "msg": "Media data for audio_year_0.mp3 is correct (Content %s and Type is %s).",
+ "name": "__tLogger__",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 402.054767,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread",
+ "time_consumption": 4.506111145019531e-05
+ },
+ {
+ "args": [
+ "{'time': 1560083621, 'exposure_program': 'Program Normal', 'exposure_time': 0.007633587786259542, 'flash': 'Off', 'aperture': 2.2, 'focal_length': 3.463, 'gps': {'lon': 11.574697, 'lat': 52.993599}, 'height': 3120, 'iso': 100, 'orientation': 6, 'width': 4160, 'size': 4524705, 'camera': 'motorola: motorola one'}",
+ ""
+ ],
+ "asctime": "2025-08-16 16:39:26,097",
+ "created": 1755355166.0973802,
+ "exc_text": null,
+ "filename": "test.py",
+ "funcName": "equivalency_chk",
+ "levelname": "INFO",
+ "levelno": 20,
+ "lineno": 184,
+ "message": "Media data for image_exif_gps.jpg is correct (Content {'time': 1560083621, 'exposure_program': 'Program Normal', 'exposure_time': 0.007633587786259542, 'flash': 'Off', 'aperture': 2.2, 'focal_length': 3.463, 'gps': {'lon': 11.574697, 'lat': 52.993599}, 'height': 3120, 'iso': 100, 'orientation': 6, 'width': 4160, 'size': 4524705, 'camera': 'motorola: motorola one'} and Type is ).",
+ "module": "test",
+ "moduleLogger": [
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,091",
+ "created": 1755355166.0913384,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: Make (271) - type: string (2) Tag Location: 22 - Data Location: 146 - value: b'motorola\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 91.0,
+ "msg": "tag: Make (271) - type: string (2) Tag Location: 22 - Data Location: 146 - value: b'motorola\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 418.268986,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,091",
+ "created": 1755355166.0913985,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: Model (272) - type: string (2) Tag Location: 34 - Data Location: 156 - value: b'motorola one\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 91.0,
+ "msg": "tag: Model (272) - type: string (2) Tag Location: 34 - Data Location: 156 - value: b'motorola one\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 418.328778,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,091",
+ "created": 1755355166.0914278,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: Orientation (274) - type: short (3) - value: b'\\x00\\x06'",
+ "module": "TiffImagePlugin",
+ "msecs": 91.0,
+ "msg": "tag: Orientation (274) - type: short (3) - value: b'\\x00\\x06'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 418.358304,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,091",
+ "created": 1755355166.0914567,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: XResolution (282) - type: rational (5) Tag Location: 58 - Data Location: 170 - value: b'\\x00\\x00\\x00H\\x00\\x00\\x00\\x01'",
+ "module": "TiffImagePlugin",
+ "msecs": 91.0,
+ "msg": "tag: XResolution (282) - type: rational (5) Tag Location: 58 - Data Location: 170 - value: b'\\x00\\x00\\x00H\\x00\\x00\\x00\\x01'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 418.387202,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,091",
+ "created": 1755355166.0914888,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: YResolution (283) - type: rational (5) Tag Location: 70 - Data Location: 178 - value: b'\\x00\\x00\\x00H\\x00\\x00\\x00\\x01'",
+ "module": "TiffImagePlugin",
+ "msecs": 91.0,
+ "msg": "tag: YResolution (283) - type: rational (5) Tag Location: 70 - Data Location: 178 - value: b'\\x00\\x00\\x00H\\x00\\x00\\x00\\x01'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 418.419296,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,091",
+ "created": 1755355166.0915167,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ResolutionUnit (296) - type: short (3) - value: b'\\x00\\x02'",
+ "module": "TiffImagePlugin",
+ "msecs": 91.0,
+ "msg": "tag: ResolutionUnit (296) - type: short (3) - value: b'\\x00\\x02'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 418.447133,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,091",
+ "created": 1755355166.0915453,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: Software (305) - type: string (2) Tag Location: 94 - Data Location: 186 - value: ",
+ "module": "TiffImagePlugin",
+ "msecs": 91.0,
+ "msg": "tag: Software (305) - type: string (2) Tag Location: 94 - Data Location: 186 - value: ",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 418.475708,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,091",
+ "created": 1755355166.091573,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: DateTime (306) - type: string (2) Tag Location: 106 - Data Location: 236 - value: b'2019:06:09 14:33:41\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 91.0,
+ "msg": "tag: DateTime (306) - type: string (2) Tag Location: 106 - Data Location: 236 - value: b'2019:06:09 14:33:41\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 418.503376,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,091",
+ "created": 1755355166.091598,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: YCbCrPositioning (531) - type: short (3) - value: b'\\x00\\x01'",
+ "module": "TiffImagePlugin",
+ "msecs": 91.0,
+ "msg": "tag: YCbCrPositioning (531) - type: short (3) - value: b'\\x00\\x01'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 418.528655,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,091",
+ "created": 1755355166.091625,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ExifIFD (34665) - type: long (4) - value: b'\\x00\\x00\\x01\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 91.0,
+ "msg": "tag: ExifIFD (34665) - type: long (4) - value: b'\\x00\\x00\\x01\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 418.55548,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,091",
+ "created": 1755355166.0916555,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: GPSInfoIFD (34853) - type: long (4) - value: b'\\x00\\x00\\x04v'",
+ "module": "TiffImagePlugin",
+ "msecs": 91.0,
+ "msg": "tag: GPSInfoIFD (34853) - type: long (4) - value: b'\\x00\\x00\\x04v'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 418.585961,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,092",
+ "created": 1755355166.0920725,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ExposureTime (33434) - type: rational (5) Tag Location: 270 - Data Location: 634 - value: b'\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x83'",
+ "module": "TiffImagePlugin",
+ "msecs": 92.0,
+ "msg": "tag: ExposureTime (33434) - type: rational (5) Tag Location: 270 - Data Location: 634 - value: b'\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x83'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 419.002996,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,092",
+ "created": 1755355166.0921173,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: FNumber (33437) - type: rational (5) Tag Location: 282 - Data Location: 642 - value: b'\\x00\\x00\\x00\\x16\\x00\\x00\\x00\\n'",
+ "module": "TiffImagePlugin",
+ "msecs": 92.0,
+ "msg": "tag: FNumber (33437) - type: rational (5) Tag Location: 282 - Data Location: 642 - value: b'\\x00\\x00\\x00\\x16\\x00\\x00\\x00\\n'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 419.047747,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,092",
+ "created": 1755355166.0921504,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ExposureProgram (34850) - type: short (3) - value: b'\\x00\\x02'",
+ "module": "TiffImagePlugin",
+ "msecs": 92.0,
+ "msg": "tag: ExposureProgram (34850) - type: short (3) - value: b'\\x00\\x02'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 419.080999,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,092",
+ "created": 1755355166.092179,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ISOSpeedRatings (34855) - type: short (3) - value: b'\\x00d'",
+ "module": "TiffImagePlugin",
+ "msecs": 92.0,
+ "msg": "tag: ISOSpeedRatings (34855) - type: short (3) - value: b'\\x00d'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 419.109525,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,092",
+ "created": 1755355166.0922074,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ExifVersion (36864) - type: undefined (7) - value: b'0220'",
+ "module": "TiffImagePlugin",
+ "msecs": 92.0,
+ "msg": "tag: ExifVersion (36864) - type: undefined (7) - value: b'0220'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 419.137856,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,092",
+ "created": 1755355166.0922382,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: DateTimeOriginal (36867) - type: string (2) Tag Location: 330 - Data Location: 650 - value: b'2019:06:09 14:33:41\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 92.0,
+ "msg": "tag: DateTimeOriginal (36867) - type: string (2) Tag Location: 330 - Data Location: 650 - value: b'2019:06:09 14:33:41\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 419.168516,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,092",
+ "created": 1755355166.0922678,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: DateTimeDigitized (36868) - type: string (2) Tag Location: 342 - Data Location: 670 - value: b'2019:06:09 14:33:41\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 92.0,
+ "msg": "tag: DateTimeDigitized (36868) - type: string (2) Tag Location: 342 - Data Location: 670 - value: b'2019:06:09 14:33:41\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 419.198233,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,092",
+ "created": 1755355166.0922954,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ComponentsConfiguration (37121) - type: undefined (7) - value: b'\\x01\\x02\\x03\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 92.0,
+ "msg": "tag: ComponentsConfiguration (37121) - type: undefined (7) - value: b'\\x01\\x02\\x03\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 419.225812,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,092",
+ "created": 1755355166.0923245,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ShutterSpeedValue (37377) - type: signed rational (10) Tag Location: 366 - Data Location: 690 - value: b'\\x00\\x00\\x1b}\\x00\\x00\\x03\\xe8'",
+ "module": "TiffImagePlugin",
+ "msecs": 92.0,
+ "msg": "tag: ShutterSpeedValue (37377) - type: signed rational (10) Tag Location: 366 - Data Location: 690 - value: b'\\x00\\x00\\x1b}\\x00\\x00\\x03\\xe8'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 419.25519,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,092",
+ "created": 1755355166.092354,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ApertureValue (37378) - type: rational (5) Tag Location: 378 - Data Location: 698 - value: b'\\x00\\x03x\\xac\\x00\\x01\\x86\\xa0'",
+ "module": "TiffImagePlugin",
+ "msecs": 92.0,
+ "msg": "tag: ApertureValue (37378) - type: rational (5) Tag Location: 378 - Data Location: 698 - value: b'\\x00\\x03x\\xac\\x00\\x01\\x86\\xa0'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 419.284643,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,092",
+ "created": 1755355166.0923839,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: BrightnessValue (37379) - type: signed rational (10) Tag Location: 390 - Data Location: 706 - value: b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00d'",
+ "module": "TiffImagePlugin",
+ "msecs": 92.0,
+ "msg": "tag: BrightnessValue (37379) - type: signed rational (10) Tag Location: 390 - Data Location: 706 - value: b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00d'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 419.314212,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,092",
+ "created": 1755355166.0924127,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ExposureBiasValue (37380) - type: signed rational (10) Tag Location: 402 - Data Location: 714 - value: b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x06'",
+ "module": "TiffImagePlugin",
+ "msecs": 92.0,
+ "msg": "tag: ExposureBiasValue (37380) - type: signed rational (10) Tag Location: 402 - Data Location: 714 - value: b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x06'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 419.343207,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,092",
+ "created": 1755355166.0924413,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: MaxApertureValue (37381) - type: rational (5) Tag Location: 414 - Data Location: 722 - value: b'\\x00\\x03x\\xac\\x00\\x01\\x86\\xa0'",
+ "module": "TiffImagePlugin",
+ "msecs": 92.0,
+ "msg": "tag: MaxApertureValue (37381) - type: rational (5) Tag Location: 414 - Data Location: 722 - value: b'\\x00\\x03x\\xac\\x00\\x01\\x86\\xa0'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 419.371859,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,092",
+ "created": 1755355166.0924675,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: MeteringMode (37383) - type: short (3) - value: b'\\x00\\x02'",
+ "module": "TiffImagePlugin",
+ "msecs": 92.0,
+ "msg": "tag: MeteringMode (37383) - type: short (3) - value: b'\\x00\\x02'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 419.397866,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,092",
+ "created": 1755355166.0924933,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: Flash (37385) - type: short (3) - value: b'\\x00\\x10'",
+ "module": "TiffImagePlugin",
+ "msecs": 92.0,
+ "msg": "tag: Flash (37385) - type: short (3) - value: b'\\x00\\x10'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 419.423798,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,092",
+ "created": 1755355166.092521,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: FocalLength (37386) - type: rational (5) Tag Location: 450 - Data Location: 730 - value: b'\\x00\\x00\\r\\x87\\x00\\x00\\x03\\xe8'",
+ "module": "TiffImagePlugin",
+ "msecs": 92.0,
+ "msg": "tag: FocalLength (37386) - type: rational (5) Tag Location: 450 - Data Location: 730 - value: b'\\x00\\x00\\r\\x87\\x00\\x00\\x03\\xe8'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 419.451354,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,092",
+ "created": 1755355166.0925498,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: MakerNote (37500) - type: undefined (7) Tag Location: 462 - Data Location: 738 - value: ",
+ "module": "TiffImagePlugin",
+ "msecs": 92.0,
+ "msg": "tag: MakerNote (37500) - type: undefined (7) Tag Location: 462 - Data Location: 738 - value: ",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 419.480286,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,092",
+ "created": 1755355166.0925817,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: SubSec (37520) - type: string (2) Tag Location: 474 - Data Location: 1080 - value: b'013315\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 92.0,
+ "msg": "tag: SubSec (37520) - type: string (2) Tag Location: 474 - Data Location: 1080 - value: b'013315\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 419.512022,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,092",
+ "created": 1755355166.0926132,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: SubSecTimeOriginal (37521) - type: string (2) Tag Location: 486 - Data Location: 1088 - value: b'013315\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 92.0,
+ "msg": "tag: SubSecTimeOriginal (37521) - type: string (2) Tag Location: 486 - Data Location: 1088 - value: b'013315\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 419.543508,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,092",
+ "created": 1755355166.0926409,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: SubsecTimeDigitized (37522) - type: string (2) Tag Location: 498 - Data Location: 1096 - value: b'013315\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 92.0,
+ "msg": "tag: SubsecTimeDigitized (37522) - type: string (2) Tag Location: 498 - Data Location: 1096 - value: b'013315\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 419.57118,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,092",
+ "created": 1755355166.0926712,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: FlashPixVersion (40960) - type: undefined (7) - value: b'0100'",
+ "module": "TiffImagePlugin",
+ "msecs": 92.0,
+ "msg": "tag: FlashPixVersion (40960) - type: undefined (7) - value: b'0100'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 419.601617,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,092",
+ "created": 1755355166.0926986,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ColorSpace (40961) - type: short (3) - value: b'\\x00\\x01'",
+ "module": "TiffImagePlugin",
+ "msecs": 92.0,
+ "msg": "tag: ColorSpace (40961) - type: short (3) - value: b'\\x00\\x01'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 419.629157,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,092",
+ "created": 1755355166.0927253,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: PixelXDimension (40962) - type: long (4) - value: b'\\x00\\x00\\x10@'",
+ "module": "TiffImagePlugin",
+ "msecs": 92.0,
+ "msg": "tag: PixelXDimension (40962) - type: long (4) - value: b'\\x00\\x00\\x10@'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 419.655639,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,092",
+ "created": 1755355166.0927534,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: PixelYDimension (40963) - type: long (4) - value: b'\\x00\\x00\\x0c0'",
+ "module": "TiffImagePlugin",
+ "msecs": 92.0,
+ "msg": "tag: PixelYDimension (40963) - type: long (4) - value: b'\\x00\\x00\\x0c0'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 419.683845,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,092",
+ "created": 1755355166.092778,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: InteroperabilityIFD (40965) - type: long (4) - value: b'\\x00\\x00\\x04X'",
+ "module": "TiffImagePlugin",
+ "msecs": 92.0,
+ "msg": "tag: InteroperabilityIFD (40965) - type: long (4) - value: b'\\x00\\x00\\x04X'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 419.708464,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,092",
+ "created": 1755355166.0928044,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: SceneType (41729) - type: undefined (7) - value: b'\\x01'",
+ "module": "TiffImagePlugin",
+ "msecs": 92.0,
+ "msg": "tag: SceneType (41729) - type: undefined (7) - value: b'\\x01'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 419.734753,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,092",
+ "created": 1755355166.0928307,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: CustomRendered (41985) - type: short (3) - value: b'\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 92.0,
+ "msg": "tag: CustomRendered (41985) - type: short (3) - value: b'\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 419.76121,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,092",
+ "created": 1755355166.0928574,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ExposureMode (41986) - type: short (3) - value: b'\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 92.0,
+ "msg": "tag: ExposureMode (41986) - type: short (3) - value: b'\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 419.787786,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,092",
+ "created": 1755355166.092883,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: WhiteBalance (41987) - type: short (3) - value: b'\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 92.0,
+ "msg": "tag: WhiteBalance (41987) - type: short (3) - value: b'\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 419.813657,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,092",
+ "created": 1755355166.0929134,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: DigitalZoomRatio (41988) - type: rational (5) Tag Location: 618 - Data Location: 1104 - value: b'\\x00\\x00\\x00d\\x00\\x00\\x00d'",
+ "module": "TiffImagePlugin",
+ "msecs": 92.0,
+ "msg": "tag: DigitalZoomRatio (41988) - type: rational (5) Tag Location: 618 - Data Location: 1104 - value: b'\\x00\\x00\\x00d\\x00\\x00\\x00d'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 419.843868,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,092",
+ "created": 1755355166.0929408,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: SceneCaptureType (41990) - type: short (3) - value: b'\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 92.0,
+ "msg": "tag: SceneCaptureType (41990) - type: short (3) - value: b'\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 419.871236,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,093",
+ "created": 1755355166.0933645,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: GPSVersionID (0) - type: byte (1) - value: b'\\x02\\x02\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 93.0,
+ "msg": "tag: GPSVersionID (0) - type: byte (1) - value: b'\\x02\\x02\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 420.295051,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,093",
+ "created": 1755355166.093398,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: GPSLatitudeRef (1) - type: string (2) - value: b'N\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 93.0,
+ "msg": "tag: GPSLatitudeRef (1) - type: string (2) - value: b'N\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 420.32852,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,093",
+ "created": 1755355166.0934289,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: GPSLatitude (2) - type: rational (5) Tag Location: 1180 - Data Location: 1280 - value: b\"\\x00\\x00\\x004\\x00\\x00\\x00\\x01\\x00\\x00\\x00;\\x00\\x00\\x00\\x01\\x00\\x05\\xa3\\x9c\\x00\\x00'\\x10\"",
+ "module": "TiffImagePlugin",
+ "msecs": 93.0,
+ "msg": "tag: GPSLatitude (2) - type: rational (5) Tag Location: 1180 - Data Location: 1280 - value: b\"\\x00\\x00\\x004\\x00\\x00\\x00\\x01\\x00\\x00\\x00;\\x00\\x00\\x00\\x01\\x00\\x05\\xa3\\x9c\\x00\\x00'\\x10\"",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 420.359318,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,093",
+ "created": 1755355166.0934556,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: GPSLongitudeRef (3) - type: string (2) - value: b'E\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 93.0,
+ "msg": "tag: GPSLongitudeRef (3) - type: string (2) - value: b'E\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 420.38598,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,093",
+ "created": 1755355166.0934832,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: GPSLongitude (4) - type: rational (5) Tag Location: 1204 - Data Location: 1304 - value: b'\\x00\\x00\\x00\\x0b\\x00\\x00\\x00\\x01\\x00\\x00\\x00\"\\x00\\x00\\x00\\x01\\x00\\x04iD\\x00\\x00\\'\\x10'",
+ "module": "TiffImagePlugin",
+ "msecs": 93.0,
+ "msg": "tag: GPSLongitude (4) - type: rational (5) Tag Location: 1204 - Data Location: 1304 - value: b'\\x00\\x00\\x00\\x0b\\x00\\x00\\x00\\x01\\x00\\x00\\x00\"\\x00\\x00\\x00\\x01\\x00\\x04iD\\x00\\x00\\'\\x10'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 420.413876,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,093",
+ "created": 1755355166.0935118,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: GPSAltitudeRef (5) - type: byte (1) - value: b'\\x01'",
+ "module": "TiffImagePlugin",
+ "msecs": 93.0,
+ "msg": "tag: GPSAltitudeRef (5) - type: byte (1) - value: b'\\x01'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 420.442352,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,093",
+ "created": 1755355166.0935395,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: GPSAltitude (6) - type: rational (5) Tag Location: 1228 - Data Location: 1328 - value: b'\\x00\\x00\\xc1\\xca\\x00\\x00\\x03\\xe8'",
+ "module": "TiffImagePlugin",
+ "msecs": 93.0,
+ "msg": "tag: GPSAltitude (6) - type: rational (5) Tag Location: 1228 - Data Location: 1328 - value: b'\\x00\\x00\\xc1\\xca\\x00\\x00\\x03\\xe8'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 420.470162,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,093",
+ "created": 1755355166.0935667,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: GPSTimeStamp (7) - type: rational (5) Tag Location: 1240 - Data Location: 1336 - value: b\"\\x00\\x00\\x00\\x0c\\x00\\x00\\x00\\x01\\x00\\x00\\x00!\\x00\\x00\\x00\\x01\\x00\\x00\\x00'\\x00\\x00\\x00\\x01\"",
+ "module": "TiffImagePlugin",
+ "msecs": 93.0,
+ "msg": "tag: GPSTimeStamp (7) - type: rational (5) Tag Location: 1240 - Data Location: 1336 - value: b\"\\x00\\x00\\x00\\x0c\\x00\\x00\\x00\\x01\\x00\\x00\\x00!\\x00\\x00\\x00\\x01\\x00\\x00\\x00'\\x00\\x00\\x00\\x01\"",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 420.497327,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,093",
+ "created": 1755355166.0935984,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: GPSMapDatum (18) - type: string (2) Tag Location: 1252 - Data Location: 1360 - value: b'WGS-84\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 93.0,
+ "msg": "tag: GPSMapDatum (18) - type: string (2) Tag Location: 1252 - Data Location: 1360 - value: b'WGS-84\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 420.528872,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,093",
+ "created": 1755355166.093625,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: GPSProcessingMethod (27) - type: string (2) Tag Location: 1264 - Data Location: 1368 - value: b'ASCII\\x00\\x00\\x00GPS\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 93.0,
+ "msg": "tag: GPSProcessingMethod (27) - type: string (2) Tag Location: 1264 - Data Location: 1368 - value: b'ASCII\\x00\\x00\\x00GPS\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 420.555608,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,093",
+ "created": 1755355166.0936596,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: GPSDateStamp (29) - type: string (2) Tag Location: 1276 - Data Location: 1380 - value: b'2019:06:09\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 93.0,
+ "msg": "tag: GPSDateStamp (29) - type: string (2) Tag Location: 1276 - Data Location: 1380 - value: b'2019:06:09\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 420.590263,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "time",
+ "'2019:06:09 14:33:41'"
+ ],
+ "asctime": "2025-08-16 16:39:26,093",
+ "created": 1755355166.0938516,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting time out of '2019:06:09 14:33:41'",
+ "module": "metadata",
+ "msecs": 93.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 420.782258,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "exposure_program",
+ "2"
+ ],
+ "asctime": "2025-08-16 16:39:26,096",
+ "created": 1755355166.096769,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting exposure_program out of 2",
+ "module": "metadata",
+ "msecs": 96.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 423.699499,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "exposure_time",
+ "0.007633587786259542"
+ ],
+ "asctime": "2025-08-16 16:39:26,096",
+ "created": 1755355166.0968258,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting exposure_time out of 0.007633587786259542",
+ "module": "metadata",
+ "msecs": 96.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 423.756437,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "flash",
+ "16"
+ ],
+ "asctime": "2025-08-16 16:39:26,096",
+ "created": 1755355166.0968587,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting flash out of 16",
+ "module": "metadata",
+ "msecs": 96.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 423.789139,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "aperture",
+ "2.2"
+ ],
+ "asctime": "2025-08-16 16:39:26,096",
+ "created": 1755355166.0968888,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting aperture out of 2.2",
+ "module": "metadata",
+ "msecs": 96.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 423.819337,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "focal_length",
+ "3.463"
+ ],
+ "asctime": "2025-08-16 16:39:26,096",
+ "created": 1755355166.0969155,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting focal_length out of 3.463",
+ "module": "metadata",
+ "msecs": 96.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 423.845873,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "gps",
+ "{0: b'\\x02\\x02\\x00\\x00', 1: 'N', 2: (52.0, 59.0, 36.9564), 3: 'E', 4: (11.0, 34.0, 28.9092), 5: b'\\x01', 6: 49.61, 7: (12.0, 33.0, 39.0), 18: 'WGS-84', 27: 'ASCII\\x00\\x00\\x00GPS', 29: '2019:06:09'}"
+ ],
+ "asctime": "2025-08-16 16:39:26,096",
+ "created": 1755355166.0969584,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting gps out of {0: b'\\x02\\x02\\x00\\x00', 1: 'N', 2: (52.0, 59.0, 36.9564), 3: 'E', 4: (11.0, 34.0, 28.9092), 5: b'\\x01', 6: 49.61, 7: (12.0, 33.0, 39.0), 18: 'WGS-84', 27: 'ASCII\\x00\\x00\\x00GPS', 29: '2019:06:09'}",
+ "module": "metadata",
+ "msecs": 96.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 423.889027,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "height",
+ "3120"
+ ],
+ "asctime": "2025-08-16 16:39:26,097",
+ "created": 1755355166.0970333,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting height out of 3120",
+ "module": "metadata",
+ "msecs": 97.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 423.963695,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "iso",
+ "100"
+ ],
+ "asctime": "2025-08-16 16:39:26,097",
+ "created": 1755355166.0970612,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting iso out of 100",
+ "module": "metadata",
+ "msecs": 97.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 423.991659,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "camera_vendor",
+ "'motorola'"
+ ],
+ "asctime": "2025-08-16 16:39:26,097",
+ "created": 1755355166.0970833,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting camera_vendor out of 'motorola'",
+ "module": "metadata",
+ "msecs": 97.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 424.013781,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "camera_model",
+ "'motorola one'"
+ ],
+ "asctime": "2025-08-16 16:39:26,097",
+ "created": 1755355166.0971038,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting camera_model out of 'motorola one'",
+ "module": "metadata",
+ "msecs": 97.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 424.034421,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "orientation",
"6"
],
- "asctime": "2021-01-14 00:59:09,606",
- "created": 1610582349.6061897,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,097",
+ "created": 1755355166.0971246,
"exc_text": null,
- "filename": "test_image.py",
- "funcName": "rotate_by_orientation",
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
"levelname": "DEBUG",
"levelno": 10,
- "lineno": 78,
- "message": "Rotate with orientation 6",
- "module": "test_image",
- "msecs": 606.1897277832031,
- "msg": "Rotate with orientation %s",
- "name": "__unittest__",
- "pathname": "src/tests/test_image.py",
- "process": 21433,
+ "lineno": 243,
+ "message": "Converting orientation out of 6",
+ "module": "metadata",
+ "msecs": 97.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 2455.597400665283,
+ "relativeCreated": 424.055088,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread"
},
{
"args": [
- "Filecompare for rotated_image_6.jpg",
- "True",
- ""
+ "width",
+ "4160"
],
- "asctime": "2021-01-14 00:59:09,848",
- "created": 1610582349.848767,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,097",
+ "created": 1755355166.097145,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting width out of 4160",
+ "module": "metadata",
+ "msecs": 97.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 424.075663,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "{'time': 1560083621, 'exposure_program': 'Program Normal', 'exposure_time': 0.007633587786259542, 'flash': 'Off', 'aperture': 2.2, 'focal_length': 3.463, 'gps': {'lon': 11.574697, 'lat': 52.993599}, 'height': 3120, 'iso': 100, 'orientation': 6, 'width': 4160, 'size': 4524705, 'camera': 'motorola: motorola one'}"
+ ],
+ "asctime": "2025-08-16 16:39:26,097",
+ "created": 1755355166.0972004,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "get_media_data",
+ "levelname": "INFO",
+ "levelno": 20,
+ "lineno": 45,
+ "message": "Media data identified: {'time': 1560083621, 'exposure_program': 'Program Normal', 'exposure_time': 0.007633587786259542, 'flash': 'Off', 'aperture': 2.2, 'focal_length': 3.463, 'gps': {'lon': 11.574697, 'lat': 52.993599}, 'height': 3120, 'iso': 100, 'orientation': 6, 'width': 4160, 'size': 4524705, 'camera': 'motorola: motorola one'}",
+ "module": "metadata",
+ "msecs": 97.0,
+ "msg": "Media data identified: %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 424.130893,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "Media data for image_exif_gps.jpg",
+ "{ 'time': 1560083621, 'exposure_program': 'Program Normal', 'exposure_time': 0.007633587786259542, 'flash': 'Off', 'aperture': 2.2, 'focal_length': 3.463, 'gps': { 'lon': 11.574697, 'lat': 52.993599 }, 'height': 3120, 'iso': 100, 'orientation': 6, 'width': 4160, 'size': 4524705, 'camera': 'motorola: motorola one' }",
+ ""
+ ],
+ "asctime": "2025-08-16 16:39:26,097",
+ "created": 1755355166.0972867,
"exc_text": null,
"filename": "test.py",
"funcName": "__report_result__",
"levelname": "DEBUG",
"levelno": 10,
"lineno": 22,
- "message": "Result (Filecompare for rotated_image_6.jpg): True ()",
+ "message": "Result (Media data for image_exif_gps.jpg): { 'time': 1560083621, 'exposure_program': 'Program Normal', 'exposure_time': 0.007633587786259542, 'flash': 'Off', 'aperture': 2.2, 'focal_length': 3.463, 'gps': { 'lon': 11.574697, 'lat': 52.993599 }, 'height': 3120, 'iso': 100, 'orientation': 6, 'width': 4160, 'size': 4524705, 'camera': 'motorola: motorola one' } ()",
"module": "test",
- "msecs": 848.7670421600342,
+ "msecs": 97.0,
"msg": "Result (%s): %s (%s)",
"name": "__unittest__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 2698.1747150421143,
+ "relativeCreated": 424.217204,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread"
},
{
"args": [
- "Filecompare for rotated_image_6.jpg",
- "True",
- ""
+ "Media data for image_exif_gps.jpg",
+ "=",
+ "{ 'time': 1560083621, 'exposure_program': 'Program Normal', 'exposure_time': 0.007633587786259542, 'flash': 'Off', 'aperture': 2.2, 'focal_length': 3.463, 'gps': { 'lon': 11.574697, 'lat': 52.993599 }, 'height': 3120, 'iso': 100, 'orientation': 6, 'width': 4160, 'camera': 'motorola: motorola one', 'size': 4524705 }",
+ ""
],
- "asctime": "2021-01-14 00:59:09,848",
- "created": 1610582349.848868,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,097",
+ "created": 1755355166.0973299,
"exc_text": null,
"filename": "test.py",
- "funcName": "__report_expectation_equivalency__",
+ "funcName": "__report_expectation__",
"levelname": "DEBUG",
"levelno": 10,
"lineno": 26,
- "message": "Expectation (Filecompare for rotated_image_6.jpg): result = True ()",
+ "message": "Expectation (Media data for image_exif_gps.jpg): result = { 'time': 1560083621, 'exposure_program': 'Program Normal', 'exposure_time': 0.007633587786259542, 'flash': 'Off', 'aperture': 2.2, 'focal_length': 3.463, 'gps': { 'lon': 11.574697, 'lat': 52.993599 }, 'height': 3120, 'iso': 100, 'orientation': 6, 'width': 4160, 'camera': 'motorola: motorola one', 'size': 4524705 } ()",
"module": "test",
- "msecs": 848.8678932189941,
- "msg": "Expectation (%s): result = %s (%s)",
+ "msecs": 97.0,
+ "msg": "Expectation (%s): result %s %s (%s)",
"name": "__unittest__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 2698.275566101074,
+ "relativeCreated": 424.26053,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread"
}
],
- "msecs": 848.9134311676025,
- "msg": "Filecompare for rotated_image_6.jpg is correct (Content %s and Type is %s).",
+ "msecs": 97.0,
+ "msg": "Media data for image_exif_gps.jpg is correct (Content %s and Type is %s).",
"name": "__tLogger__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 2698.3211040496826,
+ "relativeCreated": 424.310682,
"stack_info": null,
- "thread": 140195114268480,
- "threadName": "MainThread",
- "time_consumption": 4.553794860839844e-05
- },
- {
- "args": [
- "True",
- ""
- ],
- "asctime": "2021-01-14 00:59:10,107",
- "created": 1610582350.1071022,
- "exc_info": null,
- "exc_text": null,
- "filename": "test.py",
- "funcName": "equivalency_chk",
- "levelname": "INFO",
- "levelno": 20,
- "lineno": 144,
- "message": "Filecompare for rotated_image_8.jpg is correct (Content True and Type is ).",
- "module": "test",
- "moduleLogger": [
- {
- "args": [
- "8"
- ],
- "asctime": "2021-01-14 00:59:09,849",
- "created": 1610582349.8490083,
- "exc_info": null,
- "exc_text": null,
- "filename": "test_image.py",
- "funcName": "rotate_by_orientation",
- "levelname": "DEBUG",
- "levelno": 10,
- "lineno": 78,
- "message": "Rotate with orientation 8",
- "module": "test_image",
- "msecs": 849.008321762085,
- "msg": "Rotate with orientation %s",
- "name": "__unittest__",
- "pathname": "src/tests/test_image.py",
- "process": 21433,
- "processName": "MainProcess",
- "relativeCreated": 2698.415994644165,
- "stack_info": null,
- "thread": 140195114268480,
- "threadName": "MainThread"
- },
- {
- "args": [
- "Filecompare for rotated_image_8.jpg",
- "True",
- ""
- ],
- "asctime": "2021-01-14 00:59:10,106",
- "created": 1610582350.1069353,
- "exc_info": null,
- "exc_text": null,
- "filename": "test.py",
- "funcName": "__report_result__",
- "levelname": "DEBUG",
- "levelno": 10,
- "lineno": 22,
- "message": "Result (Filecompare for rotated_image_8.jpg): True ()",
- "module": "test",
- "msecs": 106.93526268005371,
- "msg": "Result (%s): %s (%s)",
- "name": "__unittest__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
- "processName": "MainProcess",
- "relativeCreated": 2956.342935562134,
- "stack_info": null,
- "thread": 140195114268480,
- "threadName": "MainThread"
- },
- {
- "args": [
- "Filecompare for rotated_image_8.jpg",
- "True",
- ""
- ],
- "asctime": "2021-01-14 00:59:10,107",
- "created": 1610582350.1070468,
- "exc_info": null,
- "exc_text": null,
- "filename": "test.py",
- "funcName": "__report_expectation_equivalency__",
- "levelname": "DEBUG",
- "levelno": 10,
- "lineno": 26,
- "message": "Expectation (Filecompare for rotated_image_8.jpg): result = True ()",
- "module": "test",
- "msecs": 107.04684257507324,
- "msg": "Expectation (%s): result = %s (%s)",
- "name": "__unittest__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
- "processName": "MainProcess",
- "relativeCreated": 2956.4545154571533,
- "stack_info": null,
- "thread": 140195114268480,
- "threadName": "MainThread"
- }
- ],
- "msecs": 107.1021556854248,
- "msg": "Filecompare for rotated_image_8.jpg is correct (Content %s and Type is %s).",
- "name": "__tLogger__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
- "processName": "MainProcess",
- "relativeCreated": 2956.509828567505,
- "stack_info": null,
- "thread": 140195114268480,
- "threadName": "MainThread",
- "time_consumption": 5.53131103515625e-05
- },
- {
- "args": [
- "True",
- ""
- ],
- "asctime": "2021-01-14 00:59:10,342",
- "created": 1610582350.3423116,
- "exc_info": null,
- "exc_text": null,
- "filename": "test.py",
- "funcName": "equivalency_chk",
- "levelname": "INFO",
- "levelno": 20,
- "lineno": 144,
- "message": "Filecompare for rotated_image_3.jpg is correct (Content True and Type is ).",
- "module": "test",
- "moduleLogger": [
- {
- "args": [
- "3"
- ],
- "asctime": "2021-01-14 00:59:10,107",
- "created": 1610582350.1072028,
- "exc_info": null,
- "exc_text": null,
- "filename": "test_image.py",
- "funcName": "rotate_by_orientation",
- "levelname": "DEBUG",
- "levelno": 10,
- "lineno": 78,
- "message": "Rotate with orientation 3",
- "module": "test_image",
- "msecs": 107.20276832580566,
- "msg": "Rotate with orientation %s",
- "name": "__unittest__",
- "pathname": "src/tests/test_image.py",
- "process": 21433,
- "processName": "MainProcess",
- "relativeCreated": 2956.6104412078857,
- "stack_info": null,
- "thread": 140195114268480,
- "threadName": "MainThread"
- },
- {
- "args": [
- "Filecompare for rotated_image_3.jpg",
- "True",
- ""
- ],
- "asctime": "2021-01-14 00:59:10,342",
- "created": 1610582350.3420997,
- "exc_info": null,
- "exc_text": null,
- "filename": "test.py",
- "funcName": "__report_result__",
- "levelname": "DEBUG",
- "levelno": 10,
- "lineno": 22,
- "message": "Result (Filecompare for rotated_image_3.jpg): True ()",
- "module": "test",
- "msecs": 342.099666595459,
- "msg": "Result (%s): %s (%s)",
- "name": "__unittest__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
- "processName": "MainProcess",
- "relativeCreated": 3191.507339477539,
- "stack_info": null,
- "thread": 140195114268480,
- "threadName": "MainThread"
- },
- {
- "args": [
- "Filecompare for rotated_image_3.jpg",
- "True",
- ""
- ],
- "asctime": "2021-01-14 00:59:10,342",
- "created": 1610582350.3422296,
- "exc_info": null,
- "exc_text": null,
- "filename": "test.py",
- "funcName": "__report_expectation_equivalency__",
- "levelname": "DEBUG",
- "levelno": 10,
- "lineno": 26,
- "message": "Expectation (Filecompare for rotated_image_3.jpg): result = True ()",
- "module": "test",
- "msecs": 342.22960472106934,
- "msg": "Expectation (%s): result = %s (%s)",
- "name": "__unittest__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
- "processName": "MainProcess",
- "relativeCreated": 3191.6372776031494,
- "stack_info": null,
- "thread": 140195114268480,
- "threadName": "MainThread"
- }
- ],
- "msecs": 342.3116207122803,
- "msg": "Filecompare for rotated_image_3.jpg is correct (Content %s and Type is %s).",
- "name": "__tLogger__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
- "processName": "MainProcess",
- "relativeCreated": 3191.7192935943604,
- "stack_info": null,
- "thread": 140195114268480,
- "threadName": "MainThread",
- "time_consumption": 8.20159912109375e-05
- }
- ],
- "thread": 140195114268480,
- "threadName": "MainThread",
- "time_consumption": 1.2162737846374512,
- "time_finished": "2021-01-14 00:59:10,342",
- "time_start": "2021-01-14 00:59:09,126"
- },
- "_CBaAQEYDEequ74M7usLaPw": {
- "args": null,
- "asctime": "2021-01-14 00:59:10,344",
- "created": 1610582350.3444724,
- "exc_info": null,
- "exc_text": null,
- "filename": "__init__.py",
- "funcName": "testrun",
- "levelname": "INFO",
- "levelno": 20,
- "lineno": 36,
- "message": "_CBaAQEYDEequ74M7usLaPw",
- "module": "__init__",
- "moduleLogger": [],
- "msecs": 344.47240829467773,
- "msg": "_CBaAQEYDEequ74M7usLaPw",
- "name": "__tLogger__",
- "pathname": "/user_data/data/dirk/prj/unittest/media/unittest/src/tests/__init__.py",
- "process": 21433,
- "processName": "MainProcess",
- "relativeCreated": 3193.880081176758,
- "stack_info": null,
- "testcaseLogger": [
- {
- "args": [
- "False",
- ""
- ],
- "asctime": "2021-01-14 00:59:10,344",
- "created": 1610582350.3447115,
- "exc_info": null,
- "exc_text": null,
- "filename": "test.py",
- "funcName": "equivalency_chk",
- "levelname": "INFO",
- "levelno": 20,
- "lineno": 144,
- "message": "Returnvalue of join method without loading an image is correct (Content False and Type is ).",
- "module": "test",
- "moduleLogger": [
- {
- "args": [
- "Returnvalue of join method without loading an image",
- "False",
- ""
- ],
- "asctime": "2021-01-14 00:59:10,344",
- "created": 1610582350.3446014,
- "exc_info": null,
- "exc_text": null,
- "filename": "test.py",
- "funcName": "__report_result__",
- "levelname": "DEBUG",
- "levelno": 10,
- "lineno": 22,
- "message": "Result (Returnvalue of join method without loading an image): False ()",
- "module": "test",
- "msecs": 344.6013927459717,
- "msg": "Result (%s): %s (%s)",
- "name": "__unittest__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
- "processName": "MainProcess",
- "relativeCreated": 3194.0090656280518,
- "stack_info": null,
- "thread": 140195114268480,
- "threadName": "MainThread"
- },
- {
- "args": [
- "Returnvalue of join method without loading an image",
- "False",
- ""
- ],
- "asctime": "2021-01-14 00:59:10,344",
- "created": 1610582350.3446612,
- "exc_info": null,
- "exc_text": null,
- "filename": "test.py",
- "funcName": "__report_expectation_equivalency__",
- "levelname": "DEBUG",
- "levelno": 10,
- "lineno": 26,
- "message": "Expectation (Returnvalue of join method without loading an image): result = False ()",
- "module": "test",
- "msecs": 344.6612358093262,
- "msg": "Expectation (%s): result = %s (%s)",
- "name": "__unittest__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
- "processName": "MainProcess",
- "relativeCreated": 3194.0689086914062,
- "stack_info": null,
- "thread": 140195114268480,
- "threadName": "MainThread"
- }
- ],
- "msecs": 344.7115421295166,
- "msg": "Returnvalue of join method without loading an image is correct (Content %s and Type is %s).",
- "name": "__tLogger__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
- "processName": "MainProcess",
- "relativeCreated": 3194.1192150115967,
- "stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread",
"time_consumption": 5.030632019042969e-05
},
{
"args": [
- "False",
- ""
+ "{'time': 1515143529, 'exposure_program': 'Program Normal', 'exposure_time': 0.03, 'flash': 'Fired', 'aperture': 2.2, 'focal_length': 4.5, 'height': 3968, 'iso': 160, 'orientation': 0, 'width': 2976, 'size': 2837285, 'camera': 'HUAWEI: EVA-L09'}",
+ ""
],
- "asctime": "2021-01-14 00:59:10,679",
- "created": 1610582350.6790338,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,100",
+ "created": 1755355166.1005275,
"exc_text": null,
"filename": "test.py",
"funcName": "equivalency_chk",
"levelname": "INFO",
"levelno": 20,
- "lineno": 144,
- "message": "Returnvalue of join method with invalid join position is correct (Content False and Type is ).",
+ "lineno": 184,
+ "message": "Media data for image_exif_no_gps.jpg is correct (Content {'time': 1515143529, 'exposure_program': 'Program Normal', 'exposure_time': 0.03, 'flash': 'Fired', 'aperture': 2.2, 'focal_length': 4.5, 'height': 3968, 'iso': 160, 'orientation': 0, 'width': 2976, 'size': 2837285, 'camera': 'HUAWEI: EVA-L09'} and Type is ).",
"module": "test",
"moduleLogger": [
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,097",
+ "created": 1755355166.0978913,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ImageWidth (256) - type: short (3) - value: b'\\x0b\\xa0'",
+ "module": "TiffImagePlugin",
+ "msecs": 97.0,
+ "msg": "tag: ImageWidth (256) - type: short (3) - value: b'\\x0b\\xa0'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 424.821907,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,097",
+ "created": 1755355166.0979292,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ImageLength (257) - type: short (3) - value: b'\\x0f\\x80'",
+ "module": "TiffImagePlugin",
+ "msecs": 97.0,
+ "msg": "tag: ImageLength (257) - type: short (3) - value: b'\\x0f\\x80'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 424.859685,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,097",
+ "created": 1755355166.0979567,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: BitsPerSample (258) - type: short (3) Tag Location: 46 - Data Location: 242 - value: b'\\x00\\x08\\x00\\x08\\x00\\x08'",
+ "module": "TiffImagePlugin",
+ "msecs": 97.0,
+ "msg": "tag: BitsPerSample (258) - type: short (3) Tag Location: 46 - Data Location: 242 - value: b'\\x00\\x08\\x00\\x08\\x00\\x08'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 424.887171,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,097",
+ "created": 1755355166.0979815,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ImageDescription (270) - type: string (2) - value: b'bty\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 97.0,
+ "msg": "tag: ImageDescription (270) - type: string (2) - value: b'bty\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 424.912052,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,098",
+ "created": 1755355166.0980065,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: Make (271) - type: string (2) Tag Location: 70 - Data Location: 194 - value: b'HUAWEI\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 98.0,
+ "msg": "tag: Make (271) - type: string (2) Tag Location: 70 - Data Location: 194 - value: b'HUAWEI\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 424.93705,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,098",
+ "created": 1755355166.0980315,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: Model (272) - type: string (2) Tag Location: 82 - Data Location: 202 - value: b'EVA-L09\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 98.0,
+ "msg": "tag: Model (272) - type: string (2) Tag Location: 82 - Data Location: 202 - value: b'EVA-L09\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 424.962187,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,098",
+ "created": 1755355166.098055,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: Orientation (274) - type: short (3) - value: b'\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 98.0,
+ "msg": "tag: Orientation (274) - type: short (3) - value: b'\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 424.985495,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,098",
+ "created": 1755355166.0980792,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: XResolution (282) - type: rational (5) Tag Location: 106 - Data Location: 210 - value: b'\\x00\\x00\\x00H\\x00\\x00\\x00\\x01'",
+ "module": "TiffImagePlugin",
+ "msecs": 98.0,
+ "msg": "tag: XResolution (282) - type: rational (5) Tag Location: 106 - Data Location: 210 - value: b'\\x00\\x00\\x00H\\x00\\x00\\x00\\x01'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 425.009804,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,098",
+ "created": 1755355166.098102,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: YResolution (283) - type: rational (5) Tag Location: 118 - Data Location: 218 - value: b'\\x00\\x00\\x00H\\x00\\x00\\x00\\x01'",
+ "module": "TiffImagePlugin",
+ "msecs": 98.0,
+ "msg": "tag: YResolution (283) - type: rational (5) Tag Location: 118 - Data Location: 218 - value: b'\\x00\\x00\\x00H\\x00\\x00\\x00\\x01'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 425.032572,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,098",
+ "created": 1755355166.0981233,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ResolutionUnit (296) - type: short (3) - value: b'\\x00\\x02'",
+ "module": "TiffImagePlugin",
+ "msecs": 98.0,
+ "msg": "tag: ResolutionUnit (296) - type: short (3) - value: b'\\x00\\x02'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 425.053808,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,098",
+ "created": 1755355166.098147,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: Software (305) - type: string (2) Tag Location: 142 - Data Location: 226 - value: b'EVA-L09C432B394\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 98.0,
+ "msg": "tag: Software (305) - type: string (2) Tag Location: 142 - Data Location: 226 - value: b'EVA-L09C432B394\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 425.077261,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,098",
+ "created": 1755355166.0981734,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: DateTime (306) - type: string (2) Tag Location: 154 - Data Location: 248 - value: b'2018:01:05 10:12:09\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 98.0,
+ "msg": "tag: DateTime (306) - type: string (2) Tag Location: 154 - Data Location: 248 - value: b'2018:01:05 10:12:09\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 425.104052,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,098",
+ "created": 1755355166.0981975,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: YCbCrPositioning (531) - type: short (3) - value: b'\\x00\\x01'",
+ "module": "TiffImagePlugin",
+ "msecs": 98.0,
+ "msg": "tag: YCbCrPositioning (531) - type: short (3) - value: b'\\x00\\x01'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 425.127932,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,098",
+ "created": 1755355166.098219,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ExifIFD (34665) - type: long (4) - value: b'\\x00\\x00\\x01\\x0c'",
+ "module": "TiffImagePlugin",
+ "msecs": 98.0,
+ "msg": "tag: ExifIFD (34665) - type: long (4) - value: b'\\x00\\x00\\x01\\x0c'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 425.149399,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,098",
+ "created": 1755355166.0982444,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: DeviceSettingDescription (41995) - type: undefined (7) - value: b'ipp\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 98.0,
+ "msg": "tag: DeviceSettingDescription (41995) - type: undefined (7) - value: b'ipp\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 425.174945,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,098",
+ "created": 1755355166.0984502,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 933,
+ "message": "tag: DocumentName (269) - type: undefined (7)",
+ "module": "TiffImagePlugin",
+ "msecs": 98.0,
+ "msg": "tag: DocumentName (269) - type: undefined (7)",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 425.380762,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,098",
+ "created": 1755355166.0984848,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ExposureTime (33434) - type: rational (5) Tag Location: 294 - Data Location: 810 - value: b'\\x01\\xc9\\xc3\\x80;\\x9a\\xca\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 98.0,
+ "msg": "tag: ExposureTime (33434) - type: rational (5) Tag Location: 294 - Data Location: 810 - value: b'\\x01\\xc9\\xc3\\x80;\\x9a\\xca\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 425.415287,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,098",
+ "created": 1755355166.0985131,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: FNumber (33437) - type: rational (5) Tag Location: 306 - Data Location: 8332 - value: b'\\x00\\x00\\x00\\xdc\\x00\\x00\\x00d'",
+ "module": "TiffImagePlugin",
+ "msecs": 98.0,
+ "msg": "tag: FNumber (33437) - type: rational (5) Tag Location: 306 - Data Location: 8332 - value: b'\\x00\\x00\\x00\\xdc\\x00\\x00\\x00d'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 425.443532,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,098",
+ "created": 1755355166.098538,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ExposureProgram (34850) - type: short (3) - value: b'\\x00\\x02'",
+ "module": "TiffImagePlugin",
+ "msecs": 98.0,
+ "msg": "tag: ExposureProgram (34850) - type: short (3) - value: b'\\x00\\x02'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 425.468573,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,098",
+ "created": 1755355166.098564,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ISOSpeedRatings (34855) - type: short (3) - value: b'\\x00\\xa0'",
+ "module": "TiffImagePlugin",
+ "msecs": 98.0,
+ "msg": "tag: ISOSpeedRatings (34855) - type: short (3) - value: b'\\x00\\xa0'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 425.494441,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,098",
+ "created": 1755355166.098592,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ExifVersion (36864) - type: undefined (7) - value: b'0210'",
+ "module": "TiffImagePlugin",
+ "msecs": 98.0,
+ "msg": "tag: ExifVersion (36864) - type: undefined (7) - value: b'0210'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 425.522613,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,098",
+ "created": 1755355166.0986226,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: DateTimeOriginal (36867) - type: string (2) Tag Location: 354 - Data Location: 8348 - value: b'2018:01:05 10:12:09\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 98.0,
+ "msg": "tag: DateTimeOriginal (36867) - type: string (2) Tag Location: 354 - Data Location: 8348 - value: b'2018:01:05 10:12:09\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 425.552867,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,098",
+ "created": 1755355166.0986567,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: DateTimeDigitized (36868) - type: string (2) Tag Location: 366 - Data Location: 8368 - value: b'2018:01:05 10:12:09\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 98.0,
+ "msg": "tag: DateTimeDigitized (36868) - type: string (2) Tag Location: 366 - Data Location: 8368 - value: b'2018:01:05 10:12:09\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 425.58731,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,098",
+ "created": 1755355166.0986886,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ComponentsConfiguration (37121) - type: undefined (7) - value: b'\\x01\\x02\\x03\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 98.0,
+ "msg": "tag: ComponentsConfiguration (37121) - type: undefined (7) - value: b'\\x01\\x02\\x03\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 425.619067,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,098",
+ "created": 1755355166.0987232,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ShutterSpeedValue (37377) - type: signed rational (10) Tag Location: 390 - Data Location: 818 - value: b\"\\x00\\x04\\x8f\\xdd\\x00\\x00'\\x10\"",
+ "module": "TiffImagePlugin",
+ "msecs": 98.0,
+ "msg": "tag: ShutterSpeedValue (37377) - type: signed rational (10) Tag Location: 390 - Data Location: 818 - value: b\"\\x00\\x04\\x8f\\xdd\\x00\\x00'\\x10\"",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 425.653676,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,098",
+ "created": 1755355166.0987508,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ApertureValue (37378) - type: rational (5) Tag Location: 402 - Data Location: 8340 - value: b'\\x00\\x00\\x00\\xe3\\x00\\x00\\x00d'",
+ "module": "TiffImagePlugin",
+ "msecs": 98.0,
+ "msg": "tag: ApertureValue (37378) - type: rational (5) Tag Location: 402 - Data Location: 8340 - value: b'\\x00\\x00\\x00\\xe3\\x00\\x00\\x00d'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 425.68126,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,098",
+ "created": 1755355166.0987756,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: BrightnessValue (37379) - type: signed rational (10) Tag Location: 414 - Data Location: 794 - value: b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x01'",
+ "module": "TiffImagePlugin",
+ "msecs": 98.0,
+ "msg": "tag: BrightnessValue (37379) - type: signed rational (10) Tag Location: 414 - Data Location: 794 - value: b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x01'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 425.705933,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,098",
+ "created": 1755355166.098799,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ExposureBiasValue (37380) - type: signed rational (10) Tag Location: 426 - Data Location: 802 - value: b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\n'",
+ "module": "TiffImagePlugin",
+ "msecs": 98.0,
+ "msg": "tag: ExposureBiasValue (37380) - type: signed rational (10) Tag Location: 426 - Data Location: 802 - value: b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\n'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 425.729515,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,098",
+ "created": 1755355166.0988214,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: MeteringMode (37383) - type: short (3) - value: b'\\x00\\x05'",
+ "module": "TiffImagePlugin",
+ "msecs": 98.0,
+ "msg": "tag: MeteringMode (37383) - type: short (3) - value: b'\\x00\\x05'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 425.751904,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,098",
+ "created": 1755355166.098844,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: LightSource (37384) - type: short (3) - value: b'\\x00\\x01'",
+ "module": "TiffImagePlugin",
+ "msecs": 98.0,
+ "msg": "tag: LightSource (37384) - type: short (3) - value: b'\\x00\\x01'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 425.774754,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,098",
+ "created": 1755355166.0988672,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: Flash (37385) - type: short (3) - value: b'\\x00\\x01'",
+ "module": "TiffImagePlugin",
+ "msecs": 98.0,
+ "msg": "tag: Flash (37385) - type: short (3) - value: b'\\x00\\x01'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 425.797788,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,098",
+ "created": 1755355166.0988917,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: FocalLength (37386) - type: rational (5) Tag Location: 474 - Data Location: 778 - value: b'\\x00\\x00\\x11\\x94\\x00\\x00\\x03\\xe8'",
+ "module": "TiffImagePlugin",
+ "msecs": 98.0,
+ "msg": "tag: FocalLength (37386) - type: rational (5) Tag Location: 474 - Data Location: 778 - value: b'\\x00\\x00\\x11\\x94\\x00\\x00\\x03\\xe8'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 425.822154,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,098",
+ "created": 1755355166.0989184,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: MakerNote (37500) - type: undefined (7) Tag Location: 486 - Data Location: 8232 - value: ",
+ "module": "TiffImagePlugin",
+ "msecs": 98.0,
+ "msg": "tag: MakerNote (37500) - type: undefined (7) Tag Location: 486 - Data Location: 8232 - value: ",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 425.848952,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,098",
+ "created": 1755355166.0989468,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: MakerNote (37500) - type: undefined (7) Tag Location: 498 - Data Location: 826 - value: ",
+ "module": "TiffImagePlugin",
+ "msecs": 98.0,
+ "msg": "tag: MakerNote (37500) - type: undefined (7) Tag Location: 498 - Data Location: 826 - value: ",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 425.877259,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,098",
+ "created": 1755355166.0989723,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: MakerNote (37500) - type: undefined (7) Tag Location: 510 - Data Location: 8226 - value: b'Auto\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 98.0,
+ "msg": "tag: MakerNote (37500) - type: undefined (7) Tag Location: 510 - Data Location: 8226 - value: b'Auto\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 425.902842,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,098",
+ "created": 1755355166.0989974,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: SubSec (37520) - type: string (2) Tag Location: 522 - Data Location: 8388 - value: b'435482\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 98.0,
+ "msg": "tag: SubSec (37520) - type: string (2) Tag Location: 522 - Data Location: 8388 - value: b'435482\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 425.927612,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,099",
+ "created": 1755355166.0990212,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: SubSecTimeOriginal (37521) - type: string (2) Tag Location: 534 - Data Location: 8396 - value: b'435482\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 99.0,
+ "msg": "tag: SubSecTimeOriginal (37521) - type: string (2) Tag Location: 534 - Data Location: 8396 - value: b'435482\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 425.951845,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,099",
+ "created": 1755355166.099045,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: SubsecTimeDigitized (37522) - type: string (2) Tag Location: 546 - Data Location: 8404 - value: b'435482\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 99.0,
+ "msg": "tag: SubsecTimeDigitized (37522) - type: string (2) Tag Location: 546 - Data Location: 8404 - value: b'435482\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 425.975624,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,099",
+ "created": 1755355166.0990684,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: FlashPixVersion (40960) - type: undefined (7) - value: b'0100'",
+ "module": "TiffImagePlugin",
+ "msecs": 99.0,
+ "msg": "tag: FlashPixVersion (40960) - type: undefined (7) - value: b'0100'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 425.998787,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,099",
+ "created": 1755355166.0990927,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ColorSpace (40961) - type: short (3) - value: b'\\x00\\x01'",
+ "module": "TiffImagePlugin",
+ "msecs": 99.0,
+ "msg": "tag: ColorSpace (40961) - type: short (3) - value: b'\\x00\\x01'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 426.02314,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,099",
+ "created": 1755355166.0991268,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: PixelXDimension (40962) - type: long (4) - value: b'\\x00\\x00\\x0b\\xa0'",
+ "module": "TiffImagePlugin",
+ "msecs": 99.0,
+ "msg": "tag: PixelXDimension (40962) - type: long (4) - value: b'\\x00\\x00\\x0b\\xa0'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 426.057243,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,099",
+ "created": 1755355166.0991578,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: PixelYDimension (40963) - type: long (4) - value: b'\\x00\\x00\\x0f\\x80'",
+ "module": "TiffImagePlugin",
+ "msecs": 99.0,
+ "msg": "tag: PixelYDimension (40963) - type: long (4) - value: b'\\x00\\x00\\x0f\\x80'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 426.088291,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,099",
+ "created": 1755355166.0991795,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: InteroperabilityIFD (40965) - type: long (4) - value: b'\\x00\\x00 \\xdc'",
+ "module": "TiffImagePlugin",
+ "msecs": 99.0,
+ "msg": "tag: InteroperabilityIFD (40965) - type: long (4) - value: b'\\x00\\x00 \\xdc'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 426.110006,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,099",
+ "created": 1755355166.0992017,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: SensingMethod (41495) - type: short (3) - value: b'\\x00\\x02'",
+ "module": "TiffImagePlugin",
+ "msecs": 99.0,
+ "msg": "tag: SensingMethod (41495) - type: short (3) - value: b'\\x00\\x02'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 426.132154,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,099",
+ "created": 1755355166.0992243,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: FileSource (41728) - type: undefined (7) - value: b'\\x03'",
+ "module": "TiffImagePlugin",
+ "msecs": 99.0,
+ "msg": "tag: FileSource (41728) - type: undefined (7) - value: b'\\x03'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 426.154799,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,099",
+ "created": 1755355166.0992467,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: SceneType (41729) - type: undefined (7) - value: b'\\x01'",
+ "module": "TiffImagePlugin",
+ "msecs": 99.0,
+ "msg": "tag: SceneType (41729) - type: undefined (7) - value: b'\\x01'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 426.177462,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,099",
+ "created": 1755355166.0992696,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: CustomRendered (41985) - type: short (3) - value: b'\\x00\\x01'",
+ "module": "TiffImagePlugin",
+ "msecs": 99.0,
+ "msg": "tag: CustomRendered (41985) - type: short (3) - value: b'\\x00\\x01'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 426.200212,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,099",
+ "created": 1755355166.0992918,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ExposureMode (41986) - type: short (3) - value: b'\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 99.0,
+ "msg": "tag: ExposureMode (41986) - type: short (3) - value: b'\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 426.222505,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,099",
+ "created": 1755355166.0993152,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: WhiteBalance (41987) - type: short (3) - value: b'\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 99.0,
+ "msg": "tag: WhiteBalance (41987) - type: short (3) - value: b'\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 426.245574,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,099",
+ "created": 1755355166.0993395,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: DigitalZoomRatio (41988) - type: rational (5) Tag Location: 690 - Data Location: 786 - value: b'\\x00\\x00\\x00d\\x00\\x00\\x00d'",
+ "module": "TiffImagePlugin",
+ "msecs": 99.0,
+ "msg": "tag: DigitalZoomRatio (41988) - type: rational (5) Tag Location: 690 - Data Location: 786 - value: b'\\x00\\x00\\x00d\\x00\\x00\\x00d'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 426.269885,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,099",
+ "created": 1755355166.0993626,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: FocalLengthIn35mmFilm (41989) - type: short (3) - value: b'\\x00\\x1b'",
+ "module": "TiffImagePlugin",
+ "msecs": 99.0,
+ "msg": "tag: FocalLengthIn35mmFilm (41989) - type: short (3) - value: b'\\x00\\x1b'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 426.293139,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,099",
+ "created": 1755355166.0993848,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: SceneCaptureType (41990) - type: short (3) - value: b'\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 99.0,
+ "msg": "tag: SceneCaptureType (41990) - type: short (3) - value: b'\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 426.315306,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,099",
+ "created": 1755355166.0994074,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: GainControl (41991) - type: short (3) - value: b'\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 99.0,
+ "msg": "tag: GainControl (41991) - type: short (3) - value: b'\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 426.3379,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,099",
+ "created": 1755355166.0994298,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: Contrast (41992) - type: short (3) - value: b'\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 99.0,
+ "msg": "tag: Contrast (41992) - type: short (3) - value: b'\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 426.360267,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,099",
+ "created": 1755355166.0994556,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: Saturation (41993) - type: short (3) - value: b'\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 99.0,
+ "msg": "tag: Saturation (41993) - type: short (3) - value: b'\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 426.385972,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,099",
+ "created": 1755355166.099477,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: Sharpness (41994) - type: short (3) - value: b'\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 99.0,
+ "msg": "tag: Sharpness (41994) - type: short (3) - value: b'\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 426.407493,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,099",
+ "created": 1755355166.0994985,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: SubjectDistanceRange (41996) - type: short (3) - value: b'\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 99.0,
+ "msg": "tag: SubjectDistanceRange (41996) - type: short (3) - value: b'\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 426.429073,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
{
"args": [
- "Returnvalue of join method with invalid join position",
- "False",
- ""
+ "time",
+ "'2018:01:05 10:12:09'"
],
- "asctime": "2021-01-14 00:59:10,678",
- "created": 1610582350.6788177,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,100",
+ "created": 1755355166.1000571,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting time out of '2018:01:05 10:12:09'",
+ "module": "metadata",
+ "msecs": 100.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 426.987512,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "exposure_program",
+ "2"
+ ],
+ "asctime": "2025-08-16 16:39:26,100",
+ "created": 1755355166.1001182,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting exposure_program out of 2",
+ "module": "metadata",
+ "msecs": 100.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 427.048856,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "exposure_time",
+ "0.03"
+ ],
+ "asctime": "2025-08-16 16:39:26,100",
+ "created": 1755355166.1001513,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting exposure_time out of 0.03",
+ "module": "metadata",
+ "msecs": 100.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 427.081786,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "flash",
+ "1"
+ ],
+ "asctime": "2025-08-16 16:39:26,100",
+ "created": 1755355166.1001775,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting flash out of 1",
+ "module": "metadata",
+ "msecs": 100.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 427.107903,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "aperture",
+ "2.2"
+ ],
+ "asctime": "2025-08-16 16:39:26,100",
+ "created": 1755355166.1002035,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting aperture out of 2.2",
+ "module": "metadata",
+ "msecs": 100.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 427.134005,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "focal_length",
+ "4.5"
+ ],
+ "asctime": "2025-08-16 16:39:26,100",
+ "created": 1755355166.1002283,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting focal_length out of 4.5",
+ "module": "metadata",
+ "msecs": 100.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 427.158844,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "height",
+ "3968"
+ ],
+ "asctime": "2025-08-16 16:39:26,100",
+ "created": 1755355166.100251,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting height out of 3968",
+ "module": "metadata",
+ "msecs": 100.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 427.18129,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "iso",
+ "160"
+ ],
+ "asctime": "2025-08-16 16:39:26,100",
+ "created": 1755355166.1002717,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting iso out of 160",
+ "module": "metadata",
+ "msecs": 100.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 427.202085,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "camera_vendor",
+ "'HUAWEI'"
+ ],
+ "asctime": "2025-08-16 16:39:26,100",
+ "created": 1755355166.1002924,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting camera_vendor out of 'HUAWEI'",
+ "module": "metadata",
+ "msecs": 100.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 427.222853,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "camera_model",
+ "'EVA-L09'"
+ ],
+ "asctime": "2025-08-16 16:39:26,100",
+ "created": 1755355166.100314,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting camera_model out of 'EVA-L09'",
+ "module": "metadata",
+ "msecs": 100.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 427.244355,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "orientation",
+ "0"
+ ],
+ "asctime": "2025-08-16 16:39:26,100",
+ "created": 1755355166.100333,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting orientation out of 0",
+ "module": "metadata",
+ "msecs": 100.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 427.263563,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "width",
+ "2976"
+ ],
+ "asctime": "2025-08-16 16:39:26,100",
+ "created": 1755355166.100353,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting width out of 2976",
+ "module": "metadata",
+ "msecs": 100.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 427.283513,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "{'time': 1515143529, 'exposure_program': 'Program Normal', 'exposure_time': 0.03, 'flash': 'Fired', 'aperture': 2.2, 'focal_length': 4.5, 'height': 3968, 'iso': 160, 'orientation': 0, 'width': 2976, 'size': 2837285, 'camera': 'HUAWEI: EVA-L09'}"
+ ],
+ "asctime": "2025-08-16 16:39:26,100",
+ "created": 1755355166.1004019,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "get_media_data",
+ "levelname": "INFO",
+ "levelno": 20,
+ "lineno": 45,
+ "message": "Media data identified: {'time': 1515143529, 'exposure_program': 'Program Normal', 'exposure_time': 0.03, 'flash': 'Fired', 'aperture': 2.2, 'focal_length': 4.5, 'height': 3968, 'iso': 160, 'orientation': 0, 'width': 2976, 'size': 2837285, 'camera': 'HUAWEI: EVA-L09'}",
+ "module": "metadata",
+ "msecs": 100.0,
+ "msg": "Media data identified: %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 427.33243,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "Media data for image_exif_no_gps.jpg",
+ "{ 'time': 1515143529, 'exposure_program': 'Program Normal', 'exposure_time': 0.03, 'flash': 'Fired', 'aperture': 2.2, 'focal_length': 4.5, 'height': 3968, 'iso': 160, 'orientation': 0, 'width': 2976, 'size': 2837285, 'camera': 'HUAWEI: EVA-L09' }",
+ ""
+ ],
+ "asctime": "2025-08-16 16:39:26,100",
+ "created": 1755355166.1004477,
"exc_text": null,
"filename": "test.py",
"funcName": "__report_result__",
"levelname": "DEBUG",
"levelno": 10,
"lineno": 22,
- "message": "Result (Returnvalue of join method with invalid join position): False ()",
+ "message": "Result (Media data for image_exif_no_gps.jpg): { 'time': 1515143529, 'exposure_program': 'Program Normal', 'exposure_time': 0.03, 'flash': 'Fired', 'aperture': 2.2, 'focal_length': 4.5, 'height': 3968, 'iso': 160, 'orientation': 0, 'width': 2976, 'size': 2837285, 'camera': 'HUAWEI: EVA-L09' } ()",
"module": "test",
- "msecs": 678.8177490234375,
+ "msecs": 100.0,
"msg": "Result (%s): %s (%s)",
"name": "__unittest__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 3528.2254219055176,
+ "relativeCreated": 427.378316,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread"
},
{
"args": [
- "Returnvalue of join method with invalid join position",
- "False",
- ""
+ "Media data for image_exif_no_gps.jpg",
+ "=",
+ "{ 'time': 1515143529, 'exposure_program': 'Program Normal', 'exposure_time': 0.03, 'flash': 'Fired', 'aperture': 2.2, 'focal_length': 4.5, 'height': 3968, 'iso': 160, 'orientation': 0, 'width': 2976, 'camera': 'HUAWEI: EVA-L09', 'size': 2837285 }",
+ ""
],
- "asctime": "2021-01-14 00:59:10,678",
- "created": 1610582350.6789567,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,100",
+ "created": 1755355166.1004858,
"exc_text": null,
"filename": "test.py",
- "funcName": "__report_expectation_equivalency__",
+ "funcName": "__report_expectation__",
"levelname": "DEBUG",
"levelno": 10,
"lineno": 26,
- "message": "Expectation (Returnvalue of join method with invalid join position): result = False ()",
+ "message": "Expectation (Media data for image_exif_no_gps.jpg): result = { 'time': 1515143529, 'exposure_program': 'Program Normal', 'exposure_time': 0.03, 'flash': 'Fired', 'aperture': 2.2, 'focal_length': 4.5, 'height': 3968, 'iso': 160, 'orientation': 0, 'width': 2976, 'camera': 'HUAWEI: EVA-L09', 'size': 2837285 } ()",
"module": "test",
- "msecs": 678.9567470550537,
- "msg": "Expectation (%s): result = %s (%s)",
+ "msecs": 100.0,
+ "msg": "Expectation (%s): result %s %s (%s)",
"name": "__unittest__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 3528.364419937134,
+ "relativeCreated": 427.416407,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread"
}
],
- "msecs": 679.0337562561035,
- "msg": "Returnvalue of join method with invalid join position is correct (Content %s and Type is %s).",
+ "msecs": 100.0,
+ "msg": "Media data for image_exif_no_gps.jpg is correct (Content %s and Type is %s).",
"name": "__tLogger__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 3528.4414291381836,
+ "relativeCreated": 427.458025,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread",
- "time_consumption": 7.700920104980469e-05
+ "time_consumption": 4.172325134277344e-05
},
{
"args": [
- "False",
- ""
+ "{'size': 1139092, 'time': 1754841648, 'tm_is_subst': True}",
+ ""
],
- "asctime": "2021-01-14 00:59:10,782",
- "created": 1610582350.782479,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,100",
+ "created": 1755355166.1009948,
"exc_text": null,
"filename": "test.py",
"funcName": "equivalency_chk",
"levelname": "INFO",
"levelno": 20,
- "lineno": 144,
- "message": "Returnvalue of join method with unknown join file is correct (Content False and Type is ).",
+ "lineno": 184,
+ "message": "Media data for image_non_exif.jpg is correct (Content {'size': 1139092, 'time': 1754841648, 'tm_is_subst': True} and Type is ).",
"module": "test",
"moduleLogger": [
{
"args": [
- "Returnvalue of join method with unknown join file",
- "False",
- ""
+ "/home/dirk/work/unittest_collection/media/unittest/input_data/image_non_exif.jpg"
],
- "asctime": "2021-01-14 00:59:10,782",
- "created": 1610582350.7822797,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,100",
+ "created": 1755355166.1008527,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 222,
+ "message": "/home/dirk/work/unittest_collection/media/unittest/input_data/image_non_exif.jpg does not have any exif information",
+ "module": "metadata",
+ "msecs": 100.0,
+ "msg": "%s does not have any exif information",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 427.783127,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "{'size': 1139092, 'time': 1754841648, 'tm_is_subst': True}"
+ ],
+ "asctime": "2025-08-16 16:39:26,100",
+ "created": 1755355166.1009035,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "get_media_data",
+ "levelname": "INFO",
+ "levelno": 20,
+ "lineno": 45,
+ "message": "Media data identified: {'size': 1139092, 'time': 1754841648, 'tm_is_subst': True}",
+ "module": "metadata",
+ "msecs": 100.0,
+ "msg": "Media data identified: %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 427.833797,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "Media data for image_non_exif.jpg",
+ "{ 'size': 1139092, 'time': 1754841648, 'tm_is_subst': True }",
+ ""
+ ],
+ "asctime": "2025-08-16 16:39:26,100",
+ "created": 1755355166.1009364,
"exc_text": null,
"filename": "test.py",
"funcName": "__report_result__",
"levelname": "DEBUG",
"levelno": 10,
"lineno": 22,
- "message": "Result (Returnvalue of join method with unknown join file): False ()",
+ "message": "Result (Media data for image_non_exif.jpg): { 'size': 1139092, 'time': 1754841648, 'tm_is_subst': True } ()",
"module": "test",
- "msecs": 782.2797298431396,
+ "msecs": 100.0,
"msg": "Result (%s): %s (%s)",
"name": "__unittest__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 3631.6874027252197,
+ "relativeCreated": 427.866874,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread"
},
{
"args": [
- "Returnvalue of join method with unknown join file",
- "False",
- ""
+ "Media data for image_non_exif.jpg",
+ "=",
+ "{ 'time': 1754841648, 'tm_is_subst': True, 'size': 1139092 }",
+ ""
],
- "asctime": "2021-01-14 00:59:10,782",
- "created": 1610582350.7824047,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,100",
+ "created": 1755355166.1009648,
"exc_text": null,
"filename": "test.py",
- "funcName": "__report_expectation_equivalency__",
+ "funcName": "__report_expectation__",
"levelname": "DEBUG",
"levelno": 10,
"lineno": 26,
- "message": "Expectation (Returnvalue of join method with unknown join file): result = False ()",
+ "message": "Expectation (Media data for image_non_exif.jpg): result = { 'time': 1754841648, 'tm_is_subst': True, 'size': 1139092 } ()",
"module": "test",
- "msecs": 782.4046611785889,
- "msg": "Expectation (%s): result = %s (%s)",
+ "msecs": 100.0,
+ "msg": "Expectation (%s): result %s %s (%s)",
"name": "__unittest__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 3631.812334060669,
+ "relativeCreated": 427.895467,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread"
}
],
- "msecs": 782.4790477752686,
- "msg": "Returnvalue of join method with unknown join file is correct (Content %s and Type is %s).",
+ "msecs": 100.0,
+ "msg": "Media data for image_non_exif.jpg is correct (Content %s and Type is %s).",
"name": "__tLogger__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 3631.8867206573486,
+ "relativeCreated": 427.925353,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread",
- "time_consumption": 7.43865966796875e-05
+ "time_consumption": 3.0040740966796875e-05
},
{
"args": [
- "True",
- ""
+ "{'time': 1226149915, 'exposure_program': 'Program Normal', 'exposure_time': 0.008, 'flash': 'Fill Fired', 'aperture': 7.1, 'focal_length': 170.0, 'height': 2592, 'iso': 400, 'orientation': 1, 'width': 3888, 'size': 1301272, 'camera': 'Canon: Canon EOS 40D'}",
+ ""
],
- "asctime": "2021-01-14 00:59:11,181",
- "created": 1610582351.1814868,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,103",
+ "created": 1755355166.103555,
"exc_text": null,
"filename": "test.py",
"funcName": "equivalency_chk",
"levelname": "INFO",
"levelno": 20,
- "lineno": 144,
- "message": "Filecompare for joined_image_3.jpg is correct (Content True and Type is ).",
+ "lineno": 184,
+ "message": "Media data for image_extraction_failed.jpg is correct (Content {'time': 1226149915, 'exposure_program': 'Program Normal', 'exposure_time': 0.008, 'flash': 'Fill Fired', 'aperture': 7.1, 'focal_length': 170.0, 'height': 2592, 'iso': 400, 'orientation': 1, 'width': 3888, 'size': 1301272, 'camera': 'Canon: Canon EOS 40D'} and Type is ).",
"module": "test",
"moduleLogger": [
{
- "args": [
- 3
- ],
- "asctime": "2021-01-14 00:59:10,782",
- "created": 1610582350.7825966,
- "exc_info": null,
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,101",
+ "created": 1755355166.1013932,
"exc_text": null,
- "filename": "test_image.py",
- "funcName": "join",
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
"levelname": "DEBUG",
"levelno": 10,
- "lineno": 108,
- "message": "Join with position 3",
- "module": "test_image",
- "msecs": 782.5965881347656,
- "msg": "Join with position %d",
- "name": "__unittest__",
- "pathname": "src/tests/test_image.py",
- "process": 21433,
+ "lineno": 942,
+ "message": "tag: Make (271) - type: string (2) Tag Location: 22 - Data Location: 170 - value: b'Canon\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 101.0,
+ "msg": "tag: Make (271) - type: string (2) Tag Location: 22 - Data Location: 170 - value: b'Canon\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 3632.0042610168457,
+ "relativeCreated": 428.323561,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,101",
+ "created": 1755355166.1014261,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: Model (272) - type: string (2) Tag Location: 34 - Data Location: 176 - value: b'Canon EOS 40D\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 101.0,
+ "msg": "tag: Model (272) - type: string (2) Tag Location: 34 - Data Location: 176 - value: b'Canon EOS 40D\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 428.356732,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,101",
+ "created": 1755355166.1014512,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: Orientation (274) - type: short (3) - value: b'\\x01\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 101.0,
+ "msg": "tag: Orientation (274) - type: short (3) - value: b'\\x01\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 428.381801,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,101",
+ "created": 1755355166.1014764,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: XResolution (282) - type: rational (5) Tag Location: 58 - Data Location: 208 - value: b'H\\x00\\x00\\x00\\x01\\x00\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 101.0,
+ "msg": "tag: XResolution (282) - type: rational (5) Tag Location: 58 - Data Location: 208 - value: b'H\\x00\\x00\\x00\\x01\\x00\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 428.406895,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,101",
+ "created": 1755355166.101504,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: YResolution (283) - type: rational (5) Tag Location: 70 - Data Location: 216 - value: b'H\\x00\\x00\\x00\\x01\\x00\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 101.0,
+ "msg": "tag: YResolution (283) - type: rational (5) Tag Location: 70 - Data Location: 216 - value: b'H\\x00\\x00\\x00\\x01\\x00\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 428.434581,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,101",
+ "created": 1755355166.1015303,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ResolutionUnit (296) - type: short (3) - value: b'\\x02\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 101.0,
+ "msg": "tag: ResolutionUnit (296) - type: short (3) - value: b'\\x02\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 428.460875,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,101",
+ "created": 1755355166.101554,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: DateTime (306) - type: string (2) Tag Location: 94 - Data Location: 224 - value: b'2008:11:08 14:11:55\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 101.0,
+ "msg": "tag: DateTime (306) - type: string (2) Tag Location: 94 - Data Location: 224 - value: b'2008:11:08 14:11:55\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 428.484376,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,101",
+ "created": 1755355166.1015773,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: WhitePoint (318) - type: rational (5) Tag Location: 106 - Data Location: 244 - value: b'9\\x01\\x00\\x00\\xe8\\x03\\x00\\x00I\\x01\\x00\\x00\\xe8\\x03\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 101.0,
+ "msg": "tag: WhitePoint (318) - type: rational (5) Tag Location: 106 - Data Location: 244 - value: b'9\\x01\\x00\\x00\\xe8\\x03\\x00\\x00I\\x01\\x00\\x00\\xe8\\x03\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 428.507605,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,101",
+ "created": 1755355166.1016011,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: PrimaryChromaticities (319) - type: rational (5) Tag Location: 118 - Data Location: 260 - value: ",
+ "module": "TiffImagePlugin",
+ "msecs": 101.0,
+ "msg": "tag: PrimaryChromaticities (319) - type: rational (5) Tag Location: 118 - Data Location: 260 - value: ",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 428.531528,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,101",
+ "created": 1755355166.1016254,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: YCbCrCoefficients (529) - type: rational (5) Tag Location: 130 - Data Location: 308 - value: b'+\\x01\\x00\\x00\\xe8\\x03\\x00\\x00K\\x02\\x00\\x00\\xe8\\x03\\x00\\x00r\\x00\\x00\\x00\\xe8\\x03\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 101.0,
+ "msg": "tag: YCbCrCoefficients (529) - type: rational (5) Tag Location: 130 - Data Location: 308 - value: b'+\\x01\\x00\\x00\\xe8\\x03\\x00\\x00K\\x02\\x00\\x00\\xe8\\x03\\x00\\x00r\\x00\\x00\\x00\\xe8\\x03\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 428.555801,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,101",
+ "created": 1755355166.1016479,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: YCbCrPositioning (531) - type: short (3) - value: b'\\x02\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 101.0,
+ "msg": "tag: YCbCrPositioning (531) - type: short (3) - value: b'\\x02\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 428.578333,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,101",
+ "created": 1755355166.1016753,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ExifIFD (34665) - type: long (4) - value: b'L\\x01\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 101.0,
+ "msg": "tag: ExifIFD (34665) - type: long (4) - value: b'L\\x01\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 428.605707,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,101",
+ "created": 1755355166.1016982,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: GPSInfoIFD (34853) - type: long (4) - value: b'n\"\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 101.0,
+ "msg": "tag: GPSInfoIFD (34853) - type: long (4) - value: b'n\"\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 428.628469,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,101",
+ "created": 1755355166.1019385,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ExposureTime (33434) - type: rational (5) Tag Location: 346 - Data Location: 722 - value: b'\\x01\\x00\\x00\\x00}\\x00\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 101.0,
+ "msg": "tag: ExposureTime (33434) - type: rational (5) Tag Location: 346 - Data Location: 722 - value: b'\\x01\\x00\\x00\\x00}\\x00\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 428.868979,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,101",
+ "created": 1755355166.1019714,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: FNumber (33437) - type: rational (5) Tag Location: 358 - Data Location: 730 - value: b'G\\x00\\x00\\x00\\n\\x00\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 101.0,
+ "msg": "tag: FNumber (33437) - type: rational (5) Tag Location: 358 - Data Location: 730 - value: b'G\\x00\\x00\\x00\\n\\x00\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 428.901969,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,101",
+ "created": 1755355166.1019967,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ExposureProgram (34850) - type: short (3) - value: b'\\x02\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 101.0,
+ "msg": "tag: ExposureProgram (34850) - type: short (3) - value: b'\\x02\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 428.927161,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,102",
+ "created": 1755355166.1020205,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ISOSpeedRatings (34855) - type: short (3) - value: b'\\x90\\x01'",
+ "module": "TiffImagePlugin",
+ "msecs": 102.0,
+ "msg": "tag: ISOSpeedRatings (34855) - type: short (3) - value: b'\\x90\\x01'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 428.951016,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,102",
+ "created": 1755355166.1020432,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ExifVersion (36864) - type: undefined (7) - value: b'0221'",
+ "module": "TiffImagePlugin",
+ "msecs": 102.0,
+ "msg": "tag: ExifVersion (36864) - type: undefined (7) - value: b'0221'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 428.973554,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,102",
+ "created": 1755355166.1020682,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: DateTimeOriginal (36867) - type: string (2) Tag Location: 406 - Data Location: 738 - value: b'2008:11:08 14:11:55\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 102.0,
+ "msg": "tag: DateTimeOriginal (36867) - type: string (2) Tag Location: 406 - Data Location: 738 - value: b'2008:11:08 14:11:55\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 428.998698,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,102",
+ "created": 1755355166.102093,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: DateTimeDigitized (36868) - type: string (2) Tag Location: 418 - Data Location: 758 - value: b'2008:11:08 14:11:55\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 102.0,
+ "msg": "tag: DateTimeDigitized (36868) - type: string (2) Tag Location: 418 - Data Location: 758 - value: b'2008:11:08 14:11:55\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 429.023545,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,102",
+ "created": 1755355166.1021163,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ComponentsConfiguration (37121) - type: undefined (7) - value: b'\\x01\\x02\\x03\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 102.0,
+ "msg": "tag: ComponentsConfiguration (37121) - type: undefined (7) - value: b'\\x01\\x02\\x03\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 429.046847,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,102",
+ "created": 1755355166.1021452,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ShutterSpeedValue (37377) - type: signed rational (10) Tag Location: 442 - Data Location: 778 - value: b'\\x00\\x00\\x07\\x00\\x00\\x00\\x01\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 102.0,
+ "msg": "tag: ShutterSpeedValue (37377) - type: signed rational (10) Tag Location: 442 - Data Location: 778 - value: b'\\x00\\x00\\x07\\x00\\x00\\x00\\x01\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 429.075857,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,102",
+ "created": 1755355166.1021707,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ApertureValue (37378) - type: rational (5) Tag Location: 454 - Data Location: 786 - value: b'\\x00\\xa0\\x05\\x00\\x00\\x00\\x01\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 102.0,
+ "msg": "tag: ApertureValue (37378) - type: rational (5) Tag Location: 454 - Data Location: 786 - value: b'\\x00\\xa0\\x05\\x00\\x00\\x00\\x01\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 429.101041,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,102",
+ "created": 1755355166.1021953,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ExposureBiasValue (37380) - type: signed rational (10) Tag Location: 466 - Data Location: 794 - value: b'\\xfe\\xff\\xff\\xff\\x03\\x00\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 102.0,
+ "msg": "tag: ExposureBiasValue (37380) - type: signed rational (10) Tag Location: 466 - Data Location: 794 - value: b'\\xfe\\xff\\xff\\xff\\x03\\x00\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 429.12581,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,102",
+ "created": 1755355166.1022189,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: MeteringMode (37383) - type: short (3) - value: b'\\x05\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 102.0,
+ "msg": "tag: MeteringMode (37383) - type: short (3) - value: b'\\x05\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 429.149155,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,102",
+ "created": 1755355166.1022413,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: Flash (37385) - type: short (3) - value: b'\\t\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 102.0,
+ "msg": "tag: Flash (37385) - type: short (3) - value: b'\\t\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 429.171828,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,102",
+ "created": 1755355166.102267,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: FocalLength (37386) - type: rational (5) Tag Location: 502 - Data Location: 802 - value: b'\\xaa\\x00\\x00\\x00\\x01\\x00\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 102.0,
+ "msg": "tag: FocalLength (37386) - type: rational (5) Tag Location: 502 - Data Location: 802 - value: b'\\xaa\\x00\\x00\\x00\\x01\\x00\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 429.197539,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,102",
+ "created": 1755355166.1022928,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: MakerNote (37500) - type: undefined (7) Tag Location: 514 - Data Location: 810 - value: ",
+ "module": "TiffImagePlugin",
+ "msecs": 102.0,
+ "msg": "tag: MakerNote (37500) - type: undefined (7) Tag Location: 514 - Data Location: 810 - value: ",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 429.223299,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,102",
+ "created": 1755355166.102318,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: UserComment (37510) - type: undefined (7) Tag Location: 526 - Data Location: 8496 - value: ",
+ "module": "TiffImagePlugin",
+ "msecs": 102.0,
+ "msg": "tag: UserComment (37510) - type: undefined (7) Tag Location: 526 - Data Location: 8496 - value: ",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 429.248625,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,102",
+ "created": 1755355166.1023417,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: SubSec (37520) - type: string (2) - value: b'01\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 102.0,
+ "msg": "tag: SubSec (37520) - type: string (2) - value: b'01\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 429.272075,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,102",
+ "created": 1755355166.1023653,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: SubSecTimeOriginal (37521) - type: string (2) - value: b'01\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 102.0,
+ "msg": "tag: SubSecTimeOriginal (37521) - type: string (2) - value: b'01\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 429.295719,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,102",
+ "created": 1755355166.102388,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: SubsecTimeDigitized (37522) - type: string (2) - value: b'01\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 102.0,
+ "msg": "tag: SubsecTimeDigitized (37522) - type: string (2) - value: b'01\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 429.318337,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,102",
+ "created": 1755355166.1024091,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: FlashPixVersion (40960) - type: undefined (7) - value: b'0100'",
+ "module": "TiffImagePlugin",
+ "msecs": 102.0,
+ "msg": "tag: FlashPixVersion (40960) - type: undefined (7) - value: b'0100'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 429.339715,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,102",
+ "created": 1755355166.102432,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ColorSpace (40961) - type: short (3) - value: b'\\xff\\xff'",
+ "module": "TiffImagePlugin",
+ "msecs": 102.0,
+ "msg": "tag: ColorSpace (40961) - type: short (3) - value: b'\\xff\\xff'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 429.362505,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,102",
+ "created": 1755355166.102455,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: PixelXDimension (40962) - type: short (3) - value: b'0\\x0f'",
+ "module": "TiffImagePlugin",
+ "msecs": 102.0,
+ "msg": "tag: PixelXDimension (40962) - type: short (3) - value: b'0\\x0f'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 429.385393,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,102",
+ "created": 1755355166.1024776,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: PixelYDimension (40963) - type: short (3) - value: b' \\n'",
+ "module": "TiffImagePlugin",
+ "msecs": 102.0,
+ "msg": "tag: PixelYDimension (40963) - type: short (3) - value: b' \\n'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 429.407976,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,102",
+ "created": 1755355166.1024985,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: InteroperabilityIFD (40965) - type: long (4) - value: b'8\"\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 102.0,
+ "msg": "tag: InteroperabilityIFD (40965) - type: long (4) - value: b'8\"\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 429.428964,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,102",
+ "created": 1755355166.102526,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: FocalPlaneXResolution (41486) - type: rational (5) Tag Location: 634 - Data Location: 8790 - value: b'\\x80S;\\x00l\\x03\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 102.0,
+ "msg": "tag: FocalPlaneXResolution (41486) - type: rational (5) Tag Location: 634 - Data Location: 8790 - value: b'\\x80S;\\x00l\\x03\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 429.456342,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,102",
+ "created": 1755355166.1025505,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: FocalPlaneYResolution (41487) - type: rational (5) Tag Location: 646 - Data Location: 8798 - value: b\"\\x00\\x8d'\\x00G\\x02\\x00\\x00\"",
+ "module": "TiffImagePlugin",
+ "msecs": 102.0,
+ "msg": "tag: FocalPlaneYResolution (41487) - type: rational (5) Tag Location: 646 - Data Location: 8798 - value: b\"\\x00\\x8d'\\x00G\\x02\\x00\\x00\"",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 429.481112,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,102",
+ "created": 1755355166.1025746,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: FocalPlaneResolutionUnit (41488) - type: short (3) - value: b'\\x02\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 102.0,
+ "msg": "tag: FocalPlaneResolutionUnit (41488) - type: short (3) - value: b'\\x02\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 429.505157,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,102",
+ "created": 1755355166.1025972,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: CustomRendered (41985) - type: short (3) - value: b'\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 102.0,
+ "msg": "tag: CustomRendered (41985) - type: short (3) - value: b'\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 429.527607,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,102",
+ "created": 1755355166.1026192,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ExposureMode (41986) - type: short (3) - value: b'\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 102.0,
+ "msg": "tag: ExposureMode (41986) - type: short (3) - value: b'\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 429.549745,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,102",
+ "created": 1755355166.102641,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: WhiteBalance (41987) - type: short (3) - value: b'\\x01\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 102.0,
+ "msg": "tag: WhiteBalance (41987) - type: short (3) - value: b'\\x01\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 429.571667,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,102",
+ "created": 1755355166.102667,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: SceneCaptureType (41990) - type: short (3) - value: b'\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 102.0,
+ "msg": "tag: SceneCaptureType (41990) - type: short (3) - value: b'\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 429.59738,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,102",
+ "created": 1755355166.102693,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: Gamma (42240) - type: rational (5) Tag Location: 718 - Data Location: 8806 - value: b'\\x16\\x00\\x00\\x00\\n\\x00\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 102.0,
+ "msg": "tag: Gamma (42240) - type: rational (5) Tag Location: 718 - Data Location: 8806 - value: b'\\x16\\x00\\x00\\x00\\n\\x00\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 429.623685,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,103",
+ "created": 1755355166.1030233,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: GPSVersionID (0) - type: byte (1) - value: b'\\x02\\x02\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 103.0,
+ "msg": "tag: GPSVersionID (0) - type: byte (1) - value: b'\\x02\\x02\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 429.953876,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread"
},
{
"args": [
- "Filecompare for joined_image_3.jpg",
- "True",
- ""
+ "time",
+ "'2008:11:08 14:11:55'"
],
- "asctime": "2021-01-14 00:59:11,181",
- "created": 1610582351.1812804,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,103",
+ "created": 1755355166.10307,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting time out of '2008:11:08 14:11:55'",
+ "module": "metadata",
+ "msecs": 103.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 430.000556,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "exposure_program",
+ "2"
+ ],
+ "asctime": "2025-08-16 16:39:26,103",
+ "created": 1755355166.10312,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting exposure_program out of 2",
+ "module": "metadata",
+ "msecs": 103.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 430.050653,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "exposure_time",
+ "0.008"
+ ],
+ "asctime": "2025-08-16 16:39:26,103",
+ "created": 1755355166.1031506,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting exposure_time out of 0.008",
+ "module": "metadata",
+ "msecs": 103.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 430.081059,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "flash",
+ "9"
+ ],
+ "asctime": "2025-08-16 16:39:26,103",
+ "created": 1755355166.1031747,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting flash out of 9",
+ "module": "metadata",
+ "msecs": 103.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 430.105058,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "aperture",
+ "7.1"
+ ],
+ "asctime": "2025-08-16 16:39:26,103",
+ "created": 1755355166.1032026,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting aperture out of 7.1",
+ "module": "metadata",
+ "msecs": 103.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 430.133001,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "focal_length",
+ "170.0"
+ ],
+ "asctime": "2025-08-16 16:39:26,103",
+ "created": 1755355166.1032271,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting focal_length out of 170.0",
+ "module": "metadata",
+ "msecs": 103.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 430.157559,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "gps",
+ "{0: b'\\x02\\x02\\x00\\x00'}"
+ ],
+ "asctime": "2025-08-16 16:39:26,103",
+ "created": 1755355166.10325,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting gps out of {0: b'\\x02\\x02\\x00\\x00'}",
+ "module": "metadata",
+ "msecs": 103.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 430.18043,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "{0: b'\\x02\\x02\\x00\\x00'}"
+ ],
+ "asctime": "2025-08-16 16:39:26,103",
+ "created": 1755355166.1032732,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__gps_conv__",
+ "levelname": "WARNING",
+ "levelno": 30,
+ "lineno": 343,
+ "message": "GPS data extraction failed for {0: b'\\x02\\x02\\x00\\x00'}",
+ "module": "metadata",
+ "msecs": 103.0,
+ "msg": "GPS data extraction failed for %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 430.203734,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "height",
+ "2592"
+ ],
+ "asctime": "2025-08-16 16:39:26,103",
+ "created": 1755355166.1032956,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting height out of 2592",
+ "module": "metadata",
+ "msecs": 103.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 430.226009,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "iso",
+ "400"
+ ],
+ "asctime": "2025-08-16 16:39:26,103",
+ "created": 1755355166.1033177,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting iso out of 400",
+ "module": "metadata",
+ "msecs": 103.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 430.248126,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "camera_vendor",
+ "'Canon'"
+ ],
+ "asctime": "2025-08-16 16:39:26,103",
+ "created": 1755355166.1033375,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting camera_vendor out of 'Canon'",
+ "module": "metadata",
+ "msecs": 103.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 430.267951,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "camera_model",
+ "'Canon EOS 40D'"
+ ],
+ "asctime": "2025-08-16 16:39:26,103",
+ "created": 1755355166.1033566,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting camera_model out of 'Canon EOS 40D'",
+ "module": "metadata",
+ "msecs": 103.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 430.287071,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "orientation",
+ "1"
+ ],
+ "asctime": "2025-08-16 16:39:26,103",
+ "created": 1755355166.1033754,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting orientation out of 1",
+ "module": "metadata",
+ "msecs": 103.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 430.30589,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "width",
+ "3888"
+ ],
+ "asctime": "2025-08-16 16:39:26,103",
+ "created": 1755355166.1033957,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting width out of 3888",
+ "module": "metadata",
+ "msecs": 103.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 430.32604,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "{'time': 1226149915, 'exposure_program': 'Program Normal', 'exposure_time': 0.008, 'flash': 'Fill Fired', 'aperture': 7.1, 'focal_length': 170.0, 'height': 2592, 'iso': 400, 'orientation': 1, 'width': 3888, 'size': 1301272, 'camera': 'Canon: Canon EOS 40D'}"
+ ],
+ "asctime": "2025-08-16 16:39:26,103",
+ "created": 1755355166.1034424,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "get_media_data",
+ "levelname": "INFO",
+ "levelno": 20,
+ "lineno": 45,
+ "message": "Media data identified: {'time': 1226149915, 'exposure_program': 'Program Normal', 'exposure_time': 0.008, 'flash': 'Fill Fired', 'aperture': 7.1, 'focal_length': 170.0, 'height': 2592, 'iso': 400, 'orientation': 1, 'width': 3888, 'size': 1301272, 'camera': 'Canon: Canon EOS 40D'}",
+ "module": "metadata",
+ "msecs": 103.0,
+ "msg": "Media data identified: %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 430.372872,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "Media data for image_extraction_failed.jpg",
+ "{ 'time': 1226149915, 'exposure_program': 'Program Normal', 'exposure_time': 0.008, 'flash': 'Fill Fired', 'aperture': 7.1, 'focal_length': 170.0, 'height': 2592, 'iso': 400, 'orientation': 1, 'width': 3888, 'size': 1301272, 'camera': 'Canon: Canon EOS 40D' }",
+ ""
+ ],
+ "asctime": "2025-08-16 16:39:26,103",
+ "created": 1755355166.103482,
"exc_text": null,
"filename": "test.py",
"funcName": "__report_result__",
"levelname": "DEBUG",
"levelno": 10,
"lineno": 22,
- "message": "Result (Filecompare for joined_image_3.jpg): True ()",
+ "message": "Result (Media data for image_extraction_failed.jpg): { 'time': 1226149915, 'exposure_program': 'Program Normal', 'exposure_time': 0.008, 'flash': 'Fill Fired', 'aperture': 7.1, 'focal_length': 170.0, 'height': 2592, 'iso': 400, 'orientation': 1, 'width': 3888, 'size': 1301272, 'camera': 'Canon: Canon EOS 40D' } ()",
"module": "test",
- "msecs": 181.28037452697754,
+ "msecs": 103.0,
"msg": "Result (%s): %s (%s)",
"name": "__unittest__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 4030.6880474090576,
+ "relativeCreated": 430.412664,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread"
},
{
"args": [
- "Filecompare for joined_image_3.jpg",
- "True",
- ""
+ "Media data for image_extraction_failed.jpg",
+ "=",
+ "{ 'time': 1226149915, 'exposure_program': 'Program Normal', 'exposure_time': 0.008, 'flash': 'Fill Fired', 'aperture': 7.1, 'focal_length': 170.0, 'height': 2592, 'iso': 400, 'orientation': 1, 'width': 3888, 'camera': 'Canon: Canon EOS 40D', 'size': 1301272 }",
+ ""
],
- "asctime": "2021-01-14 00:59:11,181",
- "created": 1610582351.1814065,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,103",
+ "created": 1755355166.103516,
"exc_text": null,
"filename": "test.py",
- "funcName": "__report_expectation_equivalency__",
+ "funcName": "__report_expectation__",
"levelname": "DEBUG",
"levelno": 10,
"lineno": 26,
- "message": "Expectation (Filecompare for joined_image_3.jpg): result = True ()",
+ "message": "Expectation (Media data for image_extraction_failed.jpg): result = { 'time': 1226149915, 'exposure_program': 'Program Normal', 'exposure_time': 0.008, 'flash': 'Fill Fired', 'aperture': 7.1, 'focal_length': 170.0, 'height': 2592, 'iso': 400, 'orientation': 1, 'width': 3888, 'camera': 'Canon: Canon EOS 40D', 'size': 1301272 } ()",
"module": "test",
- "msecs": 181.40649795532227,
- "msg": "Expectation (%s): result = %s (%s)",
+ "msecs": 103.0,
+ "msg": "Expectation (%s): result %s %s (%s)",
"name": "__unittest__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 4030.8141708374023,
+ "relativeCreated": 430.446578,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread"
}
],
- "msecs": 181.4868450164795,
- "msg": "Filecompare for joined_image_3.jpg is correct (Content %s and Type is %s).",
+ "msecs": 103.0,
+ "msg": "Media data for image_extraction_failed.jpg is correct (Content %s and Type is %s).",
"name": "__tLogger__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 4030.8945178985596,
+ "relativeCreated": 430.485559,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread",
- "time_consumption": 8.034706115722656e-05
+ "time_consumption": 3.886222839355469e-05
},
{
"args": [
- "True",
- ""
+ "{'time': 1590940859, 'exposure_program': 'Program Normal', 'exposure_time': 0.01, 'flash': 'Off', 'aperture': 2.0, 'focal_length': 3.463, 'height': 3120, 'iso': 124, 'orientation': 6, 'width': 4160, 'size': 3500036, 'camera': 'motorola: motorola one'}",
+ ""
],
- "asctime": "2021-01-14 00:59:11,579",
- "created": 1610582351.5792327,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,107",
+ "created": 1755355166.1076543,
"exc_text": null,
"filename": "test.py",
"funcName": "equivalency_chk",
"levelname": "INFO",
"levelno": 20,
- "lineno": 144,
- "message": "Filecompare for joined_image_4.jpg is correct (Content True and Type is ).",
+ "lineno": 184,
+ "message": "Media data for faulty_gps_data.jpg is correct (Content {'time': 1590940859, 'exposure_program': 'Program Normal', 'exposure_time': 0.01, 'flash': 'Off', 'aperture': 2.0, 'focal_length': 3.463, 'height': 3120, 'iso': 124, 'orientation': 6, 'width': 4160, 'size': 3500036, 'camera': 'motorola: motorola one'} and Type is ).",
"module": "test",
"moduleLogger": [
{
- "args": [
- 4
- ],
- "asctime": "2021-01-14 00:59:11,181",
- "created": 1610582351.1816049,
- "exc_info": null,
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,105",
+ "created": 1755355166.1050463,
"exc_text": null,
- "filename": "test_image.py",
- "funcName": "join",
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
"levelname": "DEBUG",
"levelno": 10,
- "lineno": 108,
- "message": "Join with position 4",
- "module": "test_image",
- "msecs": 181.60486221313477,
- "msg": "Join with position %d",
- "name": "__unittest__",
- "pathname": "src/tests/test_image.py",
- "process": 21433,
+ "lineno": 942,
+ "message": "tag: Make (271) - type: string (2) Tag Location: 22 - Data Location: 146 - value: b'motorola\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 105.0,
+ "msg": "tag: Make (271) - type: string (2) Tag Location: 22 - Data Location: 146 - value: b'motorola\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 4031.012535095215,
+ "relativeCreated": 431.976644,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,105",
+ "created": 1755355166.1050904,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: Model (272) - type: string (2) Tag Location: 34 - Data Location: 156 - value: b'motorola one\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 105.0,
+ "msg": "tag: Model (272) - type: string (2) Tag Location: 34 - Data Location: 156 - value: b'motorola one\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 432.020809,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,105",
+ "created": 1755355166.1051188,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: Orientation (274) - type: short (3) - value: b'\\x00\\x06'",
+ "module": "TiffImagePlugin",
+ "msecs": 105.0,
+ "msg": "tag: Orientation (274) - type: short (3) - value: b'\\x00\\x06'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 432.049097,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,105",
+ "created": 1755355166.1051502,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: XResolution (282) - type: rational (5) Tag Location: 58 - Data Location: 170 - value: b'\\x00\\x00\\x00H\\x00\\x00\\x00\\x01'",
+ "module": "TiffImagePlugin",
+ "msecs": 105.0,
+ "msg": "tag: XResolution (282) - type: rational (5) Tag Location: 58 - Data Location: 170 - value: b'\\x00\\x00\\x00H\\x00\\x00\\x00\\x01'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 432.080766,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,105",
+ "created": 1755355166.1051779,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: YResolution (283) - type: rational (5) Tag Location: 70 - Data Location: 178 - value: b'\\x00\\x00\\x00H\\x00\\x00\\x00\\x01'",
+ "module": "TiffImagePlugin",
+ "msecs": 105.0,
+ "msg": "tag: YResolution (283) - type: rational (5) Tag Location: 70 - Data Location: 178 - value: b'\\x00\\x00\\x00H\\x00\\x00\\x00\\x01'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 432.108371,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,105",
+ "created": 1755355166.1052034,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ResolutionUnit (296) - type: short (3) - value: b'\\x00\\x02'",
+ "module": "TiffImagePlugin",
+ "msecs": 105.0,
+ "msg": "tag: ResolutionUnit (296) - type: short (3) - value: b'\\x00\\x02'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 432.133966,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,105",
+ "created": 1755355166.1052306,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: Software (305) - type: string (2) Tag Location: 94 - Data Location: 186 - value: ",
+ "module": "TiffImagePlugin",
+ "msecs": 105.0,
+ "msg": "tag: Software (305) - type: string (2) Tag Location: 94 - Data Location: 186 - value: ",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 432.160965,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,105",
+ "created": 1755355166.1052597,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: DateTime (306) - type: string (2) Tag Location: 106 - Data Location: 234 - value: b'2020:05:31 18:00:59\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 105.0,
+ "msg": "tag: DateTime (306) - type: string (2) Tag Location: 106 - Data Location: 234 - value: b'2020:05:31 18:00:59\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 432.190228,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,105",
+ "created": 1755355166.1052868,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: YCbCrPositioning (531) - type: short (3) - value: b'\\x00\\x01'",
+ "module": "TiffImagePlugin",
+ "msecs": 105.0,
+ "msg": "tag: YCbCrPositioning (531) - type: short (3) - value: b'\\x00\\x01'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 432.217456,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,105",
+ "created": 1755355166.1053123,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ExifIFD (34665) - type: long (4) - value: b'\\x00\\x00\\x00\\xfe'",
+ "module": "TiffImagePlugin",
+ "msecs": 105.0,
+ "msg": "tag: ExifIFD (34665) - type: long (4) - value: b'\\x00\\x00\\x00\\xfe'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 432.242724,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,105",
+ "created": 1755355166.1053376,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: GPSInfoIFD (34853) - type: long (4) - value: b'\\x00\\x00\\x04p'",
+ "module": "TiffImagePlugin",
+ "msecs": 105.0,
+ "msg": "tag: GPSInfoIFD (34853) - type: long (4) - value: b'\\x00\\x00\\x04p'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 432.268,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,105",
+ "created": 1755355166.1055412,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ExposureTime (33434) - type: rational (5) Tag Location: 268 - Data Location: 632 - value: b'\\x00\\x00\\x00\\x01\\x00\\x00\\x00d'",
+ "module": "TiffImagePlugin",
+ "msecs": 105.0,
+ "msg": "tag: ExposureTime (33434) - type: rational (5) Tag Location: 268 - Data Location: 632 - value: b'\\x00\\x00\\x00\\x01\\x00\\x00\\x00d'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 432.471725,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,105",
+ "created": 1755355166.1055763,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: FNumber (33437) - type: rational (5) Tag Location: 280 - Data Location: 640 - value: b'\\x00\\x00\\x00\\x14\\x00\\x00\\x00\\n'",
+ "module": "TiffImagePlugin",
+ "msecs": 105.0,
+ "msg": "tag: FNumber (33437) - type: rational (5) Tag Location: 280 - Data Location: 640 - value: b'\\x00\\x00\\x00\\x14\\x00\\x00\\x00\\n'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 432.50669,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,105",
+ "created": 1755355166.1056042,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ExposureProgram (34850) - type: short (3) - value: b'\\x00\\x02'",
+ "module": "TiffImagePlugin",
+ "msecs": 105.0,
+ "msg": "tag: ExposureProgram (34850) - type: short (3) - value: b'\\x00\\x02'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 432.53447,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,105",
+ "created": 1755355166.1056306,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ISOSpeedRatings (34855) - type: short (3) - value: b'\\x00|'",
+ "module": "TiffImagePlugin",
+ "msecs": 105.0,
+ "msg": "tag: ISOSpeedRatings (34855) - type: short (3) - value: b'\\x00|'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 432.561198,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,105",
+ "created": 1755355166.1056635,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ExifVersion (36864) - type: undefined (7) - value: b'0220'",
+ "module": "TiffImagePlugin",
+ "msecs": 105.0,
+ "msg": "tag: ExifVersion (36864) - type: undefined (7) - value: b'0220'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 432.593927,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,105",
+ "created": 1755355166.1056929,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: DateTimeOriginal (36867) - type: string (2) Tag Location: 328 - Data Location: 648 - value: b'2020:05:31 18:00:59\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 105.0,
+ "msg": "tag: DateTimeOriginal (36867) - type: string (2) Tag Location: 328 - Data Location: 648 - value: b'2020:05:31 18:00:59\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 432.623437,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,105",
+ "created": 1755355166.1057253,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: DateTimeDigitized (36868) - type: string (2) Tag Location: 340 - Data Location: 668 - value: b'2020:05:31 18:00:59\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 105.0,
+ "msg": "tag: DateTimeDigitized (36868) - type: string (2) Tag Location: 340 - Data Location: 668 - value: b'2020:05:31 18:00:59\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 432.655771,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,105",
+ "created": 1755355166.1057491,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ComponentsConfiguration (37121) - type: undefined (7) - value: b'\\x01\\x02\\x03\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 105.0,
+ "msg": "tag: ComponentsConfiguration (37121) - type: undefined (7) - value: b'\\x01\\x02\\x03\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 432.679833,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,105",
+ "created": 1755355166.105774,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ShutterSpeedValue (37377) - type: signed rational (10) Tag Location: 364 - Data Location: 688 - value: b'\\x00\\x00\\x19\\xf4\\x00\\x00\\x03\\xe8'",
+ "module": "TiffImagePlugin",
+ "msecs": 105.0,
+ "msg": "tag: ShutterSpeedValue (37377) - type: signed rational (10) Tag Location: 364 - Data Location: 688 - value: b'\\x00\\x00\\x19\\xf4\\x00\\x00\\x03\\xe8'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 432.704307,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,105",
+ "created": 1755355166.1057982,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ApertureValue (37378) - type: rational (5) Tag Location: 376 - Data Location: 696 - value: b'\\x00\\x03\\r@\\x00\\x01\\x86\\xa0'",
+ "module": "TiffImagePlugin",
+ "msecs": 105.0,
+ "msg": "tag: ApertureValue (37378) - type: rational (5) Tag Location: 376 - Data Location: 696 - value: b'\\x00\\x03\\r@\\x00\\x01\\x86\\xa0'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 432.728592,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,105",
+ "created": 1755355166.105823,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: BrightnessValue (37379) - type: signed rational (10) Tag Location: 388 - Data Location: 704 - value: b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00d'",
+ "module": "TiffImagePlugin",
+ "msecs": 105.0,
+ "msg": "tag: BrightnessValue (37379) - type: signed rational (10) Tag Location: 388 - Data Location: 704 - value: b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00d'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 432.753484,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,105",
+ "created": 1755355166.1058505,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ExposureBiasValue (37380) - type: signed rational (10) Tag Location: 400 - Data Location: 712 - value: b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x06'",
+ "module": "TiffImagePlugin",
+ "msecs": 105.0,
+ "msg": "tag: ExposureBiasValue (37380) - type: signed rational (10) Tag Location: 400 - Data Location: 712 - value: b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x06'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 432.780899,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,105",
+ "created": 1755355166.1058753,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: MaxApertureValue (37381) - type: rational (5) Tag Location: 412 - Data Location: 720 - value: b'\\x00\\x03\\r@\\x00\\x01\\x86\\xa0'",
+ "module": "TiffImagePlugin",
+ "msecs": 105.0,
+ "msg": "tag: MaxApertureValue (37381) - type: rational (5) Tag Location: 412 - Data Location: 720 - value: b'\\x00\\x03\\r@\\x00\\x01\\x86\\xa0'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 432.805685,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,105",
+ "created": 1755355166.1058984,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: MeteringMode (37383) - type: short (3) - value: b'\\x00\\x02'",
+ "module": "TiffImagePlugin",
+ "msecs": 105.0,
+ "msg": "tag: MeteringMode (37383) - type: short (3) - value: b'\\x00\\x02'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 432.828866,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,105",
+ "created": 1755355166.1059234,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: Flash (37385) - type: short (3) - value: b'\\x00\\x10'",
+ "module": "TiffImagePlugin",
+ "msecs": 105.0,
+ "msg": "tag: Flash (37385) - type: short (3) - value: b'\\x00\\x10'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 432.853738,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,105",
+ "created": 1755355166.105948,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: FocalLength (37386) - type: rational (5) Tag Location: 448 - Data Location: 728 - value: b'\\x00\\x00\\r\\x87\\x00\\x00\\x03\\xe8'",
+ "module": "TiffImagePlugin",
+ "msecs": 105.0,
+ "msg": "tag: FocalLength (37386) - type: rational (5) Tag Location: 448 - Data Location: 728 - value: b'\\x00\\x00\\r\\x87\\x00\\x00\\x03\\xe8'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 432.878505,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,105",
+ "created": 1755355166.1059737,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: MakerNote (37500) - type: undefined (7) Tag Location: 460 - Data Location: 736 - value: ",
+ "module": "TiffImagePlugin",
+ "msecs": 105.0,
+ "msg": "tag: MakerNote (37500) - type: undefined (7) Tag Location: 460 - Data Location: 736 - value: ",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 432.904146,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,105",
+ "created": 1755355166.1059988,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: SubSec (37520) - type: string (2) Tag Location: 472 - Data Location: 1074 - value: b'764525\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 105.0,
+ "msg": "tag: SubSec (37520) - type: string (2) Tag Location: 472 - Data Location: 1074 - value: b'764525\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 432.929397,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,106",
+ "created": 1755355166.106024,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: SubSecTimeOriginal (37521) - type: string (2) Tag Location: 484 - Data Location: 1082 - value: b'764525\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 106.0,
+ "msg": "tag: SubSecTimeOriginal (37521) - type: string (2) Tag Location: 484 - Data Location: 1082 - value: b'764525\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 432.954479,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,106",
+ "created": 1755355166.1060505,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: SubsecTimeDigitized (37522) - type: string (2) Tag Location: 496 - Data Location: 1090 - value: b'764525\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 106.0,
+ "msg": "tag: SubsecTimeDigitized (37522) - type: string (2) Tag Location: 496 - Data Location: 1090 - value: b'764525\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 432.981035,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,106",
+ "created": 1755355166.1060731,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: FlashPixVersion (40960) - type: undefined (7) - value: b'0100'",
+ "module": "TiffImagePlugin",
+ "msecs": 106.0,
+ "msg": "tag: FlashPixVersion (40960) - type: undefined (7) - value: b'0100'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 433.003662,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,106",
+ "created": 1755355166.1060972,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ColorSpace (40961) - type: short (3) - value: b'\\x00\\x01'",
+ "module": "TiffImagePlugin",
+ "msecs": 106.0,
+ "msg": "tag: ColorSpace (40961) - type: short (3) - value: b'\\x00\\x01'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 433.027682,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,106",
+ "created": 1755355166.10612,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: PixelXDimension (40962) - type: long (4) - value: b'\\x00\\x00\\x10@'",
+ "module": "TiffImagePlugin",
+ "msecs": 106.0,
+ "msg": "tag: PixelXDimension (40962) - type: long (4) - value: b'\\x00\\x00\\x10@'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 433.050558,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,106",
+ "created": 1755355166.1061425,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: PixelYDimension (40963) - type: long (4) - value: b'\\x00\\x00\\x0c0'",
+ "module": "TiffImagePlugin",
+ "msecs": 106.0,
+ "msg": "tag: PixelYDimension (40963) - type: long (4) - value: b'\\x00\\x00\\x0c0'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 433.07303,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,106",
+ "created": 1755355166.106164,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: InteroperabilityIFD (40965) - type: long (4) - value: b'\\x00\\x00\\x04R'",
+ "module": "TiffImagePlugin",
+ "msecs": 106.0,
+ "msg": "tag: InteroperabilityIFD (40965) - type: long (4) - value: b'\\x00\\x00\\x04R'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 433.094385,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,106",
+ "created": 1755355166.1061869,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: SceneType (41729) - type: undefined (7) - value: b'\\x01'",
+ "module": "TiffImagePlugin",
+ "msecs": 106.0,
+ "msg": "tag: SceneType (41729) - type: undefined (7) - value: b'\\x01'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 433.117231,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,106",
+ "created": 1755355166.10621,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: CustomRendered (41985) - type: short (3) - value: b'\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 106.0,
+ "msg": "tag: CustomRendered (41985) - type: short (3) - value: b'\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 433.140484,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,106",
+ "created": 1755355166.1062343,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ExposureMode (41986) - type: short (3) - value: b'\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 106.0,
+ "msg": "tag: ExposureMode (41986) - type: short (3) - value: b'\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 433.164895,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,106",
+ "created": 1755355166.1062565,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: WhiteBalance (41987) - type: short (3) - value: b'\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 106.0,
+ "msg": "tag: WhiteBalance (41987) - type: short (3) - value: b'\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 433.186908,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,106",
+ "created": 1755355166.1062799,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: DigitalZoomRatio (41988) - type: rational (5) Tag Location: 616 - Data Location: 1098 - value: b'\\x00\\x00\\x00d\\x00\\x00\\x00d'",
+ "module": "TiffImagePlugin",
+ "msecs": 106.0,
+ "msg": "tag: DigitalZoomRatio (41988) - type: rational (5) Tag Location: 616 - Data Location: 1098 - value: b'\\x00\\x00\\x00d\\x00\\x00\\x00d'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 433.210386,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,106",
+ "created": 1755355166.1063037,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: SceneCaptureType (41990) - type: short (3) - value: b'\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 106.0,
+ "msg": "tag: SceneCaptureType (41990) - type: short (3) - value: b'\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 433.234174,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,106",
+ "created": 1755355166.1066291,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: GPSVersionID (0) - type: byte (1) - value: b'\\x00\\x00\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 106.0,
+ "msg": "tag: GPSVersionID (0) - type: byte (1) - value: b'\\x00\\x00\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 433.559532,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,106",
+ "created": 1755355166.1066597,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: GPSLatitudeRef (1) - type: string (2) - value: b'\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 106.0,
+ "msg": "tag: GPSLatitudeRef (1) - type: string (2) - value: b'\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 433.589972,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,106",
+ "created": 1755355166.106701,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: GPSLatitude (2) - type: rational (5) Tag Location: 1174 - Data Location: 1274 - value: b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 106.0,
+ "msg": "tag: GPSLatitude (2) - type: rational (5) Tag Location: 1174 - Data Location: 1274 - value: b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 433.631261,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,106",
+ "created": 1755355166.1067257,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: GPSLongitudeRef (3) - type: string (2) - value: b'\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 106.0,
+ "msg": "tag: GPSLongitudeRef (3) - type: string (2) - value: b'\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 433.65614,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,106",
+ "created": 1755355166.106754,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: GPSLongitude (4) - type: rational (5) Tag Location: 1198 - Data Location: 1298 - value: b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 106.0,
+ "msg": "tag: GPSLongitude (4) - type: rational (5) Tag Location: 1198 - Data Location: 1298 - value: b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 433.684578,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,106",
+ "created": 1755355166.1067786,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: GPSAltitudeRef (5) - type: byte (1) - value: b'\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 106.0,
+ "msg": "tag: GPSAltitudeRef (5) - type: byte (1) - value: b'\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 433.709123,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,106",
+ "created": 1755355166.1068048,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: GPSAltitude (6) - type: rational (5) Tag Location: 1222 - Data Location: 1322 - value: b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 106.0,
+ "msg": "tag: GPSAltitude (6) - type: rational (5) Tag Location: 1222 - Data Location: 1322 - value: b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 433.735128,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,106",
+ "created": 1755355166.1068351,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: GPSTimeStamp (7) - type: rational (5) Tag Location: 1234 - Data Location: 1330 - value: b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 106.0,
+ "msg": "tag: GPSTimeStamp (7) - type: rational (5) Tag Location: 1234 - Data Location: 1330 - value: b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 433.765708,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,106",
+ "created": 1755355166.1068673,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: GPSMapDatum (18) - type: string (2) Tag Location: 1246 - Data Location: 1354 - value: b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 106.0,
+ "msg": "tag: GPSMapDatum (18) - type: string (2) Tag Location: 1246 - Data Location: 1354 - value: b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 433.797749,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,106",
+ "created": 1755355166.1068957,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: GPSProcessingMethod (27) - type: string (2) Tag Location: 1258 - Data Location: 1362 - value: b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 106.0,
+ "msg": "tag: GPSProcessingMethod (27) - type: string (2) Tag Location: 1258 - Data Location: 1362 - value: b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 433.8261,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,106",
+ "created": 1755355166.1069298,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: GPSDateStamp (29) - type: string (2) Tag Location: 1270 - Data Location: 1374 - value: b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 106.0,
+ "msg": "tag: GPSDateStamp (29) - type: string (2) Tag Location: 1270 - Data Location: 1374 - value: b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 433.860076,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread"
},
{
"args": [
- "Filecompare for joined_image_4.jpg",
- "True",
- ""
+ "time",
+ "'2020:05:31 18:00:59'"
],
- "asctime": "2021-01-14 00:59:11,579",
- "created": 1610582351.579027,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,107",
+ "created": 1755355166.107087,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting time out of '2020:05:31 18:00:59'",
+ "module": "metadata",
+ "msecs": 107.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 434.017359,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "exposure_program",
+ "2"
+ ],
+ "asctime": "2025-08-16 16:39:26,107",
+ "created": 1755355166.1071527,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting exposure_program out of 2",
+ "module": "metadata",
+ "msecs": 107.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 434.083248,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "exposure_time",
+ "0.01"
+ ],
+ "asctime": "2025-08-16 16:39:26,107",
+ "created": 1755355166.1071873,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting exposure_time out of 0.01",
+ "module": "metadata",
+ "msecs": 107.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 434.117738,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "flash",
+ "16"
+ ],
+ "asctime": "2025-08-16 16:39:26,107",
+ "created": 1755355166.1072164,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting flash out of 16",
+ "module": "metadata",
+ "msecs": 107.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 434.146936,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "aperture",
+ "2.0"
+ ],
+ "asctime": "2025-08-16 16:39:26,107",
+ "created": 1755355166.1072443,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting aperture out of 2.0",
+ "module": "metadata",
+ "msecs": 107.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 434.174771,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "focal_length",
+ "3.463"
+ ],
+ "asctime": "2025-08-16 16:39:26,107",
+ "created": 1755355166.1072707,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting focal_length out of 3.463",
+ "module": "metadata",
+ "msecs": 107.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 434.201222,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "gps",
+ "{0: b'\\x00\\x00\\x00\\x00', 1: '\\x00', 2: (nan, nan, nan), 3: '\\x00', 4: (nan, nan, nan), 5: b'\\x00', 6: nan, 7: (nan, nan, nan), 18: '\\x00\\x00\\x00\\x00\\x00\\x00', 27: '\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00', 29: '\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'}"
+ ],
+ "asctime": "2025-08-16 16:39:26,107",
+ "created": 1755355166.1073043,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting gps out of {0: b'\\x00\\x00\\x00\\x00', 1: '\\x00', 2: (nan, nan, nan), 3: '\\x00', 4: (nan, nan, nan), 5: b'\\x00', 6: nan, 7: (nan, nan, nan), 18: '\\x00\\x00\\x00\\x00\\x00\\x00', 27: '\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00', 29: '\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'}",
+ "module": "metadata",
+ "msecs": 107.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 434.23503,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "height",
+ "3120"
+ ],
+ "asctime": "2025-08-16 16:39:26,107",
+ "created": 1755355166.1073465,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting height out of 3120",
+ "module": "metadata",
+ "msecs": 107.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 434.276951,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "iso",
+ "124"
+ ],
+ "asctime": "2025-08-16 16:39:26,107",
+ "created": 1755355166.1073716,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting iso out of 124",
+ "module": "metadata",
+ "msecs": 107.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 434.30197,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "camera_vendor",
+ "'motorola'"
+ ],
+ "asctime": "2025-08-16 16:39:26,107",
+ "created": 1755355166.1073945,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting camera_vendor out of 'motorola'",
+ "module": "metadata",
+ "msecs": 107.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 434.32499,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "camera_model",
+ "'motorola one'"
+ ],
+ "asctime": "2025-08-16 16:39:26,107",
+ "created": 1755355166.1074178,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting camera_model out of 'motorola one'",
+ "module": "metadata",
+ "msecs": 107.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 434.348412,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "orientation",
+ "6"
+ ],
+ "asctime": "2025-08-16 16:39:26,107",
+ "created": 1755355166.1074386,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting orientation out of 6",
+ "module": "metadata",
+ "msecs": 107.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 434.369086,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "width",
+ "4160"
+ ],
+ "asctime": "2025-08-16 16:39:26,107",
+ "created": 1755355166.107461,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_exif_data__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 243,
+ "message": "Converting width out of 4160",
+ "module": "metadata",
+ "msecs": 107.0,
+ "msg": "Converting %s out of %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 434.391404,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "{'time': 1590940859, 'exposure_program': 'Program Normal', 'exposure_time': 0.01, 'flash': 'Off', 'aperture': 2.0, 'focal_length': 3.463, 'height': 3120, 'iso': 124, 'orientation': 6, 'width': 4160, 'size': 3500036, 'camera': 'motorola: motorola one'}"
+ ],
+ "asctime": "2025-08-16 16:39:26,107",
+ "created": 1755355166.1075156,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "get_media_data",
+ "levelname": "INFO",
+ "levelno": 20,
+ "lineno": 45,
+ "message": "Media data identified: {'time': 1590940859, 'exposure_program': 'Program Normal', 'exposure_time': 0.01, 'flash': 'Off', 'aperture': 2.0, 'focal_length': 3.463, 'height': 3120, 'iso': 124, 'orientation': 6, 'width': 4160, 'size': 3500036, 'camera': 'motorola: motorola one'}",
+ "module": "metadata",
+ "msecs": 107.0,
+ "msg": "Media data identified: %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 434.446157,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "Media data for faulty_gps_data.jpg",
+ "{ 'time': 1590940859, 'exposure_program': 'Program Normal', 'exposure_time': 0.01, 'flash': 'Off', 'aperture': 2.0, 'focal_length': 3.463, 'height': 3120, 'iso': 124, 'orientation': 6, 'width': 4160, 'size': 3500036, 'camera': 'motorola: motorola one' }",
+ ""
+ ],
+ "asctime": "2025-08-16 16:39:26,107",
+ "created": 1755355166.1075633,
"exc_text": null,
"filename": "test.py",
"funcName": "__report_result__",
"levelname": "DEBUG",
"levelno": 10,
"lineno": 22,
- "message": "Result (Filecompare for joined_image_4.jpg): True ()",
+ "message": "Result (Media data for faulty_gps_data.jpg): { 'time': 1590940859, 'exposure_program': 'Program Normal', 'exposure_time': 0.01, 'flash': 'Off', 'aperture': 2.0, 'focal_length': 3.463, 'height': 3120, 'iso': 124, 'orientation': 6, 'width': 4160, 'size': 3500036, 'camera': 'motorola: motorola one' } ()",
"module": "test",
- "msecs": 579.0269374847412,
+ "msecs": 107.0,
"msg": "Result (%s): %s (%s)",
"name": "__unittest__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 4428.434610366821,
+ "relativeCreated": 434.493714,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread"
},
{
"args": [
- "Filecompare for joined_image_4.jpg",
- "True",
- ""
+ "Media data for faulty_gps_data.jpg",
+ "=",
+ "{ 'time': 1590940859, 'exposure_program': 'Program Normal', 'exposure_time': 0.01, 'flash': 'Off', 'aperture': 2.0, 'focal_length': 3.463, 'height': 3120, 'iso': 124, 'orientation': 6, 'width': 4160, 'camera': 'motorola: motorola one', 'size': 3500036 }",
+ ""
],
- "asctime": "2021-01-14 00:59:11,579",
- "created": 1610582351.579152,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,107",
+ "created": 1755355166.1076021,
"exc_text": null,
"filename": "test.py",
- "funcName": "__report_expectation_equivalency__",
+ "funcName": "__report_expectation__",
"levelname": "DEBUG",
"levelno": 10,
"lineno": 26,
- "message": "Expectation (Filecompare for joined_image_4.jpg): result = True ()",
+ "message": "Expectation (Media data for faulty_gps_data.jpg): result = { 'time': 1590940859, 'exposure_program': 'Program Normal', 'exposure_time': 0.01, 'flash': 'Off', 'aperture': 2.0, 'focal_length': 3.463, 'height': 3120, 'iso': 124, 'orientation': 6, 'width': 4160, 'camera': 'motorola: motorola one', 'size': 3500036 } ()",
"module": "test",
- "msecs": 579.1521072387695,
- "msg": "Expectation (%s): result = %s (%s)",
+ "msecs": 107.0,
+ "msg": "Expectation (%s): result %s %s (%s)",
"name": "__unittest__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 4428.55978012085,
+ "relativeCreated": 434.532651,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread"
}
],
- "msecs": 579.2326927185059,
- "msg": "Filecompare for joined_image_4.jpg is correct (Content %s and Type is %s).",
+ "msecs": 107.0,
+ "msg": "Media data for faulty_gps_data.jpg is correct (Content %s and Type is %s).",
"name": "__tLogger__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 4428.640365600586,
+ "relativeCreated": 434.584946,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread",
- "time_consumption": 8.058547973632812e-05
+ "time_consumption": 5.221366882324219e-05
},
{
"args": [
- "True",
- ""
+ "{'width': 800, 'height': 480, 'ratio': 1.6666666666666667, 'duration': 3.964, 'bitrate': 2341765, 'time': 1414948303, 'size': 1160345}",
+ ""
],
- "asctime": "2021-01-14 00:59:11,977",
- "created": 1610582351.9778028,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,162",
+ "created": 1755355166.162285,
"exc_text": null,
"filename": "test.py",
"funcName": "equivalency_chk",
"levelname": "INFO",
"levelno": 20,
- "lineno": 144,
- "message": "Filecompare for joined_image_5.jpg is correct (Content True and Type is ).",
+ "lineno": 184,
+ "message": "Media data for video.3gp is correct (Content {'width': 800, 'height': 480, 'ratio': 1.6666666666666667, 'duration': 3.964, 'bitrate': 2341765, 'time': 1414948303, 'size': 1160345} and Type is ).",
"module": "test",
"moduleLogger": [
{
"args": [
- 5
+ "{'width': 800, 'height': 480, 'ratio': 1.6666666666666667, 'duration': 3.964, 'bitrate': 2341765, 'time': 1414948303, 'size': 1160345}"
],
- "asctime": "2021-01-14 00:59:11,579",
- "created": 1610582351.5793498,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,162",
+ "created": 1755355166.1621263,
"exc_text": null,
- "filename": "test_image.py",
- "funcName": "join",
- "levelname": "DEBUG",
- "levelno": 10,
- "lineno": 108,
- "message": "Join with position 5",
- "module": "test_image",
- "msecs": 579.3497562408447,
- "msg": "Join with position %d",
- "name": "__unittest__",
- "pathname": "src/tests/test_image.py",
- "process": 21433,
+ "filename": "metadata.py",
+ "funcName": "get_media_data",
+ "levelname": "INFO",
+ "levelno": 20,
+ "lineno": 45,
+ "message": "Media data identified: {'width': 800, 'height': 480, 'ratio': 1.6666666666666667, 'duration': 3.964, 'bitrate': 2341765, 'time': 1414948303, 'size': 1160345}",
+ "module": "metadata",
+ "msecs": 162.0,
+ "msg": "Media data identified: %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 4428.757429122925,
+ "relativeCreated": 489.056866,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread"
},
{
"args": [
- "Filecompare for joined_image_5.jpg",
- "True",
- ""
+ "Media data for video.3gp",
+ "{ 'width': 800, 'height': 480, 'ratio': 1.6666666666666667, 'duration': 3.964, 'bitrate': 2341765, 'time': 1414948303, 'size': 1160345 }",
+ ""
],
- "asctime": "2021-01-14 00:59:11,977",
- "created": 1610582351.9775925,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,162",
+ "created": 1755355166.1622052,
"exc_text": null,
"filename": "test.py",
"funcName": "__report_result__",
"levelname": "DEBUG",
"levelno": 10,
"lineno": 22,
- "message": "Result (Filecompare for joined_image_5.jpg): True ()",
+ "message": "Result (Media data for video.3gp): { 'width': 800, 'height': 480, 'ratio': 1.6666666666666667, 'duration': 3.964, 'bitrate': 2341765, 'time': 1414948303, 'size': 1160345 } ()",
"module": "test",
- "msecs": 977.5924682617188,
+ "msecs": 162.0,
"msg": "Result (%s): %s (%s)",
"name": "__unittest__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 4827.000141143799,
+ "relativeCreated": 489.13571,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread"
},
{
"args": [
- "Filecompare for joined_image_5.jpg",
- "True",
- ""
+ "Media data for video.3gp",
+ "=",
+ "{ 'width': 800, 'height': 480, 'ratio': 1.6666666666666667, 'duration': 3.964, 'bitrate': 2341765, 'time': 1414948303, 'size': 1160345 }",
+ ""
],
- "asctime": "2021-01-14 00:59:11,977",
- "created": 1610582351.9777188,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,162",
+ "created": 1755355166.1622427,
"exc_text": null,
"filename": "test.py",
- "funcName": "__report_expectation_equivalency__",
+ "funcName": "__report_expectation__",
"levelname": "DEBUG",
"levelno": 10,
"lineno": 26,
- "message": "Expectation (Filecompare for joined_image_5.jpg): result = True ()",
+ "message": "Expectation (Media data for video.3gp): result = { 'width': 800, 'height': 480, 'ratio': 1.6666666666666667, 'duration': 3.964, 'bitrate': 2341765, 'time': 1414948303, 'size': 1160345 } ()",
"module": "test",
- "msecs": 977.7188301086426,
- "msg": "Expectation (%s): result = %s (%s)",
+ "msecs": 162.0,
+ "msg": "Expectation (%s): result %s %s (%s)",
"name": "__unittest__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 4827.126502990723,
+ "relativeCreated": 489.173014,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread"
}
],
- "msecs": 977.8027534484863,
- "msg": "Filecompare for joined_image_5.jpg is correct (Content %s and Type is %s).",
+ "msecs": 162.0,
+ "msg": "Media data for video.3gp is correct (Content %s and Type is %s).",
"name": "__tLogger__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 4827.210426330566,
+ "relativeCreated": 489.215452,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread",
- "time_consumption": 8.392333984375e-05
+ "time_consumption": 4.2438507080078125e-05
},
{
"args": [
- "True",
- ""
+ "{'width': 1920, 'height': 1080, 'ratio': 1.7777777777777777, 'duration': 12.453189, 'bitrate': 17883617, 'time': 1503125482, 'size': 27838508}",
+ ""
],
- "asctime": "2021-01-14 00:59:12,363",
- "created": 1610582352.3639755,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,281",
+ "created": 1755355166.2810335,
"exc_text": null,
"filename": "test.py",
"funcName": "equivalency_chk",
"levelname": "INFO",
"levelno": 20,
- "lineno": 144,
- "message": "Filecompare for joined_image_1.jpg is correct (Content True and Type is ).",
+ "lineno": 184,
+ "message": "Media data for video.mp4 is correct (Content {'width': 1920, 'height': 1080, 'ratio': 1.7777777777777777, 'duration': 12.453189, 'bitrate': 17883617, 'time': 1503125482, 'size': 27838508} and Type is ).",
"module": "test",
"moduleLogger": [
{
"args": [
- 1
+ "{'width': 1920, 'height': 1080, 'ratio': 1.7777777777777777, 'duration': 12.453189, 'bitrate': 17883617, 'time': 1503125482, 'size': 27838508}"
],
- "asctime": "2021-01-14 00:59:11,977",
- "created": 1610582351.977924,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,280",
+ "created": 1755355166.2808707,
"exc_text": null,
- "filename": "test_image.py",
- "funcName": "join",
- "levelname": "DEBUG",
- "levelno": 10,
- "lineno": 108,
- "message": "Join with position 1",
- "module": "test_image",
- "msecs": 977.924108505249,
- "msg": "Join with position %d",
- "name": "__unittest__",
- "pathname": "src/tests/test_image.py",
- "process": 21433,
+ "filename": "metadata.py",
+ "funcName": "get_media_data",
+ "levelname": "INFO",
+ "levelno": 20,
+ "lineno": 45,
+ "message": "Media data identified: {'width': 1920, 'height': 1080, 'ratio': 1.7777777777777777, 'duration': 12.453189, 'bitrate': 17883617, 'time': 1503125482, 'size': 27838508}",
+ "module": "metadata",
+ "msecs": 280.0,
+ "msg": "Media data identified: %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 4827.331781387329,
+ "relativeCreated": 607.801163,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread"
},
{
"args": [
- "Filecompare for joined_image_1.jpg",
- "True",
- ""
+ "Media data for video.mp4",
+ "{ 'width': 1920, 'height': 1080, 'ratio': 1.7777777777777777, 'duration': 12.453189, 'bitrate': 17883617, 'time': 1503125482, 'size': 27838508 }",
+ ""
],
- "asctime": "2021-01-14 00:59:12,363",
- "created": 1610582352.3632815,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,280",
+ "created": 1755355166.2809517,
"exc_text": null,
"filename": "test.py",
"funcName": "__report_result__",
"levelname": "DEBUG",
"levelno": 10,
"lineno": 22,
- "message": "Result (Filecompare for joined_image_1.jpg): True ()",
+ "message": "Result (Media data for video.mp4): { 'width': 1920, 'height': 1080, 'ratio': 1.7777777777777777, 'duration': 12.453189, 'bitrate': 17883617, 'time': 1503125482, 'size': 27838508 } ()",
"module": "test",
- "msecs": 363.2814884185791,
+ "msecs": 280.0,
"msg": "Result (%s): %s (%s)",
"name": "__unittest__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 5212.689161300659,
+ "relativeCreated": 607.882365,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread"
},
{
"args": [
- "Filecompare for joined_image_1.jpg",
- "True",
- ""
+ "Media data for video.mp4",
+ "=",
+ "{ 'width': 1920, 'height': 1080, 'ratio': 1.7777777777777777, 'duration': 12.453189, 'bitrate': 17883617, 'time': 1503125482, 'size': 27838508 }",
+ ""
],
- "asctime": "2021-01-14 00:59:12,363",
- "created": 1610582352.3637047,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,280",
+ "created": 1755355166.2809896,
"exc_text": null,
"filename": "test.py",
- "funcName": "__report_expectation_equivalency__",
+ "funcName": "__report_expectation__",
"levelname": "DEBUG",
"levelno": 10,
"lineno": 26,
- "message": "Expectation (Filecompare for joined_image_1.jpg): result = True ()",
+ "message": "Expectation (Media data for video.mp4): result = { 'width': 1920, 'height': 1080, 'ratio': 1.7777777777777777, 'duration': 12.453189, 'bitrate': 17883617, 'time': 1503125482, 'size': 27838508 } ()",
"module": "test",
- "msecs": 363.7046813964844,
- "msg": "Expectation (%s): result = %s (%s)",
+ "msecs": 280.0,
+ "msg": "Expectation (%s): result %s %s (%s)",
"name": "__unittest__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 5213.112354278564,
+ "relativeCreated": 607.92023,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread"
}
],
- "msecs": 363.97552490234375,
- "msg": "Filecompare for joined_image_1.jpg is correct (Content %s and Type is %s).",
+ "msecs": 281.0,
+ "msg": "Media data for video.mp4 is correct (Content %s and Type is %s).",
"name": "__tLogger__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 5213.383197784424,
+ "relativeCreated": 607.964021,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread",
- "time_consumption": 0.000270843505859375
+ "time_consumption": 4.38690185546875e-05
},
{
"args": [
- "True",
- ""
+ "{'width': 320, 'height': 240, 'duration': 26.531264, 'bitrate': 840554, 'time': 1086778620, 'size': 2787622}",
+ ""
],
- "asctime": "2021-01-14 00:59:12,767",
- "created": 1610582352.7672386,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,332",
+ "created": 1755355166.3329234,
"exc_text": null,
"filename": "test.py",
"funcName": "equivalency_chk",
"levelname": "INFO",
"levelno": 20,
- "lineno": 144,
- "message": "Filecompare for joined_image_2.jpg is correct (Content True and Type is ).",
+ "lineno": 184,
+ "message": "Media data for video_special_time.avi is correct (Content {'width': 320, 'height': 240, 'duration': 26.531264, 'bitrate': 840554, 'time': 1086778620, 'size': 2787622} and Type is ).",
"module": "test",
"moduleLogger": [
{
"args": [
- 2
+ "'N/A'",
+ "ratio",
+ "ratio"
],
- "asctime": "2021-01-14 00:59:12,364",
- "created": 1610582352.3643663,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,332",
+ "created": 1755355166.3325353,
"exc_text": null,
- "filename": "test_image.py",
- "funcName": "join",
- "levelname": "DEBUG",
- "levelno": 10,
- "lineno": 108,
- "message": "Join with position 2",
- "module": "test_image",
- "msecs": 364.3662929534912,
- "msg": "Join with position %d",
- "name": "__unittest__",
- "pathname": "src/tests/test_image.py",
- "process": 21433,
+ "filename": "metadata.py",
+ "funcName": "__get_xxprobe_data__",
+ "levelname": "WARNING",
+ "levelno": 30,
+ "lineno": 212,
+ "message": "Can't convert 'N/A' (ratio) for ratio",
+ "module": "metadata",
+ "msecs": 332.0,
+ "msg": "Can't convert %s (%s) for %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 5213.773965835571,
+ "relativeCreated": 659.465747,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread"
},
{
"args": [
- "Filecompare for joined_image_2.jpg",
- "True",
- ""
+ "'N/A'",
+ "duration",
+ "duration"
],
- "asctime": "2021-01-14 00:59:12,767",
- "created": 1610582352.767032,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,332",
+ "created": 1755355166.3326645,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "__get_xxprobe_data__",
+ "levelname": "WARNING",
+ "levelno": 30,
+ "lineno": 212,
+ "message": "Can't convert 'N/A' (duration) for duration",
+ "module": "metadata",
+ "msecs": 332.0,
+ "msg": "Can't convert %s (%s) for %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 659.595036,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "{'width': 320, 'height': 240, 'duration': 26.531264, 'bitrate': 840554, 'time': 1086778620, 'size': 2787622}"
+ ],
+ "asctime": "2025-08-16 16:39:26,332",
+ "created": 1755355166.3327968,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "get_media_data",
+ "levelname": "INFO",
+ "levelno": 20,
+ "lineno": 45,
+ "message": "Media data identified: {'width': 320, 'height': 240, 'duration': 26.531264, 'bitrate': 840554, 'time': 1086778620, 'size': 2787622}",
+ "module": "metadata",
+ "msecs": 332.0,
+ "msg": "Media data identified: %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 659.727543,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "Media data for video_special_time.avi",
+ "{ 'width': 320, 'height': 240, 'duration': 26.531264, 'bitrate': 840554, 'time': 1086778620, 'size': 2787622 }",
+ ""
+ ],
+ "asctime": "2025-08-16 16:39:26,332",
+ "created": 1755355166.3328483,
"exc_text": null,
"filename": "test.py",
"funcName": "__report_result__",
"levelname": "DEBUG",
"levelno": 10,
"lineno": 22,
- "message": "Result (Filecompare for joined_image_2.jpg): True ()",
+ "message": "Result (Media data for video_special_time.avi): { 'width': 320, 'height': 240, 'duration': 26.531264, 'bitrate': 840554, 'time': 1086778620, 'size': 2787622 } ()",
"module": "test",
- "msecs": 767.0319080352783,
+ "msecs": 332.0,
"msg": "Result (%s): %s (%s)",
"name": "__unittest__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 5616.439580917358,
+ "relativeCreated": 659.778967,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread"
},
{
"args": [
- "Filecompare for joined_image_2.jpg",
- "True",
- ""
+ "Media data for video_special_time.avi",
+ "=",
+ "{ 'width': 320, 'height': 240, 'duration': 26.531264, 'bitrate': 840554, 'time': 1086778620, 'size': 2787622 }",
+ ""
],
- "asctime": "2021-01-14 00:59:12,767",
- "created": 1610582352.7671578,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,332",
+ "created": 1755355166.332883,
"exc_text": null,
"filename": "test.py",
- "funcName": "__report_expectation_equivalency__",
+ "funcName": "__report_expectation__",
"levelname": "DEBUG",
"levelno": 10,
"lineno": 26,
- "message": "Expectation (Filecompare for joined_image_2.jpg): result = True ()",
+ "message": "Expectation (Media data for video_special_time.avi): result = { 'width': 320, 'height': 240, 'duration': 26.531264, 'bitrate': 840554, 'time': 1086778620, 'size': 2787622 } ()",
"module": "test",
- "msecs": 767.157793045044,
- "msg": "Expectation (%s): result = %s (%s)",
+ "msecs": 332.0,
+ "msg": "Expectation (%s): result %s %s (%s)",
"name": "__unittest__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 5616.565465927124,
+ "relativeCreated": 659.813361,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread"
}
],
- "msecs": 767.2386169433594,
- "msg": "Filecompare for joined_image_2.jpg is correct (Content %s and Type is %s).",
+ "msecs": 332.0,
+ "msg": "Media data for video_special_time.avi is correct (Content %s and Type is %s).",
"name": "__tLogger__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 5616.646289825439,
+ "relativeCreated": 659.853897,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread",
- "time_consumption": 8.082389831542969e-05
+ "time_consumption": 4.0531158447265625e-05
+ },
+ {
+ "args": [
+ "{'width': 640, 'height': 480, 'ratio': 1.3333333333333333, 'duration': 11.016, 'bitrate': 2153411, 'size': 2965248, 'time': 1754841648, 'tm_is_subst': True}",
+ ""
+ ],
+ "asctime": "2025-08-16 16:39:26,386",
+ "created": 1755355166.3864992,
+ "exc_text": null,
+ "filename": "test.py",
+ "funcName": "equivalency_chk",
+ "levelname": "INFO",
+ "levelno": 20,
+ "lineno": 184,
+ "message": "Media data for video_no_date.avi is correct (Content {'width': 640, 'height': 480, 'ratio': 1.3333333333333333, 'duration': 11.016, 'bitrate': 2153411, 'size': 2965248, 'time': 1754841648, 'tm_is_subst': True} and Type is ).",
+ "module": "test",
+ "moduleLogger": [
+ {
+ "args": [
+ "{'width': 640, 'height': 480, 'ratio': 1.3333333333333333, 'duration': 11.016, 'bitrate': 2153411, 'size': 2965248, 'time': 1754841648, 'tm_is_subst': True}"
+ ],
+ "asctime": "2025-08-16 16:39:26,386",
+ "created": 1755355166.3862753,
+ "exc_text": null,
+ "filename": "metadata.py",
+ "funcName": "get_media_data",
+ "levelname": "INFO",
+ "levelno": 20,
+ "lineno": 45,
+ "message": "Media data identified: {'width': 640, 'height': 480, 'ratio': 1.3333333333333333, 'duration': 11.016, 'bitrate': 2153411, 'size': 2965248, 'time': 1754841648, 'tm_is_subst': True}",
+ "module": "metadata",
+ "msecs": 386.0,
+ "msg": "Media data identified: %s",
+ "name": "media.metadata",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/metadata.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 713.20577,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "Media data for video_no_date.avi",
+ "{ 'width': 640, 'height': 480, 'ratio': 1.3333333333333333, 'duration': 11.016, 'bitrate': 2153411, 'size': 2965248, 'time': 1754841648, 'tm_is_subst': True }",
+ ""
+ ],
+ "asctime": "2025-08-16 16:39:26,386",
+ "created": 1755355166.3863869,
+ "exc_text": null,
+ "filename": "test.py",
+ "funcName": "__report_result__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 22,
+ "message": "Result (Media data for video_no_date.avi): { 'width': 640, 'height': 480, 'ratio': 1.3333333333333333, 'duration': 11.016, 'bitrate': 2153411, 'size': 2965248, 'time': 1754841648, 'tm_is_subst': True } ()",
+ "module": "test",
+ "msecs": 386.0,
+ "msg": "Result (%s): %s (%s)",
+ "name": "__unittest__",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 713.31747,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "Media data for video_no_date.avi",
+ "=",
+ "{ 'width': 640, 'height': 480, 'ratio': 1.3333333333333333, 'duration': 11.016, 'bitrate': 2153411, 'time': 1754841648, 'tm_is_subst': True, 'size': 2965248 }",
+ ""
+ ],
+ "asctime": "2025-08-16 16:39:26,386",
+ "created": 1755355166.386439,
+ "exc_text": null,
+ "filename": "test.py",
+ "funcName": "__report_expectation__",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 26,
+ "message": "Expectation (Media data for video_no_date.avi): result = { 'width': 640, 'height': 480, 'ratio': 1.3333333333333333, 'duration': 11.016, 'bitrate': 2153411, 'time': 1754841648, 'tm_is_subst': True, 'size': 2965248 } ()",
+ "module": "test",
+ "msecs": 386.0,
+ "msg": "Expectation (%s): result %s %s (%s)",
+ "name": "__unittest__",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 713.369759,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ }
+ ],
+ "msecs": 386.0,
+ "msg": "Media data for video_no_date.avi is correct (Content %s and Type is %s).",
+ "name": "__tLogger__",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 713.429664,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread",
+ "time_consumption": 6.008148193359375e-05
}
],
- "thread": 140195114268480,
+ "thread": 134790063694080,
"threadName": "MainThread",
- "time_consumption": 2.4227662086486816,
- "time_finished": "2021-01-14 00:59:12,767",
- "time_start": "2021-01-14 00:59:10,344"
+ "time_consumption": 0.6438891887664795,
+ "time_finished": "2025-08-16 16:39:26,386",
+ "time_start": "2025-08-16 16:39:25,742"
},
- "_Fv7V4EYCEequ74M7usLaPw": {
+ "REQ-0002": {
"args": null,
- "asctime": "2021-01-14 00:59:08,047",
- "created": 1610582348.0477526,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,386",
+ "created": 1755355166.3867257,
"exc_text": null,
"filename": "__init__.py",
- "funcName": "testrun",
+ "funcName": "testCase",
"levelname": "INFO",
"levelno": 20,
- "lineno": 31,
- "message": "_Fv7V4EYCEequ74M7usLaPw",
+ "lineno": 331,
+ "message": "REQ-0002",
"module": "__init__",
"moduleLogger": [],
- "msecs": 47.75261878967285,
- "msg": "_Fv7V4EYCEequ74M7usLaPw",
+ "msecs": 386.0,
+ "msg": "REQ-0002",
"name": "__tLogger__",
- "pathname": "/user_data/data/dirk/prj/unittest/media/unittest/src/tests/__init__.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/report/__init__.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 897.1602916717529,
+ "relativeCreated": 713.656172,
"stack_info": null,
+ "taskName": null,
"testcaseLogger": [
{
"args": [
"",
""
],
- "asctime": "2021-01-14 00:59:08,047",
- "created": 1610582348.0479505,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,386",
+ "created": 1755355166.3868804,
"exc_text": null,
"filename": "test.py",
"funcName": "equivalency_chk",
"levelname": "INFO",
"levelno": 20,
- "lineno": 144,
+ "lineno": 184,
"message": "Type of image stored in instance, if no parameter is given is correct (Content and Type is ).",
"module": "test",
"moduleLogger": [
@@ -2658,9 +9616,8 @@
"",
""
],
- "asctime": "2021-01-14 00:59:08,047",
- "created": 1610582348.0478528,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,386",
+ "created": 1755355166.3868089,
"exc_text": null,
"filename": "test.py",
"funcName": "__report_result__",
@@ -2669,84 +9626,109 @@
"lineno": 22,
"message": "Result (Type of image stored in instance, if no parameter is given): ()",
"module": "test",
- "msecs": 47.85275459289551,
+ "msecs": 386.0,
"msg": "Result (%s): %s (%s)",
"name": "__unittest__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 897.2604274749756,
+ "relativeCreated": 713.739347,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread"
},
{
"args": [
"Type of image stored in instance, if no parameter is given",
+ "=",
"",
""
],
- "asctime": "2021-01-14 00:59:08,047",
- "created": 1610582348.0479062,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,386",
+ "created": 1755355166.3868396,
"exc_text": null,
"filename": "test.py",
- "funcName": "__report_expectation_equivalency__",
+ "funcName": "__report_expectation__",
"levelname": "DEBUG",
"levelno": 10,
"lineno": 26,
"message": "Expectation (Type of image stored in instance, if no parameter is given): result = ()",
"module": "test",
- "msecs": 47.90616035461426,
- "msg": "Expectation (%s): result = %s (%s)",
+ "msecs": 386.0,
+ "msg": "Expectation (%s): result %s %s (%s)",
"name": "__unittest__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 897.3138332366943,
+ "relativeCreated": 713.769984,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread"
}
],
- "msecs": 47.95050621032715,
+ "msecs": 386.0,
"msg": "Type of image stored in instance, if no parameter is given is correct (Content %s and Type is %s).",
"name": "__tLogger__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 897.3581790924072,
+ "relativeCreated": 713.810962,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread",
- "time_consumption": 4.4345855712890625e-05
+ "time_consumption": 4.076957702636719e-05
},
{
"args": [
"",
""
],
- "asctime": "2021-01-14 00:59:08,049",
- "created": 1610582348.0492098,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,387",
+ "created": 1755355166.3870769,
"exc_text": null,
"filename": "test.py",
"funcName": "equivalency_chk",
"levelname": "INFO",
"levelno": 20,
- "lineno": 144,
+ "lineno": 184,
"message": "Type of image stored in instance, if a unsupported parameter is given is correct (Content and Type is ).",
"module": "test",
"moduleLogger": [
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,386",
+ "created": 1755355166.3869684,
+ "exc_text": null,
+ "filename": "convert.py",
+ "funcName": "get_pil_image",
+ "levelname": "WARNING",
+ "levelno": 30,
+ "lineno": 45,
+ "message": "Instance type is not supported: ",
+ "module": "convert",
+ "msecs": 386.0,
+ "msg": "Instance type is not supported: ",
+ "name": "media.convert",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/convert.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 713.89871,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
{
"args": [
"Type of image stored in instance, if a unsupported parameter is given",
"",
""
],
- "asctime": "2021-01-14 00:59:08,049",
- "created": 1610582348.0490592,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,387",
+ "created": 1755355166.3870099,
"exc_text": null,
"filename": "test.py",
"funcName": "__report_result__",
@@ -2755,84 +9737,111 @@
"lineno": 22,
"message": "Result (Type of image stored in instance, if a unsupported parameter is given): ()",
"module": "test",
- "msecs": 49.059152603149414,
+ "msecs": 387.0,
"msg": "Result (%s): %s (%s)",
"name": "__unittest__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 898.4668254852295,
+ "relativeCreated": 713.940256,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread"
},
{
"args": [
"Type of image stored in instance, if a unsupported parameter is given",
+ "=",
"",
""
],
- "asctime": "2021-01-14 00:59:08,049",
- "created": 1610582348.04915,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,387",
+ "created": 1755355166.38705,
"exc_text": null,
"filename": "test.py",
- "funcName": "__report_expectation_equivalency__",
+ "funcName": "__report_expectation__",
"levelname": "DEBUG",
"levelno": 10,
"lineno": 26,
"message": "Expectation (Type of image stored in instance, if a unsupported parameter is given): result = ()",
"module": "test",
- "msecs": 49.14999008178711,
- "msg": "Expectation (%s): result = %s (%s)",
+ "msecs": 387.0,
+ "msg": "Expectation (%s): result %s %s (%s)",
"name": "__unittest__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 898.5576629638672,
+ "relativeCreated": 713.980354,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread"
}
],
- "msecs": 49.2098331451416,
+ "msecs": 387.0,
"msg": "Type of image stored in instance, if a unsupported parameter is given is correct (Content %s and Type is %s).",
"name": "__tLogger__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 898.6175060272217,
+ "relativeCreated": 714.00748,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread",
- "time_consumption": 5.984306335449219e-05
+ "time_consumption": 2.6941299438476562e-05
},
{
"args": [
"",
""
],
- "asctime": "2021-01-14 00:59:08,049",
- "created": 1610582348.0494046,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,387",
+ "created": 1755355166.3872097,
"exc_text": null,
"filename": "test.py",
"funcName": "equivalency_chk",
"levelname": "INFO",
"levelno": 20,
- "lineno": 144,
+ "lineno": 184,
"message": "Type of image stored in instance, if an unknown file is given is correct (Content and Type is ).",
"module": "test",
"moduleLogger": [
+ {
+ "args": [
+ "/home/dirk/work/unittest_collection/media/unittest/input_data/unknown.txt"
+ ],
+ "asctime": "2025-08-16 16:39:26,387",
+ "created": 1755355166.3871338,
+ "exc_text": null,
+ "filename": "convert.py",
+ "funcName": "get_pil_image",
+ "levelname": "WARNING",
+ "levelno": 30,
+ "lineno": 41,
+ "message": "Filetype is not supported (/home/dirk/work/unittest_collection/media/unittest/input_data/unknown.txt)",
+ "module": "convert",
+ "msecs": 387.0,
+ "msg": "Filetype is not supported (%s)",
+ "name": "media.convert",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/convert.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 714.064565,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
{
"args": [
"Type of image stored in instance, if an unknown file is given",
"",
""
],
- "asctime": "2021-01-14 00:59:08,049",
- "created": 1610582348.049317,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,387",
+ "created": 1755355166.387165,
"exc_text": null,
"filename": "test.py",
"funcName": "__report_result__",
@@ -2841,84 +9850,1383 @@
"lineno": 22,
"message": "Result (Type of image stored in instance, if an unknown file is given): ()",
"module": "test",
- "msecs": 49.3168830871582,
+ "msecs": 387.0,
"msg": "Result (%s): %s (%s)",
"name": "__unittest__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 898.7245559692383,
+ "relativeCreated": 714.095599,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread"
},
{
"args": [
"Type of image stored in instance, if an unknown file is given",
+ "=",
"",
""
],
- "asctime": "2021-01-14 00:59:08,049",
- "created": 1610582348.0493608,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,387",
+ "created": 1755355166.387188,
"exc_text": null,
"filename": "test.py",
- "funcName": "__report_expectation_equivalency__",
+ "funcName": "__report_expectation__",
"levelname": "DEBUG",
"levelno": 10,
"lineno": 26,
"message": "Expectation (Type of image stored in instance, if an unknown file is given): result = ()",
"module": "test",
- "msecs": 49.36075210571289,
- "msg": "Expectation (%s): result = %s (%s)",
+ "msecs": 387.0,
+ "msg": "Expectation (%s): result %s %s (%s)",
"name": "__unittest__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 898.768424987793,
+ "relativeCreated": 714.118552,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread"
}
],
- "msecs": 49.40462112426758,
+ "msecs": 387.0,
"msg": "Type of image stored in instance, if an unknown file is given is correct (Content %s and Type is %s).",
"name": "__tLogger__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 898.8122940063477,
+ "relativeCreated": 714.140344,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread",
- "time_consumption": 4.38690185546875e-05
+ "time_consumption": 2.1696090698242188e-05
},
{
"args": [
"",
""
],
- "asctime": "2021-01-14 00:59:08,183",
- "created": 1610582348.1837945,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,480",
+ "created": 1755355166.4805799,
"exc_text": null,
"filename": "test.py",
"funcName": "equivalency_chk",
"levelname": "INFO",
"levelno": 20,
- "lineno": 144,
+ "lineno": 184,
"message": "Type of image stored in instance, if a image file is given is correct (Content and Type is ).",
"module": "test",
"moduleLogger": [
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,387",
+ "created": 1755355166.3874867,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: Make (271) - type: string (2) Tag Location: 22 - Data Location: 146 - value: b'motorola\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 387.0,
+ "msg": "tag: Make (271) - type: string (2) Tag Location: 22 - Data Location: 146 - value: b'motorola\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 714.417178,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,387",
+ "created": 1755355166.3875344,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: Model (272) - type: string (2) Tag Location: 34 - Data Location: 156 - value: b'motorola one\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 387.0,
+ "msg": "tag: Model (272) - type: string (2) Tag Location: 34 - Data Location: 156 - value: b'motorola one\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 714.464932,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,387",
+ "created": 1755355166.38756,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: Orientation (274) - type: short (3) - value: b'\\x00\\x06'",
+ "module": "TiffImagePlugin",
+ "msecs": 387.0,
+ "msg": "tag: Orientation (274) - type: short (3) - value: b'\\x00\\x06'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 714.49043,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,387",
+ "created": 1755355166.3875847,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: XResolution (282) - type: rational (5) Tag Location: 58 - Data Location: 170 - value: b'\\x00\\x00\\x00H\\x00\\x00\\x00\\x01'",
+ "module": "TiffImagePlugin",
+ "msecs": 387.0,
+ "msg": "tag: XResolution (282) - type: rational (5) Tag Location: 58 - Data Location: 170 - value: b'\\x00\\x00\\x00H\\x00\\x00\\x00\\x01'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 714.515321,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,387",
+ "created": 1755355166.3876092,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: YResolution (283) - type: rational (5) Tag Location: 70 - Data Location: 178 - value: b'\\x00\\x00\\x00H\\x00\\x00\\x00\\x01'",
+ "module": "TiffImagePlugin",
+ "msecs": 387.0,
+ "msg": "tag: YResolution (283) - type: rational (5) Tag Location: 70 - Data Location: 178 - value: b'\\x00\\x00\\x00H\\x00\\x00\\x00\\x01'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 714.539935,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,387",
+ "created": 1755355166.3876321,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ResolutionUnit (296) - type: short (3) - value: b'\\x00\\x02'",
+ "module": "TiffImagePlugin",
+ "msecs": 387.0,
+ "msg": "tag: ResolutionUnit (296) - type: short (3) - value: b'\\x00\\x02'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 714.562652,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,387",
+ "created": 1755355166.3876612,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: Software (305) - type: string (2) Tag Location: 94 - Data Location: 186 - value: ",
+ "module": "TiffImagePlugin",
+ "msecs": 387.0,
+ "msg": "tag: Software (305) - type: string (2) Tag Location: 94 - Data Location: 186 - value: ",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 714.591792,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,387",
+ "created": 1755355166.387685,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: DateTime (306) - type: string (2) Tag Location: 106 - Data Location: 236 - value: b'2019:06:09 14:33:41\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 387.0,
+ "msg": "tag: DateTime (306) - type: string (2) Tag Location: 106 - Data Location: 236 - value: b'2019:06:09 14:33:41\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 714.615644,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,387",
+ "created": 1755355166.3877223,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: YCbCrPositioning (531) - type: short (3) - value: b'\\x00\\x01'",
+ "module": "TiffImagePlugin",
+ "msecs": 387.0,
+ "msg": "tag: YCbCrPositioning (531) - type: short (3) - value: b'\\x00\\x01'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 714.652663,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,387",
+ "created": 1755355166.387747,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ExifIFD (34665) - type: long (4) - value: b'\\x00\\x00\\x01\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 387.0,
+ "msg": "tag: ExifIFD (34665) - type: long (4) - value: b'\\x00\\x00\\x01\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 714.677684,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,387",
+ "created": 1755355166.3877711,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: GPSInfoIFD (34853) - type: long (4) - value: b'\\x00\\x00\\x04v'",
+ "module": "TiffImagePlugin",
+ "msecs": 387.0,
+ "msg": "tag: GPSInfoIFD (34853) - type: long (4) - value: b'\\x00\\x00\\x04v'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 714.701718,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,388",
+ "created": 1755355166.3880186,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ExposureTime (33434) - type: rational (5) Tag Location: 270 - Data Location: 634 - value: b'\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x83'",
+ "module": "TiffImagePlugin",
+ "msecs": 388.0,
+ "msg": "tag: ExposureTime (33434) - type: rational (5) Tag Location: 270 - Data Location: 634 - value: b'\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x83'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 714.949075,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,388",
+ "created": 1755355166.3880587,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: FNumber (33437) - type: rational (5) Tag Location: 282 - Data Location: 642 - value: b'\\x00\\x00\\x00\\x16\\x00\\x00\\x00\\n'",
+ "module": "TiffImagePlugin",
+ "msecs": 388.0,
+ "msg": "tag: FNumber (33437) - type: rational (5) Tag Location: 282 - Data Location: 642 - value: b'\\x00\\x00\\x00\\x16\\x00\\x00\\x00\\n'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 714.989054,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,388",
+ "created": 1755355166.3880842,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ExposureProgram (34850) - type: short (3) - value: b'\\x00\\x02'",
+ "module": "TiffImagePlugin",
+ "msecs": 388.0,
+ "msg": "tag: ExposureProgram (34850) - type: short (3) - value: b'\\x00\\x02'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 715.01471,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,388",
+ "created": 1755355166.3881087,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ISOSpeedRatings (34855) - type: short (3) - value: b'\\x00d'",
+ "module": "TiffImagePlugin",
+ "msecs": 388.0,
+ "msg": "tag: ISOSpeedRatings (34855) - type: short (3) - value: b'\\x00d'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 715.039362,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,388",
+ "created": 1755355166.3881316,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ExifVersion (36864) - type: undefined (7) - value: b'0220'",
+ "module": "TiffImagePlugin",
+ "msecs": 388.0,
+ "msg": "tag: ExifVersion (36864) - type: undefined (7) - value: b'0220'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 715.062174,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,388",
+ "created": 1755355166.388159,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: DateTimeOriginal (36867) - type: string (2) Tag Location: 330 - Data Location: 650 - value: b'2019:06:09 14:33:41\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 388.0,
+ "msg": "tag: DateTimeOriginal (36867) - type: string (2) Tag Location: 330 - Data Location: 650 - value: b'2019:06:09 14:33:41\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 715.089414,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,388",
+ "created": 1755355166.3881843,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: DateTimeDigitized (36868) - type: string (2) Tag Location: 342 - Data Location: 670 - value: b'2019:06:09 14:33:41\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 388.0,
+ "msg": "tag: DateTimeDigitized (36868) - type: string (2) Tag Location: 342 - Data Location: 670 - value: b'2019:06:09 14:33:41\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 715.114783,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,388",
+ "created": 1755355166.3882082,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ComponentsConfiguration (37121) - type: undefined (7) - value: b'\\x01\\x02\\x03\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 388.0,
+ "msg": "tag: ComponentsConfiguration (37121) - type: undefined (7) - value: b'\\x01\\x02\\x03\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 715.138627,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,388",
+ "created": 1755355166.3882337,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ShutterSpeedValue (37377) - type: signed rational (10) Tag Location: 366 - Data Location: 690 - value: b'\\x00\\x00\\x1b}\\x00\\x00\\x03\\xe8'",
+ "module": "TiffImagePlugin",
+ "msecs": 388.0,
+ "msg": "tag: ShutterSpeedValue (37377) - type: signed rational (10) Tag Location: 366 - Data Location: 690 - value: b'\\x00\\x00\\x1b}\\x00\\x00\\x03\\xe8'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 715.164289,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,388",
+ "created": 1755355166.38826,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ApertureValue (37378) - type: rational (5) Tag Location: 378 - Data Location: 698 - value: b'\\x00\\x03x\\xac\\x00\\x01\\x86\\xa0'",
+ "module": "TiffImagePlugin",
+ "msecs": 388.0,
+ "msg": "tag: ApertureValue (37378) - type: rational (5) Tag Location: 378 - Data Location: 698 - value: b'\\x00\\x03x\\xac\\x00\\x01\\x86\\xa0'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 715.190355,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,388",
+ "created": 1755355166.388285,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: BrightnessValue (37379) - type: signed rational (10) Tag Location: 390 - Data Location: 706 - value: b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00d'",
+ "module": "TiffImagePlugin",
+ "msecs": 388.0,
+ "msg": "tag: BrightnessValue (37379) - type: signed rational (10) Tag Location: 390 - Data Location: 706 - value: b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00d'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 715.215437,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,388",
+ "created": 1755355166.3883092,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ExposureBiasValue (37380) - type: signed rational (10) Tag Location: 402 - Data Location: 714 - value: b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x06'",
+ "module": "TiffImagePlugin",
+ "msecs": 388.0,
+ "msg": "tag: ExposureBiasValue (37380) - type: signed rational (10) Tag Location: 402 - Data Location: 714 - value: b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x06'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 715.239664,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,388",
+ "created": 1755355166.3883338,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: MaxApertureValue (37381) - type: rational (5) Tag Location: 414 - Data Location: 722 - value: b'\\x00\\x03x\\xac\\x00\\x01\\x86\\xa0'",
+ "module": "TiffImagePlugin",
+ "msecs": 388.0,
+ "msg": "tag: MaxApertureValue (37381) - type: rational (5) Tag Location: 414 - Data Location: 722 - value: b'\\x00\\x03x\\xac\\x00\\x01\\x86\\xa0'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 715.264412,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,388",
+ "created": 1755355166.3883574,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: MeteringMode (37383) - type: short (3) - value: b'\\x00\\x02'",
+ "module": "TiffImagePlugin",
+ "msecs": 388.0,
+ "msg": "tag: MeteringMode (37383) - type: short (3) - value: b'\\x00\\x02'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 715.287977,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,388",
+ "created": 1755355166.3883812,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: Flash (37385) - type: short (3) - value: b'\\x00\\x10'",
+ "module": "TiffImagePlugin",
+ "msecs": 388.0,
+ "msg": "tag: Flash (37385) - type: short (3) - value: b'\\x00\\x10'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 715.311622,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,388",
+ "created": 1755355166.3884058,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: FocalLength (37386) - type: rational (5) Tag Location: 450 - Data Location: 730 - value: b'\\x00\\x00\\r\\x87\\x00\\x00\\x03\\xe8'",
+ "module": "TiffImagePlugin",
+ "msecs": 388.0,
+ "msg": "tag: FocalLength (37386) - type: rational (5) Tag Location: 450 - Data Location: 730 - value: b'\\x00\\x00\\r\\x87\\x00\\x00\\x03\\xe8'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 715.336251,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,388",
+ "created": 1755355166.3884315,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: MakerNote (37500) - type: undefined (7) Tag Location: 462 - Data Location: 738 - value: ",
+ "module": "TiffImagePlugin",
+ "msecs": 388.0,
+ "msg": "tag: MakerNote (37500) - type: undefined (7) Tag Location: 462 - Data Location: 738 - value: ",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 715.362138,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,388",
+ "created": 1755355166.388457,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: SubSec (37520) - type: string (2) Tag Location: 474 - Data Location: 1080 - value: b'013315\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 388.0,
+ "msg": "tag: SubSec (37520) - type: string (2) Tag Location: 474 - Data Location: 1080 - value: b'013315\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 715.387563,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,388",
+ "created": 1755355166.3884857,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: SubSecTimeOriginal (37521) - type: string (2) Tag Location: 486 - Data Location: 1088 - value: b'013315\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 388.0,
+ "msg": "tag: SubSecTimeOriginal (37521) - type: string (2) Tag Location: 486 - Data Location: 1088 - value: b'013315\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 715.416151,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,388",
+ "created": 1755355166.3885105,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: SubsecTimeDigitized (37522) - type: string (2) Tag Location: 498 - Data Location: 1096 - value: b'013315\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 388.0,
+ "msg": "tag: SubsecTimeDigitized (37522) - type: string (2) Tag Location: 498 - Data Location: 1096 - value: b'013315\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 715.441036,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,388",
+ "created": 1755355166.3885334,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: FlashPixVersion (40960) - type: undefined (7) - value: b'0100'",
+ "module": "TiffImagePlugin",
+ "msecs": 388.0,
+ "msg": "tag: FlashPixVersion (40960) - type: undefined (7) - value: b'0100'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 715.463763,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,388",
+ "created": 1755355166.388557,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ColorSpace (40961) - type: short (3) - value: b'\\x00\\x01'",
+ "module": "TiffImagePlugin",
+ "msecs": 388.0,
+ "msg": "tag: ColorSpace (40961) - type: short (3) - value: b'\\x00\\x01'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 715.487548,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,388",
+ "created": 1755355166.3885815,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: PixelXDimension (40962) - type: long (4) - value: b'\\x00\\x00\\x10@'",
+ "module": "TiffImagePlugin",
+ "msecs": 388.0,
+ "msg": "tag: PixelXDimension (40962) - type: long (4) - value: b'\\x00\\x00\\x10@'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 715.512187,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,388",
+ "created": 1755355166.3886046,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: PixelYDimension (40963) - type: long (4) - value: b'\\x00\\x00\\x0c0'",
+ "module": "TiffImagePlugin",
+ "msecs": 388.0,
+ "msg": "tag: PixelYDimension (40963) - type: long (4) - value: b'\\x00\\x00\\x0c0'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 715.535057,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,388",
+ "created": 1755355166.3886263,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: InteroperabilityIFD (40965) - type: long (4) - value: b'\\x00\\x00\\x04X'",
+ "module": "TiffImagePlugin",
+ "msecs": 388.0,
+ "msg": "tag: InteroperabilityIFD (40965) - type: long (4) - value: b'\\x00\\x00\\x04X'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 715.556847,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,388",
+ "created": 1755355166.3886557,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: SceneType (41729) - type: undefined (7) - value: b'\\x01'",
+ "module": "TiffImagePlugin",
+ "msecs": 388.0,
+ "msg": "tag: SceneType (41729) - type: undefined (7) - value: b'\\x01'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 715.586072,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,388",
+ "created": 1755355166.3886793,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: CustomRendered (41985) - type: short (3) - value: b'\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 388.0,
+ "msg": "tag: CustomRendered (41985) - type: short (3) - value: b'\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 715.609585,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,388",
+ "created": 1755355166.3887022,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: ExposureMode (41986) - type: short (3) - value: b'\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 388.0,
+ "msg": "tag: ExposureMode (41986) - type: short (3) - value: b'\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 715.632816,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,388",
+ "created": 1755355166.388725,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: WhiteBalance (41987) - type: short (3) - value: b'\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 388.0,
+ "msg": "tag: WhiteBalance (41987) - type: short (3) - value: b'\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 715.655491,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,388",
+ "created": 1755355166.3887496,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: DigitalZoomRatio (41988) - type: rational (5) Tag Location: 618 - Data Location: 1104 - value: b'\\x00\\x00\\x00d\\x00\\x00\\x00d'",
+ "module": "TiffImagePlugin",
+ "msecs": 388.0,
+ "msg": "tag: DigitalZoomRatio (41988) - type: rational (5) Tag Location: 618 - Data Location: 1104 - value: b'\\x00\\x00\\x00d\\x00\\x00\\x00d'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 715.680081,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,388",
+ "created": 1755355166.3887742,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: SceneCaptureType (41990) - type: short (3) - value: b'\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 388.0,
+ "msg": "tag: SceneCaptureType (41990) - type: short (3) - value: b'\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 715.704694,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,389",
+ "created": 1755355166.3891072,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: GPSVersionID (0) - type: byte (1) - value: b'\\x02\\x02\\x00\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 389.0,
+ "msg": "tag: GPSVersionID (0) - type: byte (1) - value: b'\\x02\\x02\\x00\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 716.03765,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,389",
+ "created": 1755355166.3891368,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: GPSLatitudeRef (1) - type: string (2) - value: b'N\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 389.0,
+ "msg": "tag: GPSLatitudeRef (1) - type: string (2) - value: b'N\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 716.067398,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,389",
+ "created": 1755355166.3891635,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: GPSLatitude (2) - type: rational (5) Tag Location: 1180 - Data Location: 1280 - value: b\"\\x00\\x00\\x004\\x00\\x00\\x00\\x01\\x00\\x00\\x00;\\x00\\x00\\x00\\x01\\x00\\x05\\xa3\\x9c\\x00\\x00'\\x10\"",
+ "module": "TiffImagePlugin",
+ "msecs": 389.0,
+ "msg": "tag: GPSLatitude (2) - type: rational (5) Tag Location: 1180 - Data Location: 1280 - value: b\"\\x00\\x00\\x004\\x00\\x00\\x00\\x01\\x00\\x00\\x00;\\x00\\x00\\x00\\x01\\x00\\x05\\xa3\\x9c\\x00\\x00'\\x10\"",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 716.093986,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,389",
+ "created": 1755355166.3891885,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: GPSLongitudeRef (3) - type: string (2) - value: b'E\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 389.0,
+ "msg": "tag: GPSLongitudeRef (3) - type: string (2) - value: b'E\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 716.119028,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,389",
+ "created": 1755355166.3892128,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: GPSLongitude (4) - type: rational (5) Tag Location: 1204 - Data Location: 1304 - value: b'\\x00\\x00\\x00\\x0b\\x00\\x00\\x00\\x01\\x00\\x00\\x00\"\\x00\\x00\\x00\\x01\\x00\\x04iD\\x00\\x00\\'\\x10'",
+ "module": "TiffImagePlugin",
+ "msecs": 389.0,
+ "msg": "tag: GPSLongitude (4) - type: rational (5) Tag Location: 1204 - Data Location: 1304 - value: b'\\x00\\x00\\x00\\x0b\\x00\\x00\\x00\\x01\\x00\\x00\\x00\"\\x00\\x00\\x00\\x01\\x00\\x04iD\\x00\\x00\\'\\x10'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 716.14331,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,389",
+ "created": 1755355166.3892355,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: GPSAltitudeRef (5) - type: byte (1) - value: b'\\x01'",
+ "module": "TiffImagePlugin",
+ "msecs": 389.0,
+ "msg": "tag: GPSAltitudeRef (5) - type: byte (1) - value: b'\\x01'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 716.165954,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,389",
+ "created": 1755355166.3892608,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: GPSAltitude (6) - type: rational (5) Tag Location: 1228 - Data Location: 1328 - value: b'\\x00\\x00\\xc1\\xca\\x00\\x00\\x03\\xe8'",
+ "module": "TiffImagePlugin",
+ "msecs": 389.0,
+ "msg": "tag: GPSAltitude (6) - type: rational (5) Tag Location: 1228 - Data Location: 1328 - value: b'\\x00\\x00\\xc1\\xca\\x00\\x00\\x03\\xe8'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 716.19121,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,389",
+ "created": 1755355166.389286,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: GPSTimeStamp (7) - type: rational (5) Tag Location: 1240 - Data Location: 1336 - value: b\"\\x00\\x00\\x00\\x0c\\x00\\x00\\x00\\x01\\x00\\x00\\x00!\\x00\\x00\\x00\\x01\\x00\\x00\\x00'\\x00\\x00\\x00\\x01\"",
+ "module": "TiffImagePlugin",
+ "msecs": 389.0,
+ "msg": "tag: GPSTimeStamp (7) - type: rational (5) Tag Location: 1240 - Data Location: 1336 - value: b\"\\x00\\x00\\x00\\x0c\\x00\\x00\\x00\\x01\\x00\\x00\\x00!\\x00\\x00\\x00\\x01\\x00\\x00\\x00'\\x00\\x00\\x00\\x01\"",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 716.216572,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,389",
+ "created": 1755355166.3893094,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: GPSMapDatum (18) - type: string (2) Tag Location: 1252 - Data Location: 1360 - value: b'WGS-84\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 389.0,
+ "msg": "tag: GPSMapDatum (18) - type: string (2) Tag Location: 1252 - Data Location: 1360 - value: b'WGS-84\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 716.240011,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,389",
+ "created": 1755355166.3893325,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: GPSProcessingMethod (27) - type: string (2) Tag Location: 1264 - Data Location: 1368 - value: b'ASCII\\x00\\x00\\x00GPS\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 389.0,
+ "msg": "tag: GPSProcessingMethod (27) - type: string (2) Tag Location: 1264 - Data Location: 1368 - value: b'ASCII\\x00\\x00\\x00GPS\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 716.263038,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [],
+ "asctime": "2025-08-16 16:39:26,389",
+ "created": 1755355166.389355,
+ "exc_text": null,
+ "filename": "TiffImagePlugin.py",
+ "funcName": "load",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 942,
+ "message": "tag: GPSDateStamp (29) - type: string (2) Tag Location: 1276 - Data Location: 1380 - value: b'2019:06:09\\x00'",
+ "module": "TiffImagePlugin",
+ "msecs": 389.0,
+ "msg": "tag: GPSDateStamp (29) - type: string (2) Tag Location: 1276 - Data Location: 1380 - value: b'2019:06:09\\x00'",
+ "name": "PIL.TiffImagePlugin",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 716.285609,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
+ {
+ "args": [
+ "'/home/dirk/work/unittest_collection/media/unittest/input_data/image_exif_gps.jpg'"
+ ],
+ "asctime": "2025-08-16 16:39:26,480",
+ "created": 1755355166.4804373,
+ "exc_text": null,
+ "filename": "image.py",
+ "funcName": "load_from_file",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 45,
+ "message": "loading image from '/home/dirk/work/unittest_collection/media/unittest/input_data/image_exif_gps.jpg'",
+ "module": "image",
+ "msecs": 480.0,
+ "msg": "loading image from %s",
+ "name": "media.image",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/image.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 807.367745,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
{
"args": [
"Type of image stored in instance, if a image file is given",
"",
""
],
- "asctime": "2021-01-14 00:59:08,183",
- "created": 1610582348.1835902,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,480",
+ "created": 1755355166.480525,
"exc_text": null,
"filename": "test.py",
"funcName": "__report_result__",
@@ -2927,84 +11235,111 @@
"lineno": 22,
"message": "Result (Type of image stored in instance, if a image file is given): ()",
"module": "test",
- "msecs": 183.59017372131348,
+ "msecs": 480.0,
"msg": "Result (%s): %s (%s)",
"name": "__unittest__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 1032.9978466033936,
+ "relativeCreated": 807.455522,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread"
},
{
"args": [
"Type of image stored in instance, if a image file is given",
+ "=",
"",
""
],
- "asctime": "2021-01-14 00:59:08,183",
- "created": 1610582348.1837144,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,480",
+ "created": 1755355166.4805543,
"exc_text": null,
"filename": "test.py",
- "funcName": "__report_expectation_equivalency__",
+ "funcName": "__report_expectation__",
"levelname": "DEBUG",
"levelno": 10,
"lineno": 26,
"message": "Expectation (Type of image stored in instance, if a image file is given): result = ()",
"module": "test",
- "msecs": 183.7143898010254,
- "msg": "Expectation (%s): result = %s (%s)",
+ "msecs": 480.0,
+ "msg": "Expectation (%s): result %s %s (%s)",
"name": "__unittest__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 1033.1220626831055,
+ "relativeCreated": 807.484633,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread"
}
],
- "msecs": 183.79449844360352,
+ "msecs": 480.0,
"msg": "Type of image stored in instance, if a image file is given is correct (Content %s and Type is %s).",
"name": "__tLogger__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 1033.2021713256836,
+ "relativeCreated": 807.510344,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread",
- "time_consumption": 8.0108642578125e-05
+ "time_consumption": 2.5510787963867188e-05
},
{
"args": [
"",
""
],
- "asctime": "2021-01-14 00:59:08,490",
- "created": 1610582348.4903991,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,677",
+ "created": 1755355166.6772342,
"exc_text": null,
"filename": "test.py",
"funcName": "equivalency_chk",
"levelname": "INFO",
"levelno": 20,
- "lineno": 144,
+ "lineno": 184,
"message": "Type of image stored in instance, if a video file is given is correct (Content and Type is ).",
"module": "test",
"moduleLogger": [
+ {
+ "args": [
+ "'/home/dirk/work/unittest_collection/media/unittest/input_data/video.mp4'"
+ ],
+ "asctime": "2025-08-16 16:39:26,675",
+ "created": 1755355166.6751745,
+ "exc_text": null,
+ "filename": "image.py",
+ "funcName": "load_from_file",
+ "levelname": "DEBUG",
+ "levelno": 10,
+ "lineno": 45,
+ "message": "loading image from '/home/dirk/work/unittest_collection/media/unittest/input_data/video.mp4'",
+ "module": "image",
+ "msecs": 675.0,
+ "msg": "loading image from %s",
+ "name": "media.image",
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/media/image.py",
+ "process": 159840,
+ "processName": "MainProcess",
+ "relativeCreated": 1002.104913,
+ "stack_info": null,
+ "taskName": null,
+ "thread": 134790063694080,
+ "threadName": "MainThread"
+ },
{
"args": [
"Type of image stored in instance, if a video file is given",
"",
""
],
- "asctime": "2021-01-14 00:59:08,490",
- "created": 1610582348.4901507,
- "exc_info": null,
+ "asctime": "2025-08-16 16:39:26,677",
+ "created": 1755355166.6771476,
"exc_text": null,
"filename": "test.py",
"funcName": "__report_result__",
@@ -3013,114 +11348,141 @@
"lineno": 22,
"message": "Result (Type of image stored in instance, if a video file is given): ()",
"module": "test",
- "msecs": 490.15069007873535,
+ "msecs": 677.0,
"msg": "Result (%s): %s (%s)",
"name": "__unittest__",
- "pathname": "src/unittest/test.py",
- "process": 21433,
+ "pathname": "/home/dirk/work/unittest_collection/media/unittest/src/unittest/test.py",
+ "process": 159840,
"processName": "MainProcess",
- "relativeCreated": 1339.5583629608154,
+ "relativeCreated": 1004.078169,
"stack_info": null,
- "thread": 140195114268480,
+ "taskName": null,
+ "thread": 134790063694080,
"threadName": "MainThread"
},
{
"args": [
"Type of image stored in instance, if a video file is given",
+ "=",
"