33.8 KB
/srv/reproducible-results/rbuild-debian/r-b-build.aUTs843l/b1/python-mt-940_4.30.0-3_amd64.changes vs.
/srv/reproducible-results/rbuild-debian/r-b-build.aUTs843l/b2/python-mt-940_4.30.0-3_amd64.changes
295 B
Files
    
Offset 1, 3 lines modifiedOffset 1, 3 lines modified
  
1 ·1a6ff18d548fe993dd50f47d1949e1d9·61408·doc·optional·python-mt-940-doc_4.30.0-3_all.deb1 ·1a6ff18d548fe993dd50f47d1949e1d9·61408·doc·optional·python-mt-940-doc_4.30.0-3_all.deb
2 ·44b32aced32fc84d63ef0fddcafb6eb5·63156·python·optional·python3-mt-940_4.30.0-3_all.deb2 ·14dae9b23c0b2d9e896df60a20a9ef03·63196·python·optional·python3-mt-940_4.30.0-3_all.deb
33.3 KB
python3-mt-940_4.30.0-3_all.deb
452 B
file list
    
Offset 1, 3 lines modifiedOffset 1, 3 lines modified
1 -rw-r--r--···0········0········0········4·2024-12-21·13:51:00.000000·debian-binary1 -rw-r--r--···0········0········0········4·2024-12-21·13:51:00.000000·debian-binary
2 -rw-r--r--···0········0········0·····2160·2024-12-21·13:51:00.000000·control.tar.xz2 -rw-r--r--···0········0········0·····2168·2024-12-21·13:51:00.000000·control.tar.xz
3 -rw-r--r--···0········0········0····60804·2024-12-21·13:51:00.000000·data.tar.xz3 -rw-r--r--···0········0········0····60836·2024-12-21·13:51:00.000000·data.tar.xz
98.0 B
control.tar.xz
70.0 B
control.tar
48.0 B
./md5sums
30.0 B
./md5sums
Files differ
32.7 KB
data.tar.xz
32.7 KB
data.tar
2.65 KB
./usr/lib/python3/dist-packages/htmlcov/class_index.html
    
Offset 51, 15 lines modifiedOffset 51, 15 lines modified
51 ········<h2>51 ········<h2>
52 ················<a·class="button"·href="index.html">Files</a>52 ················<a·class="button"·href="index.html">Files</a>
53 ················<a·class="button"·href="function_index.html">Functions</a>53 ················<a·class="button"·href="function_index.html">Functions</a>
54 ················<a·class="button·current">Classes</a>54 ················<a·class="button·current">Classes</a>
55 ········</h2>55 ········</h2>
56 ········<p·class="text">56 ········<p·class="text">
57 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,57 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,
58 ············created·at·2025-10-25·18:19·-120058 ············created·at·2026-11-29·02:43·+1400
59 ········</p>59 ········</p>
60 ····</div>60 ····</div>
61 </header>61 </header>
62 <main·id="index">62 <main·id="index">
63 ····<table·class="index"·data-sortable>63 ····<table·class="index"·data-sortable>
64 ········<thead>64 ········<thead>
65 ············<tr·class="tablehead"·title="Click·to·sort">65 ············<tr·class="tablehead"·title="Click·to·sort">
Offset 448, 15 lines modifiedOffset 448, 15 lines modified
448 ········No·items·found·using·the·specified·filter.448 ········No·items·found·using·the·specified·filter.
449 ····</p>449 ····</p>
450 </main>450 </main>
451 <footer>451 <footer>
452 ····<div·class="content">452 ····<div·class="content">
453 ········<p>453 ········<p>
454 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,454 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,
455 ············created·at·2025-10-25·18:19·-1200455 ············created·at·2026-11-29·02:43·+1400
456 ········</p>456 ········</p>
457 ····</div>457 ····</div>
458 ····<aside·class="hidden">458 ····<aside·class="hidden">
459 ········<a·id="prevFileLink"·class="nav"·href=""></a>459 ········<a·id="prevFileLink"·class="nav"·href=""></a>
460 ········<a·id="nextFileLink"·class="nav"·href=""></a>460 ········<a·id="nextFileLink"·class="nav"·href=""></a>
461 ········<button·type="button"·class="button_prev_file"·data-shortcut="["></button>461 ········<button·type="button"·class="button_prev_file"·data-shortcut="["></button>
462 ········<button·type="button"·class="button_next_file"·data-shortcut="]"></button>462 ········<button·type="button"·class="button_next_file"·data-shortcut="]"></button>
1.26 KB
html2text {}
    
Offset 3, 15 lines modifiedOffset 3, 15 lines modified
3 Shortcuts·on·this·page3 Shortcuts·on·this·page
4 f·n·s·m·x·c· ·change·column·sorting4 f·n·s·m·x·c· ·change·column·sorting
5 [·]· ·prev/next·file5 [·]· ·prev/next·file
6 ?· ·show/hide·this·help6 ?· ·show/hide·this·help
7 [····················]7 [····················]
8 [·]hide·covered8 [·]hide·covered
9 *****·Files·Functions·Classes·*****9 *****·Files·Functions·Classes·*****
10 coverage.py_v7.8.2,·created·at·2025-10-25·18:19·-120010 coverage.py_v7.8.2,·created·at·2026-11-29·02:43·+1400
11 File············class······················statements·missing·excluded·coverage11 File············class······················statements·missing·excluded·coverage
12 mt940/__about_··(no_class)·················9··········9·······0········0%12 mt940/__about_··(no_class)·················9··········9·······0········0%
13 _.py13 _.py
14 mt940/__init_···(no_class)·················9··········9·······0········0%14 mt940/__init_···(no_class)·················9··········9·······0········0%
15 _.py15 _.py
16 mt940/_·········(no_class)·················4··········4·······70·······0%16 mt940/_·········(no_class)·················4··········4·······70·······0%
17 compat.py17 compat.py
Offset 56, 8 lines modifiedOffset 56, 8 lines modified
56 mt940/tags.py···SumCreditEntries···········0··········0·······0········100%56 mt940/tags.py···SumCreditEntries···········0··········0·······0········100%
57 mt940/tags.py···Tags·······················0··········0·······0········100%57 mt940/tags.py···Tags·······················0··········0·······0········100%
58 mt940/tags.py···(no_class)·················108········108·····9········0%58 mt940/tags.py···(no_class)·················108········108·····9········0%
59 mt940/utils.py··Strip······················0··········0·······0········100%59 mt940/utils.py··Strip······················0··········0·······0········100%
60 mt940/utils.py··(no_class)·················19·········19······0········0%60 mt940/utils.py··(no_class)·················19·········19······0········0%
61 Total··········· ··························531········531·····117······0%61 Total··········· ··························531········531·····117······0%
62 No·items·found·using·the·specified·filter.62 No·items·found·using·the·specified·filter.
63 coverage.py_v7.8.2,·created·at·2025-10-25·18:19·-120063 coverage.py_v7.8.2,·created·at·2026-11-29·02:43·+1400
2.65 KB
./usr/lib/python3/dist-packages/htmlcov/function_index.html
    
Offset 51, 15 lines modifiedOffset 51, 15 lines modified
51 ········<h2>51 ········<h2>
52 ················<a·class="button"·href="index.html">Files</a>52 ················<a·class="button"·href="index.html">Files</a>
53 ················<a·class="button·current">Functions</a>53 ················<a·class="button·current">Functions</a>
54 ················<a·class="button"·href="class_index.html">Classes</a>54 ················<a·class="button"·href="class_index.html">Classes</a>
55 ········</h2>55 ········</h2>
56 ········<p·class="text">56 ········<p·class="text">
57 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,57 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,
58 ············created·at·2025-10-25·18:19·-120058 ············created·at·2026-11-29·02:43·+1400
59 ········</p>59 ········</p>
60 ····</div>60 ····</div>
61 </header>61 </header>
62 <main·id="index">62 <main·id="index">
63 ····<table·class="index"·data-sortable>63 ····<table·class="index"·data-sortable>
64 ········<thead>64 ········<thead>
65 ············<tr·class="tablehead"·title="Click·to·sort">65 ············<tr·class="tablehead"·title="Click·to·sort">
Offset 688, 15 lines modifiedOffset 688, 15 lines modified
688 ········No·items·found·using·the·specified·filter.688 ········No·items·found·using·the·specified·filter.
689 ····</p>689 ····</p>
690 </main>690 </main>
691 <footer>691 <footer>
692 ····<div·class="content">692 ····<div·class="content">
693 ········<p>693 ········<p>
694 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,694 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,
695 ············created·at·2025-10-25·18:19·-1200695 ············created·at·2026-11-29·02:43·+1400
696 ········</p>696 ········</p>
697 ····</div>697 ····</div>
698 ····<aside·class="hidden">698 ····<aside·class="hidden">
699 ········<a·id="prevFileLink"·class="nav"·href=""></a>699 ········<a·id="prevFileLink"·class="nav"·href=""></a>
700 ········<a·id="nextFileLink"·class="nav"·href=""></a>700 ········<a·id="nextFileLink"·class="nav"·href=""></a>
701 ········<button·type="button"·class="button_prev_file"·data-shortcut="["></button>701 ········<button·type="button"·class="button_prev_file"·data-shortcut="["></button>
702 ········<button·type="button"·class="button_next_file"·data-shortcut="]"></button>702 ········<button·type="button"·class="button_next_file"·data-shortcut="]"></button>
1.26 KB
html2text {}
    
Offset 3, 15 lines modifiedOffset 3, 15 lines modified
3 Shortcuts·on·this·page3 Shortcuts·on·this·page
4 f·n·s·m·x·c· ·change·column·sorting4 f·n·s·m·x·c· ·change·column·sorting
5 [·]· ·prev/next·file5 [·]· ·prev/next·file
6 ?· ·show/hide·this·help6 ?· ·show/hide·this·help
7 [····················]7 [····················]
8 [·]hide·covered8 [·]hide·covered
9 *****·Files·Functions·Classes·*****9 *****·Files·Functions·Classes·*****
10 coverage.py_v7.8.2,·created·at·2025-10-25·18:19·-120010 coverage.py_v7.8.2,·created·at·2026-11-29·02:43·+1400
11 File············function···················statements·missing·excluded·coverage11 File············function···················statements·missing·excluded·coverage
12 mt940/__about_··(no_function)··············9··········9·······0········0%12 mt940/__about_··(no_function)··············9··········9·······0········0%
13 _.py13 _.py
14 mt940/__init_···(no_function)··············9··········9·······0········0%14 mt940/__init_···(no_function)··············9··········9·······0········0%
15 _.py15 _.py
16 mt940/_·········_identity··················0··········0·······1········100%16 mt940/_·········_identity··················0··········0·······1········100%
17 compat.py17 compat.py
Offset 110, 8 lines modifiedOffset 110, 8 lines modified
110 mt940/tags.py···SumEntries.__call__········3··········3·······0········0%110 mt940/tags.py···SumEntries.__call__········3··········3·······0········0%
111 mt940/tags.py···(no_function)··············108········108·····9········0%111 mt940/tags.py···(no_function)··············108········108·····9········0%
112 mt940/utils.py··coalesce···················3··········3·······0········0%112 mt940/utils.py··coalesce···················3··········3·······0········0%
113 mt940/utils.py··join_lines·················8··········8·······0········0%113 mt940/utils.py··join_lines·················8··········8·······0········0%
114 mt940/utils.py··(no_function)··············8··········8·······0········0%114 mt940/utils.py··(no_function)··············8··········8·······0········0%
115 Total··········· ··························531········531·····117······0%115 Total··········· ··························531········531·····117······0%
116 No·items·found·using·the·specified·filter.116 No·items·found·using·the·specified·filter.
117 coverage.py_v7.8.2,·created·at·2025-10-25·18:19·-1200117 coverage.py_v7.8.2,·created·at·2026-11-29·02:43·+1400
2.49 KB
./usr/lib/python3/dist-packages/htmlcov/index.html
    
Offset 50, 15 lines modifiedOffset 50, 15 lines modified
50 ········<h2>50 ········<h2>
51 ················<a·class="button·current">Files</a>51 ················<a·class="button·current">Files</a>
52 ················<a·class="button"·href="function_index.html">Functions</a>52 ················<a·class="button"·href="function_index.html">Functions</a>
53 ················<a·class="button"·href="class_index.html">Classes</a>53 ················<a·class="button"·href="class_index.html">Classes</a>
54 ········</h2>54 ········</h2>
55 ········<p·class="text">55 ········<p·class="text">
56 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,56 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,
57 ············created·at·2025-10-25·18:19·-120057 ············created·at·2026-11-29·02:43·+1400
58 ········</p>58 ········</p>
59 ····</div>59 ····</div>
60 </header>60 </header>
61 <main·id="index">61 <main·id="index">
62 ····<table·class="index"·data-sortable>62 ····<table·class="index"·data-sortable>
63 ········<thead>63 ········<thead>
64 ············<tr·class="tablehead"·title="Click·to·sort">64 ············<tr·class="tablehead"·title="Click·to·sort">
Offset 148, 15 lines modifiedOffset 148, 15 lines modified
148 ········No·items·found·using·the·specified·filter.148 ········No·items·found·using·the·specified·filter.
149 ····</p>149 ····</p>
150 </main>150 </main>
151 <footer>151 <footer>
152 ····<div·class="content">152 ····<div·class="content">
153 ········<p>153 ········<p>
154 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,154 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,
155 ············created·at·2025-10-25·18:19·-1200155 ············created·at·2026-11-29·02:43·+1400
156 ········</p>156 ········</p>
157 ····</div>157 ····</div>
158 ····<aside·class="hidden">158 ····<aside·class="hidden">
159 ········<a·id="prevFileLink"·class="nav"·href="z_d331b95102e7fe3d_utils_py.html"></a>159 ········<a·id="prevFileLink"·class="nav"·href="z_d331b95102e7fe3d_utils_py.html"></a>
160 ········<a·id="nextFileLink"·class="nav"·href="z_d331b95102e7fe3d___about___py.html"></a>160 ········<a·id="nextFileLink"·class="nav"·href="z_d331b95102e7fe3d___about___py.html"></a>
161 ········<button·type="button"·class="button_prev_file"·data-shortcut="["></button>161 ········<button·type="button"·class="button_prev_file"·data-shortcut="["></button>
162 ········<button·type="button"·class="button_next_file"·data-shortcut="]"></button>162 ········<button·type="button"·class="button_next_file"·data-shortcut="]"></button>
1.04 KB
html2text {}
    
Offset 3, 21 lines modifiedOffset 3, 21 lines modified
3 Shortcuts·on·this·page3 Shortcuts·on·this·page
4 f·s·m·x·c· ·change·column·sorting4 f·s·m·x·c· ·change·column·sorting
5 [·]· ·prev/next·file5 [·]· ·prev/next·file
6 ?· ·show/hide·this·help6 ?· ·show/hide·this·help
7 [····················]7 [····················]
8 [·]hide·covered8 [·]hide·covered
9 *****·Files·Functions·Classes·*****9 *****·Files·Functions·Classes·*****
10 coverage.py_v7.8.2,·created·at·2025-10-25·18:19·-120010 coverage.py_v7.8.2,·created·at·2026-11-29·02:43·+1400
11 File················statements·missing·excluded·coverage11 File················statements·missing·excluded·coverage
12 mt940/__about__.py··9··········9·······0········0%12 mt940/__about__.py··9··········9·······0········0%
13 mt940/__init__.py···9··········9·······0········0%13 mt940/__init__.py···9··········9·······0········0%
14 mt940/_compat.py····4··········4·······70·······0%14 mt940/_compat.py····4··········4·······70·······0%
15 mt940/json.py·······19·········19······2········0%15 mt940/json.py·······19·········19······2········0%
16 mt940/models.py·····177········177·····9········0%16 mt940/models.py·····177········177·····9········0%
17 mt940/parser.py·····17·········17······15·······0%17 mt940/parser.py·····17·········17······15·······0%
18 mt940/processors.py·111········111·····1········0%18 mt940/processors.py·111········111·····1········0%
19 mt940/tags.py·······166········166·····20·······0%19 mt940/tags.py·······166········166·····20·······0%
20 mt940/utils.py······19·········19······0········0%20 mt940/utils.py······19·········19······0········0%
21 Total···············531········531·····117······0%21 Total···············531········531·····117······0%
22 No·items·found·using·the·specified·filter.22 No·items·found·using·the·specified·filter.
23 coverage.py_v7.8.2,·created·at·2025-10-25·18:19·-120023 coverage.py_v7.8.2,·created·at·2026-11-29·02:43·+1400
2.83 KB
./usr/lib/python3/dist-packages/htmlcov/z_d331b95102e7fe3d___about___py.html
    
Offset 61, 15 lines modifiedOffset 61, 15 lines modified
61 ········</h2>61 ········</h2>
62 ········<p·class="text">62 ········<p·class="text">
63 ············<a·id="prevFileLink"·class="nav"·href="index.html">&#xab;·prev</a>·&nbsp;·&nbsp;63 ············<a·id="prevFileLink"·class="nav"·href="index.html">&#xab;·prev</a>·&nbsp;·&nbsp;
64 ············<a·id="indexLink"·class="nav"·href="index.html">&Hat;·index</a>·&nbsp;·&nbsp;64 ············<a·id="indexLink"·class="nav"·href="index.html">&Hat;·index</a>·&nbsp;·&nbsp;
65 ············<a·id="nextFileLink"·class="nav"·href="z_d331b95102e7fe3d___init___py.html">&#xbb;·next</a>65 ············<a·id="nextFileLink"·class="nav"·href="z_d331b95102e7fe3d___init___py.html">&#xbb;·next</a>
66 ············&nbsp;·&nbsp;·&nbsp;66 ············&nbsp;·&nbsp;·&nbsp;
67 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,67 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,
68 ············created·at·2025-10-25·18:19·-120068 ············created·at·2026-11-29·02:43·+1400
69 ········</p>69 ········</p>
70 ········<aside·class="hidden">70 ········<aside·class="hidden">
71 ············<button·type="button"·class="button_next_chunk"·data-shortcut="j"></button>71 ············<button·type="button"·class="button_next_chunk"·data-shortcut="j"></button>
72 ············<button·type="button"·class="button_prev_chunk"·data-shortcut="k"></button>72 ············<button·type="button"·class="button_prev_chunk"·data-shortcut="k"></button>
73 ············<button·type="button"·class="button_top_of_page"·data-shortcut="0"></button>73 ············<button·type="button"·class="button_top_of_page"·data-shortcut="0"></button>
74 ············<button·type="button"·class="button_first_chunk"·data-shortcut="1"></button>74 ············<button·type="button"·class="button_first_chunk"·data-shortcut="1"></button>
75 ············<button·type="button"·class="button_prev_file"·data-shortcut="["></button>75 ············<button·type="button"·class="button_prev_file"·data-shortcut="["></button>
Offset 97, 13 lines modifiedOffset 97, 13 lines modified
97 ····<div·class="content">97 ····<div·class="content">
98 ········<p>98 ········<p>
99 ············<a·class="nav"·href="index.html">&#xab;·prev</a>·&nbsp;·&nbsp;99 ············<a·class="nav"·href="index.html">&#xab;·prev</a>·&nbsp;·&nbsp;
100 ············<a·class="nav"·href="index.html">&Hat;·index</a>·&nbsp;·&nbsp;100 ············<a·class="nav"·href="index.html">&Hat;·index</a>·&nbsp;·&nbsp;
101 ············<a·class="nav"·href="z_d331b95102e7fe3d___init___py.html">&#xbb;·next</a>101 ············<a·class="nav"·href="z_d331b95102e7fe3d___init___py.html">&#xbb;·next</a>
102 ············&nbsp;·&nbsp;·&nbsp;102 ············&nbsp;·&nbsp;·&nbsp;
103 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,103 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,
104 ············created·at·2025-10-25·18:19·-1200104 ············created·at·2026-11-29·02:43·+1400
105 ········</p>105 ········</p>
106 ····</div>106 ····</div>
107 </footer>107 </footer>
108 </body>108 </body>
109 </html>109 </html>
1.07 KB
html2text {}
    
Offset 5, 23 lines modifiedOffset 5, 23 lines modified
5 j·k· ·next/prev·highlighted·chunk5 j·k· ·next/prev·highlighted·chunk
6 0· ·(zero)·top·of·page6 0· ·(zero)·top·of·page
7 1· ·(one)·first·highlighted·chunk7 1· ·(one)·first·highlighted·chunk
8 [·]· ·prev/next·file8 [·]· ·prev/next·file
9 u· ·up·to·the·index9 u· ·up·to·the·index
10 ?· ·show/hide·this·help10 ?· ·show/hide·this·help
11 *****·9·statements· ·0·run·9·missing·0·excluded·*****11 *****·9·statements· ·0·run·9·missing·0·excluded·*****
12 «_prev· · ·&Hat;_index· · ·»_next· · · ·coverage.py_v7.8.2,·created·at·2025-10-12 «_prev· · ·&Hat;_index· · ·»_next· · · ·coverage.py_v7.8.2,·created·at·2026-11-
13 25·18:19·-120013 29·02:43·+1400
14 1__title__·=·'MT940' 14 1__title__·=·'MT940' 
15 2__package_name__·=·'mt-940' 15 2__package_name__·=·'mt-940' 
16 3__author__·=·'Rick·van·Hattem·(wolph)' 16 3__author__·=·'Rick·van·Hattem·(wolph)' 
17 4__description__·=·'·'.join(''' 17 4__description__·=·'·'.join(''' 
18 5A·library·to·parse·MT940·files·and·returns·smart·Python·collections·for 18 5A·library·to·parse·MT940·files·and·returns·smart·Python·collections·for 
19 6statistics·and·manipulation. 19 6statistics·and·manipulation. 
20 7'''.strip().split()) 20 7'''.strip().split()) 
21 8__email__·=·'wolph@wol.ph' 21 8__email__·=·'wolph@wol.ph' 
22 9__version__·=·'4.30.0' 22 9__version__·=·'4.30.0' 
23 10__license__·=·'BSD' 23 10__license__·=·'BSD' 
24 11__copyright__·=·'Copyright·2015·Rick·van·Hattem·(wolph)' 24 11__copyright__·=·'Copyright·2015·Rick·van·Hattem·(wolph)' 
25 12__url__·=·'https://github.com/WoLpH/mt940' 25 12__url__·=·'https://github.com/WoLpH/mt940' 
26 «_prev· · ·&Hat;_index· · ·»_next· · · ·coverage.py_v7.8.2,·created·at·2025-10-26 «_prev· · ·&Hat;_index· · ·»_next· · · ·coverage.py_v7.8.2,·created·at·2026-11-
27 25·18:19·-120027 29·02:43·+1400
2.72 KB
./usr/lib/python3/dist-packages/htmlcov/z_d331b95102e7fe3d___init___py.html
    
Offset 61, 15 lines modifiedOffset 61, 15 lines modified
61 ········</h2>61 ········</h2>
62 ········<p·class="text">62 ········<p·class="text">
63 ············<a·id="prevFileLink"·class="nav"·href="z_d331b95102e7fe3d___about___py.html">&#xab;·prev</a>·&nbsp;·&nbsp;63 ············<a·id="prevFileLink"·class="nav"·href="z_d331b95102e7fe3d___about___py.html">&#xab;·prev</a>·&nbsp;·&nbsp;
64 ············<a·id="indexLink"·class="nav"·href="index.html">&Hat;·index</a>·&nbsp;·&nbsp;64 ············<a·id="indexLink"·class="nav"·href="index.html">&Hat;·index</a>·&nbsp;·&nbsp;
65 ············<a·id="nextFileLink"·class="nav"·href="z_d331b95102e7fe3d__compat_py.html">&#xbb;·next</a>65 ············<a·id="nextFileLink"·class="nav"·href="z_d331b95102e7fe3d__compat_py.html">&#xbb;·next</a>
66 ············&nbsp;·&nbsp;·&nbsp;66 ············&nbsp;·&nbsp;·&nbsp;
67 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,67 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,
68 ············created·at·2025-10-25·18:19·-120068 ············created·at·2026-11-29·02:43·+1400
69 ········</p>69 ········</p>
70 ········<aside·class="hidden">70 ········<aside·class="hidden">
71 ············<button·type="button"·class="button_next_chunk"·data-shortcut="j"></button>71 ············<button·type="button"·class="button_next_chunk"·data-shortcut="j"></button>
72 ············<button·type="button"·class="button_prev_chunk"·data-shortcut="k"></button>72 ············<button·type="button"·class="button_prev_chunk"·data-shortcut="k"></button>
73 ············<button·type="button"·class="button_top_of_page"·data-shortcut="0"></button>73 ············<button·type="button"·class="button_top_of_page"·data-shortcut="0"></button>
74 ············<button·type="button"·class="button_first_chunk"·data-shortcut="1"></button>74 ············<button·type="button"·class="button_first_chunk"·data-shortcut="1"></button>
75 ············<button·type="button"·class="button_prev_file"·data-shortcut="["></button>75 ············<button·type="button"·class="button_prev_file"·data-shortcut="["></button>
Offset 106, 13 lines modifiedOffset 106, 13 lines modified
106 ····<div·class="content">106 ····<div·class="content">
107 ········<p>107 ········<p>
108 ············<a·class="nav"·href="z_d331b95102e7fe3d___about___py.html">&#xab;·prev</a>·&nbsp;·&nbsp;108 ············<a·class="nav"·href="z_d331b95102e7fe3d___about___py.html">&#xab;·prev</a>·&nbsp;·&nbsp;
109 ············<a·class="nav"·href="index.html">&Hat;·index</a>·&nbsp;·&nbsp;109 ············<a·class="nav"·href="index.html">&Hat;·index</a>·&nbsp;·&nbsp;
110 ············<a·class="nav"·href="z_d331b95102e7fe3d__compat_py.html">&#xbb;·next</a>110 ············<a·class="nav"·href="z_d331b95102e7fe3d__compat_py.html">&#xbb;·next</a>
111 ············&nbsp;·&nbsp;·&nbsp;111 ············&nbsp;·&nbsp;·&nbsp;
112 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,112 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,
113 ············created·at·2025-10-25·18:19·-1200113 ············created·at·2026-11-29·02:43·+1400
114 ········</p>114 ········</p>
115 ····</div>115 ····</div>
116 </footer>116 </footer>
117 </body>117 </body>
118 </html>118 </html>
927 B
html2text {}
    
Offset 5, 16 lines modifiedOffset 5, 16 lines modified
5 j·k· ·next/prev·highlighted·chunk5 j·k· ·next/prev·highlighted·chunk
6 0· ·(zero)·top·of·page6 0· ·(zero)·top·of·page
7 1· ·(one)·first·highlighted·chunk7 1· ·(one)·first·highlighted·chunk
8 [·]· ·prev/next·file8 [·]· ·prev/next·file
9 u· ·up·to·the·index9 u· ·up·to·the·index
10 ?· ·show/hide·this·help10 ?· ·show/hide·this·help
11 *****·9·statements· ·0·run·9·missing·0·excluded·*****11 *****·9·statements· ·0·run·9·missing·0·excluded·*****
12 «_prev· · ·&Hat;_index· · ·»_next· · · ·coverage.py_v7.8.2,·created·at·2025-10-12 «_prev· · ·&Hat;_index· · ·»_next· · · ·coverage.py_v7.8.2,·created·at·2026-11-
13 25·18:19·-120013 29·02:43·+1400
14 1from·__future__·import·absolute_import 14 1from·__future__·import·absolute_import 
15 15
16 3from·.json·import·JSONEncoder 16 3from·.json·import·JSONEncoder 
17 4from·.·import·tags 17 4from·.·import·tags 
18 5from·.·import·utils 18 5from·.·import·utils 
19 6from·.·import·models 19 6from·.·import·models 
20 7from·.·import·parser 20 7from·.·import·parser 
Offset 28, 9 lines modifiedOffset 28, 9 lines modified
28 15·'parser', 28 15·'parser', 
29 16·'models', 29 16·'models', 
30 17·'utils', 30 17·'utils', 
31 18·'parse', 31 18·'parse', 
32 19·'tags', 32 19·'tags', 
33 20·'json', 33 20·'json', 
34 21] 34 21] 
35 «_prev· · ·&Hat;_index· · ·»_next· · · ·coverage.py_v7.8.2,·created·at·2025-10-35 «_prev· · ·&Hat;_index· · ·»_next· · · ·coverage.py_v7.8.2,·created·at·2026-11-
36 25·18:19·-120036 29·02:43·+1400
2.75 KB
./usr/lib/python3/dist-packages/htmlcov/z_d331b95102e7fe3d__compat_py.html
    
Offset 61, 15 lines modifiedOffset 61, 15 lines modified
61 ········</h2>61 ········</h2>
62 ········<p·class="text">62 ········<p·class="text">
63 ············<a·id="prevFileLink"·class="nav"·href="z_d331b95102e7fe3d___init___py.html">&#xab;·prev</a>·&nbsp;·&nbsp;63 ············<a·id="prevFileLink"·class="nav"·href="z_d331b95102e7fe3d___init___py.html">&#xab;·prev</a>·&nbsp;·&nbsp;
64 ············<a·id="indexLink"·class="nav"·href="index.html">&Hat;·index</a>·&nbsp;·&nbsp;64 ············<a·id="indexLink"·class="nav"·href="index.html">&Hat;·index</a>·&nbsp;·&nbsp;
65 ············<a·id="nextFileLink"·class="nav"·href="z_d331b95102e7fe3d_json_py.html">&#xbb;·next</a>65 ············<a·id="nextFileLink"·class="nav"·href="z_d331b95102e7fe3d_json_py.html">&#xbb;·next</a>
66 ············&nbsp;·&nbsp;·&nbsp;66 ············&nbsp;·&nbsp;·&nbsp;
67 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,67 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,
68 ············created·at·2025-10-25·18:19·-120068 ············created·at·2026-11-29·02:43·+1400
69 ········</p>69 ········</p>
70 ········<aside·class="hidden">70 ········<aside·class="hidden">
71 ············<button·type="button"·class="button_next_chunk"·data-shortcut="j"></button>71 ············<button·type="button"·class="button_next_chunk"·data-shortcut="j"></button>
72 ············<button·type="button"·class="button_prev_chunk"·data-shortcut="k"></button>72 ············<button·type="button"·class="button_prev_chunk"·data-shortcut="k"></button>
73 ············<button·type="button"·class="button_top_of_page"·data-shortcut="0"></button>73 ············<button·type="button"·class="button_top_of_page"·data-shortcut="0"></button>
74 ············<button·type="button"·class="button_first_chunk"·data-shortcut="1"></button>74 ············<button·type="button"·class="button_first_chunk"·data-shortcut="1"></button>
75 ············<button·type="button"·class="button_prev_file"·data-shortcut="["></button>75 ············<button·type="button"·class="button_prev_file"·data-shortcut="["></button>
Offset 217, 13 lines modifiedOffset 217, 13 lines modified
217 ····<div·class="content">217 ····<div·class="content">
218 ········<p>218 ········<p>
219 ············<a·class="nav"·href="z_d331b95102e7fe3d___init___py.html">&#xab;·prev</a>·&nbsp;·&nbsp;219 ············<a·class="nav"·href="z_d331b95102e7fe3d___init___py.html">&#xab;·prev</a>·&nbsp;·&nbsp;
220 ············<a·class="nav"·href="index.html">&Hat;·index</a>·&nbsp;·&nbsp;220 ············<a·class="nav"·href="index.html">&Hat;·index</a>·&nbsp;·&nbsp;
221 ············<a·class="nav"·href="z_d331b95102e7fe3d_json_py.html">&#xbb;·next</a>221 ············<a·class="nav"·href="z_d331b95102e7fe3d_json_py.html">&#xbb;·next</a>
222 ············&nbsp;·&nbsp;·&nbsp;222 ············&nbsp;·&nbsp;·&nbsp;
223 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,223 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,
224 ············created·at·2025-10-25·18:19·-1200224 ············created·at·2026-11-29·02:43·+1400
225 ········</p>225 ········</p>
226 ····</div>226 ····</div>
227 </footer>227 </footer>
228 </body>228 </body>
229 </html>229 </html>
975 B
html2text {}
    
Offset 5, 16 lines modifiedOffset 5, 16 lines modified
5 j·k· ·next/prev·highlighted·chunk5 j·k· ·next/prev·highlighted·chunk
6 0· ·(zero)·top·of·page6 0· ·(zero)·top·of·page
7 1· ·(one)·first·highlighted·chunk7 1· ·(one)·first·highlighted·chunk
8 [·]· ·prev/next·file8 [·]· ·prev/next·file
9 u· ·up·to·the·index9 u· ·up·to·the·index
10 ?· ·show/hide·this·help10 ?· ·show/hide·this·help
11 *****·4·statements· ·0·run·4·missing·70·excluded·*****11 *****·4·statements· ·0·run·4·missing·70·excluded·*****
12 «_prev· · ·&Hat;_index· · ·»_next· · · ·coverage.py_v7.8.2,·created·at·2025-10-12 «_prev· · ·&Hat;_index· · ·»_next· · · ·coverage.py_v7.8.2,·created·at·2026-11-
13 25·18:19·-120013 29·02:43·+1400
14 1import·sys 14 1import·sys 
15 15
16 3PY2·=·sys.version_info[0]·==·16 3PY2·=·sys.version_info[0]·==·
17 17
18 18
19 6def·_identity(x):·#·pragma:·no·cover 19 6def·_identity(x):·#·pragma:·no·cover 
20 7·return·20 7·return·
Offset 139, 9 lines modifiedOffset 139, 9 lines modified
139 126·def·reraise(tp,·value,·tb=None): 139 126·def·reraise(tp,·value,·tb=None): 
140 127·if·value.__traceback__·is·not·tb: 140 127·if·value.__traceback__·is·not·tb: 
141 128·raise·(value.with_traceback(tb)) 141 128·raise·(value.with_traceback(tb)) 
142 129·raise·value 142 129·raise·value 
143 130 143 130 
144 131 144 131 
145 132number_types·=·integer_types·+·(float,·145 132number_types·=·integer_types·+·(float,·
146 «_prev· · ·&Hat;_index· · ·»_next· · · ·coverage.py_v7.8.2,·created·at·2025-10-146 «_prev· · ·&Hat;_index· · ·»_next· · · ·coverage.py_v7.8.2,·created·at·2026-11-
147 25·18:19·-1200147 29·02:43·+1400
2.85 KB
./usr/lib/python3/dist-packages/htmlcov/z_d331b95102e7fe3d_json_py.html
    
Offset 61, 15 lines modifiedOffset 61, 15 lines modified
61 ········</h2>61 ········</h2>
62 ········<p·class="text">62 ········<p·class="text">
63 ············<a·id="prevFileLink"·class="nav"·href="z_d331b95102e7fe3d__compat_py.html">&#xab;·prev</a>·&nbsp;·&nbsp;63 ············<a·id="prevFileLink"·class="nav"·href="z_d331b95102e7fe3d__compat_py.html">&#xab;·prev</a>·&nbsp;·&nbsp;
64 ············<a·id="indexLink"·class="nav"·href="index.html">&Hat;·index</a>·&nbsp;·&nbsp;64 ············<a·id="indexLink"·class="nav"·href="index.html">&Hat;·index</a>·&nbsp;·&nbsp;
65 ············<a·id="nextFileLink"·class="nav"·href="z_d331b95102e7fe3d_models_py.html">&#xbb;·next</a>65 ············<a·id="nextFileLink"·class="nav"·href="z_d331b95102e7fe3d_models_py.html">&#xbb;·next</a>
66 ············&nbsp;·&nbsp;·&nbsp;66 ············&nbsp;·&nbsp;·&nbsp;
67 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,67 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,
68 ············created·at·2025-10-25·18:19·-120068 ············created·at·2026-11-29·02:43·+1400
69 ········</p>69 ········</p>
70 ········<aside·class="hidden">70 ········<aside·class="hidden">
71 ············<button·type="button"·class="button_next_chunk"·data-shortcut="j"></button>71 ············<button·type="button"·class="button_next_chunk"·data-shortcut="j"></button>
72 ············<button·type="button"·class="button_prev_chunk"·data-shortcut="k"></button>72 ············<button·type="button"·class="button_prev_chunk"·data-shortcut="k"></button>
73 ············<button·type="button"·class="button_top_of_page"·data-shortcut="0"></button>73 ············<button·type="button"·class="button_top_of_page"·data-shortcut="0"></button>
74 ············<button·type="button"·class="button_first_chunk"·data-shortcut="1"></button>74 ············<button·type="button"·class="button_first_chunk"·data-shortcut="1"></button>
75 ············<button·type="button"·class="button_prev_file"·data-shortcut="["></button>75 ············<button·type="button"·class="button_prev_file"·data-shortcut="["></button>
Offset 134, 13 lines modifiedOffset 134, 13 lines modified
134 ····<div·class="content">134 ····<div·class="content">
135 ········<p>135 ········<p>
136 ············<a·class="nav"·href="z_d331b95102e7fe3d__compat_py.html">&#xab;·prev</a>·&nbsp;·&nbsp;136 ············<a·class="nav"·href="z_d331b95102e7fe3d__compat_py.html">&#xab;·prev</a>·&nbsp;·&nbsp;
137 ············<a·class="nav"·href="index.html">&Hat;·index</a>·&nbsp;·&nbsp;137 ············<a·class="nav"·href="index.html">&Hat;·index</a>·&nbsp;·&nbsp;
138 ············<a·class="nav"·href="z_d331b95102e7fe3d_models_py.html">&#xbb;·next</a>138 ············<a·class="nav"·href="z_d331b95102e7fe3d_models_py.html">&#xbb;·next</a>
139 ············&nbsp;·&nbsp;·&nbsp;139 ············&nbsp;·&nbsp;·&nbsp;
140 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,140 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,
141 ············created·at·2025-10-25·18:19·-1200141 ············created·at·2026-11-29·02:43·+1400
142 ········</p>142 ········</p>
143 ····</div>143 ····</div>
144 </footer>144 </footer>
145 </body>145 </body>
146 </html>146 </html>
1.05 KB
html2text {}
    
Offset 5, 16 lines modifiedOffset 5, 16 lines modified
5 j·k· ·next/prev·highlighted·chunk5 j·k· ·next/prev·highlighted·chunk
6 0· ·(zero)·top·of·page6 0· ·(zero)·top·of·page
7 1· ·(one)·first·highlighted·chunk7 1· ·(one)·first·highlighted·chunk
8 [·]· ·prev/next·file8 [·]· ·prev/next·file
9 u· ·up·to·the·index9 u· ·up·to·the·index
10 ?· ·show/hide·this·help10 ?· ·show/hide·this·help
11 *****·19·statements· ·0·run·19·missing·2·excluded·*****11 *****·19·statements· ·0·run·19·missing·2·excluded·*****
12 «_prev· · ·&Hat;_index· · ·»_next· · · ·coverage.py_v7.8.2,·created·at·2025-10-12 «_prev· · ·&Hat;_index· · ·»_next· · · ·coverage.py_v7.8.2,·created·at·2026-11-
13 25·18:19·-120013 29·02:43·+1400
14 1from·__future__·import·absolute_import 14 1from·__future__·import·absolute_import 
15 2import·json 15 2import·json 
16 3import·decimal 16 3import·decimal 
17 4import·datetime 17 4import·datetime 
18 18
19 19
20 7from·.·import·models 20 7from·.·import·models 
Offset 56, 9 lines modifiedOffset 56, 9 lines modified
56 43·#·Handle·types·that·have·a·`__dict__`·containing·the·data·(doesn't·work 56 43·#·Handle·types·that·have·a·`__dict__`·containing·the·data·(doesn't·work 
57 44·#·for·classes·using·`__slots__`·such·as·`datetime`) 57 44·#·for·classes·using·`__slots__`·such·as·`datetime`) 
58 45·elif·isinstance(value,·dict_types): 58 45·elif·isinstance(value,·dict_types): 
59 46·return·value.__dict__ 59 46·return·value.__dict__ 
60 47 60 47 
61 48·else:·#·pragma:·no·cover 61 48·else:·#·pragma:·no·cover 
62 49·return·json.JSONEncoder.default(self,·value) 62 49·return·json.JSONEncoder.default(self,·value) 
63 «_prev· · ·&Hat;_index· · ·»_next· · · ·coverage.py_v7.8.2,·created·at·2025-10-63 «_prev· · ·&Hat;_index· · ·»_next· · · ·coverage.py_v7.8.2,·created·at·2026-11-
64 25·18:19·-120064 29·02:43·+1400
2.77 KB
./usr/lib/python3/dist-packages/htmlcov/z_d331b95102e7fe3d_models_py.html
    
Offset 61, 15 lines modifiedOffset 61, 15 lines modified
61 ········</h2>61 ········</h2>
62 ········<p·class="text">62 ········<p·class="text">
63 ············<a·id="prevFileLink"·class="nav"·href="z_d331b95102e7fe3d_json_py.html">&#xab;·prev</a>·&nbsp;·&nbsp;63 ············<a·id="prevFileLink"·class="nav"·href="z_d331b95102e7fe3d_json_py.html">&#xab;·prev</a>·&nbsp;·&nbsp;
64 ············<a·id="indexLink"·class="nav"·href="index.html">&Hat;·index</a>·&nbsp;·&nbsp;64 ············<a·id="indexLink"·class="nav"·href="index.html">&Hat;·index</a>·&nbsp;·&nbsp;
65 ············<a·id="nextFileLink"·class="nav"·href="z_d331b95102e7fe3d_parser_py.html">&#xbb;·next</a>65 ············<a·id="nextFileLink"·class="nav"·href="z_d331b95102e7fe3d_parser_py.html">&#xbb;·next</a>
66 ············&nbsp;·&nbsp;·&nbsp;66 ············&nbsp;·&nbsp;·&nbsp;
67 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,67 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,
68 ············created·at·2025-10-25·18:19·-120068 ············created·at·2026-11-29·02:43·+1400
69 ········</p>69 ········</p>
70 ········<aside·class="hidden">70 ········<aside·class="hidden">
71 ············<button·type="button"·class="button_next_chunk"·data-shortcut="j"></button>71 ············<button·type="button"·class="button_next_chunk"·data-shortcut="j"></button>
72 ············<button·type="button"·class="button_prev_chunk"·data-shortcut="k"></button>72 ············<button·type="button"·class="button_prev_chunk"·data-shortcut="k"></button>
73 ············<button·type="button"·class="button_top_of_page"·data-shortcut="0"></button>73 ············<button·type="button"·class="button_top_of_page"·data-shortcut="0"></button>
74 ············<button·type="button"·class="button_first_chunk"·data-shortcut="1"></button>74 ············<button·type="button"·class="button_first_chunk"·data-shortcut="1"></button>
75 ············<button·type="button"·class="button_prev_file"·data-shortcut="["></button>75 ············<button·type="button"·class="button_prev_file"·data-shortcut="["></button>
Offset 592, 13 lines modifiedOffset 592, 13 lines modified
592 ····<div·class="content">592 ····<div·class="content">
593 ········<p>593 ········<p>
594 ············<a·class="nav"·href="z_d331b95102e7fe3d_json_py.html">&#xab;·prev</a>·&nbsp;·&nbsp;594 ············<a·class="nav"·href="z_d331b95102e7fe3d_json_py.html">&#xab;·prev</a>·&nbsp;·&nbsp;
595 ············<a·class="nav"·href="index.html">&Hat;·index</a>·&nbsp;·&nbsp;595 ············<a·class="nav"·href="index.html">&Hat;·index</a>·&nbsp;·&nbsp;
596 ············<a·class="nav"·href="z_d331b95102e7fe3d_parser_py.html">&#xbb;·next</a>596 ············<a·class="nav"·href="z_d331b95102e7fe3d_parser_py.html">&#xbb;·next</a>
597 ············&nbsp;·&nbsp;·&nbsp;597 ············&nbsp;·&nbsp;·&nbsp;
598 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,598 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,
599 ············created·at·2025-10-25·18:19·-1200599 ············created·at·2026-11-29·02:43·+1400
600 ········</p>600 ········</p>
601 ····</div>601 ····</div>
602 </footer>602 </footer>
603 </body>603 </body>
604 </html>604 </html>
1000 B
html2text {}
    
Offset 5, 16 lines modifiedOffset 5, 16 lines modified
5 j·k· ·next/prev·highlighted·chunk5 j·k· ·next/prev·highlighted·chunk
6 0· ·(zero)·top·of·page6 0· ·(zero)·top·of·page
7 1· ·(one)·first·highlighted·chunk7 1· ·(one)·first·highlighted·chunk
8 [·]· ·prev/next·file8 [·]· ·prev/next·file
9 u· ·up·to·the·index9 u· ·up·to·the·index
10 ?· ·show/hide·this·help10 ?· ·show/hide·this·help
11 *****·177·statements· ·0·run·177·missing·9·excluded·*****11 *****·177·statements· ·0·run·177·missing·9·excluded·*****
12 «_prev· · ·&Hat;_index· · ·»_next· · · ·coverage.py_v7.8.2,·created·at·2025-10-12 «_prev· · ·&Hat;_index· · ·»_next· · · ·coverage.py_v7.8.2,·created·at·2026-11-
13 25·18:19·-120013 29·02:43·+1400
14 1import·re 14 1import·re 
15 2import·decimal 15 2import·decimal 
16 3import·datetime 16 3import·datetime 
17 17
18 5#·python·3.8+·compatibility 18 5#·python·3.8+·compatibility 
19 6try:·#·pragma:·no·cover 19 6try:·#·pragma:·no·cover 
20 7·from·collections·import·abc 20 7·from·collections·import·abc 
Offset 514, 9 lines modifiedOffset 514, 9 lines modified
514 501·self.data.update(data) 514 501·self.data.update(data) 
515 502 515 502 
516 503·def·__repr__(self): 516 503·def·__repr__(self): 
517 504·return·'<%s[%s]·%s>'·%·517 504·return·'<%s[%s]·%s>'·%·
518 505·self.__class__.__name__, 518 505·self.__class__.__name__, 
519 506·self.data.get('date'), 519 506·self.data.get('date'), 
520 507·self.data.get('amount'),·520 507·self.data.get('amount'),·
521 «_prev· · ·&Hat;_index· · ·»_next· · · ·coverage.py_v7.8.2,·created·at·2025-10-521 «_prev· · ·&Hat;_index· · ·»_next· · · ·coverage.py_v7.8.2,·created·at·2026-11-
522 25·18:19·-1200522 29·02:43·+1400
2.73 KB
./usr/lib/python3/dist-packages/htmlcov/z_d331b95102e7fe3d_parser_py.html
    
Offset 61, 15 lines modifiedOffset 61, 15 lines modified
61 ········</h2>61 ········</h2>
62 ········<p·class="text">62 ········<p·class="text">
63 ············<a·id="prevFileLink"·class="nav"·href="z_d331b95102e7fe3d_models_py.html">&#xab;·prev</a>·&nbsp;·&nbsp;63 ············<a·id="prevFileLink"·class="nav"·href="z_d331b95102e7fe3d_models_py.html">&#xab;·prev</a>·&nbsp;·&nbsp;
64 ············<a·id="indexLink"·class="nav"·href="index.html">&Hat;·index</a>·&nbsp;·&nbsp;64 ············<a·id="indexLink"·class="nav"·href="index.html">&Hat;·index</a>·&nbsp;·&nbsp;
65 ············<a·id="nextFileLink"·class="nav"·href="z_d331b95102e7fe3d_processors_py.html">&#xbb;·next</a>65 ············<a·id="nextFileLink"·class="nav"·href="z_d331b95102e7fe3d_processors_py.html">&#xbb;·next</a>
66 ············&nbsp;·&nbsp;·&nbsp;66 ············&nbsp;·&nbsp;·&nbsp;
67 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,67 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,
68 ············created·at·2025-10-25·18:19·-120068 ············created·at·2026-11-29·02:43·+1400
69 ········</p>69 ········</p>
70 ········<aside·class="hidden">70 ········<aside·class="hidden">
71 ············<button·type="button"·class="button_next_chunk"·data-shortcut="j"></button>71 ············<button·type="button"·class="button_next_chunk"·data-shortcut="j"></button>
72 ············<button·type="button"·class="button_prev_chunk"·data-shortcut="k"></button>72 ············<button·type="button"·class="button_prev_chunk"·data-shortcut="k"></button>
73 ············<button·type="button"·class="button_top_of_page"·data-shortcut="0"></button>73 ············<button·type="button"·class="button_top_of_page"·data-shortcut="0"></button>
74 ············<button·type="button"·class="button_first_chunk"·data-shortcut="1"></button>74 ············<button·type="button"·class="button_first_chunk"·data-shortcut="1"></button>
75 ············<button·type="button"·class="button_prev_file"·data-shortcut="["></button>75 ············<button·type="button"·class="button_prev_file"·data-shortcut="["></button>
Offset 163, 13 lines modifiedOffset 163, 13 lines modified
163 ····<div·class="content">163 ····<div·class="content">
164 ········<p>164 ········<p>
165 ············<a·class="nav"·href="z_d331b95102e7fe3d_models_py.html">&#xab;·prev</a>·&nbsp;·&nbsp;165 ············<a·class="nav"·href="z_d331b95102e7fe3d_models_py.html">&#xab;·prev</a>·&nbsp;·&nbsp;
166 ············<a·class="nav"·href="index.html">&Hat;·index</a>·&nbsp;·&nbsp;166 ············<a·class="nav"·href="index.html">&Hat;·index</a>·&nbsp;·&nbsp;
167 ············<a·class="nav"·href="z_d331b95102e7fe3d_processors_py.html">&#xbb;·next</a>167 ············<a·class="nav"·href="z_d331b95102e7fe3d_processors_py.html">&#xbb;·next</a>
168 ············&nbsp;·&nbsp;·&nbsp;168 ············&nbsp;·&nbsp;·&nbsp;
169 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,169 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,
170 ············created·at·2025-10-25·18:19·-1200170 ············created·at·2026-11-29·02:43·+1400
171 ········</p>171 ········</p>
172 ····</div>172 ····</div>
173 </footer>173 </footer>
174 </body>174 </body>
175 </html>175 </html>
940 B
html2text {}
    
Offset 5, 16 lines modifiedOffset 5, 16 lines modified
5 j·k· ·next/prev·highlighted·chunk5 j·k· ·next/prev·highlighted·chunk
6 0· ·(zero)·top·of·page6 0· ·(zero)·top·of·page
7 1· ·(one)·first·highlighted·chunk7 1· ·(one)·first·highlighted·chunk
8 [·]· ·prev/next·file8 [·]· ·prev/next·file
9 u· ·up·to·the·index9 u· ·up·to·the·index
10 ?· ·show/hide·this·help10 ?· ·show/hide·this·help
11 *****·17·statements· ·0·run·17·missing·15·excluded·*****11 *****·17·statements· ·0·run·17·missing·15·excluded·*****
12 «_prev· · ·&Hat;_index· · ·»_next· · · ·coverage.py_v7.8.2,·created·at·2025-10-12 «_prev· · ·&Hat;_index· · ·»_next· · · ·coverage.py_v7.8.2,·created·at·2026-11-
13 25·18:19·-120013 29·02:43·+1400
14 1#·vim:·fileencoding=utf-8: 14 1#·vim:·fileencoding=utf-8: 
15 2''' 15 2''' 
16 16
17 4Format 17 4Format 
18 5--------------------- 18 5--------------------- 
19 19
20 7Sources: 20 7Sources: 
Offset 85, 9 lines modifiedOffset 85, 9 lines modified
85 72·else: 85 72·else: 
86 73·raise·exception·#·pragma:·no·cover 86 73·raise·exception·#·pragma:·no·cover 
87 74 87 74 
88 75·transactions·=·mt940.models.Transactions(processors,·tags) 88 75·transactions·=·mt940.models.Transactions(processors,·tags) 
89 76·transactions.parse(data) 89 76·transactions.parse(data) 
90 77 90 77 
91 78·return·transactions 91 78·return·transactions 
92 «_prev· · ·&Hat;_index· · ·»_next· · · ·coverage.py_v7.8.2,·created·at·2025-10-92 «_prev· · ·&Hat;_index· · ·»_next· · · ·coverage.py_v7.8.2,·created·at·2026-11-
93 25·18:19·-120093 29·02:43·+1400
2.73 KB
./usr/lib/python3/dist-packages/htmlcov/z_d331b95102e7fe3d_processors_py.html
    
Offset 61, 15 lines modifiedOffset 61, 15 lines modified
61 ········</h2>61 ········</h2>
62 ········<p·class="text">62 ········<p·class="text">
63 ············<a·id="prevFileLink"·class="nav"·href="z_d331b95102e7fe3d_parser_py.html">&#xab;·prev</a>·&nbsp;·&nbsp;63 ············<a·id="prevFileLink"·class="nav"·href="z_d331b95102e7fe3d_parser_py.html">&#xab;·prev</a>·&nbsp;·&nbsp;
64 ············<a·id="indexLink"·class="nav"·href="index.html">&Hat;·index</a>·&nbsp;·&nbsp;64 ············<a·id="indexLink"·class="nav"·href="index.html">&Hat;·index</a>·&nbsp;·&nbsp;
65 ············<a·id="nextFileLink"·class="nav"·href="z_d331b95102e7fe3d_tags_py.html">&#xbb;·next</a>65 ············<a·id="nextFileLink"·class="nav"·href="z_d331b95102e7fe3d_tags_py.html">&#xbb;·next</a>
66 ············&nbsp;·&nbsp;·&nbsp;66 ············&nbsp;·&nbsp;·&nbsp;
67 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,67 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,
68 ············created·at·2025-10-25·18:19·-120068 ············created·at·2026-11-29·02:43·+1400
69 ········</p>69 ········</p>
70 ········<aside·class="hidden">70 ········<aside·class="hidden">
71 ············<button·type="button"·class="button_next_chunk"·data-shortcut="j"></button>71 ············<button·type="button"·class="button_next_chunk"·data-shortcut="j"></button>
72 ············<button·type="button"·class="button_prev_chunk"·data-shortcut="k"></button>72 ············<button·type="button"·class="button_prev_chunk"·data-shortcut="k"></button>
73 ············<button·type="button"·class="button_top_of_page"·data-shortcut="0"></button>73 ············<button·type="button"·class="button_top_of_page"·data-shortcut="0"></button>
74 ············<button·type="button"·class="button_first_chunk"·data-shortcut="1"></button>74 ············<button·type="button"·class="button_first_chunk"·data-shortcut="1"></button>
75 ············<button·type="button"·class="button_prev_file"·data-shortcut="["></button>75 ············<button·type="button"·class="button_prev_file"·data-shortcut="["></button>
Offset 354, 13 lines modifiedOffset 354, 13 lines modified
354 ····<div·class="content">354 ····<div·class="content">
355 ········<p>355 ········<p>
356 ············<a·class="nav"·href="z_d331b95102e7fe3d_parser_py.html">&#xab;·prev</a>·&nbsp;·&nbsp;356 ············<a·class="nav"·href="z_d331b95102e7fe3d_parser_py.html">&#xab;·prev</a>·&nbsp;·&nbsp;
357 ············<a·class="nav"·href="index.html">&Hat;·index</a>·&nbsp;·&nbsp;357 ············<a·class="nav"·href="index.html">&Hat;·index</a>·&nbsp;·&nbsp;
358 ············<a·class="nav"·href="z_d331b95102e7fe3d_tags_py.html">&#xbb;·next</a>358 ············<a·class="nav"·href="z_d331b95102e7fe3d_tags_py.html">&#xbb;·next</a>
359 ············&nbsp;·&nbsp;·&nbsp;359 ············&nbsp;·&nbsp;·&nbsp;
360 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,360 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,
361 ············created·at·2025-10-25·18:19·-1200361 ············created·at·2026-11-29·02:43·+1400
362 ········</p>362 ········</p>
363 ····</div>363 ····</div>
364 </footer>364 </footer>
365 </body>365 </body>
366 </html>366 </html>
948 B
html2text {}
    
Offset 5, 16 lines modifiedOffset 5, 16 lines modified
5 j·k· ·next/prev·highlighted·chunk5 j·k· ·next/prev·highlighted·chunk
6 0· ·(zero)·top·of·page6 0· ·(zero)·top·of·page
7 1· ·(one)·first·highlighted·chunk7 1· ·(one)·first·highlighted·chunk
8 [·]· ·prev/next·file8 [·]· ·prev/next·file
9 u· ·up·to·the·index9 u· ·up·to·the·index
10 ?· ·show/hide·this·help10 ?· ·show/hide·this·help
11 *****·111·statements· ·0·run·111·missing·1·excluded·*****11 *****·111·statements· ·0·run·111·missing·1·excluded·*****
12 «_prev· · ·&Hat;_index· · ·»_next· · · ·coverage.py_v7.8.2,·created·at·2025-10-12 «_prev· · ·&Hat;_index· · ·»_next· · · ·coverage.py_v7.8.2,·created·at·2026-11-
13 25·18:19·-120013 29·02:43·+1400
14 1#·encoding=utf-8 14 1#·encoding=utf-8 
15 2import·re 15 2import·re 
16 3import·functools 16 3import·functools 
17 4import·calendar 17 4import·calendar 
18 5import·collections 18 5import·collections 
19 19
20 20
Offset 278, 9 lines modifiedOffset 278, 9 lines modified
278 263·for·key·in·keys: 278 263·for·key·in·keys: 
279 264·if·key·in·transactions.data: 279 264·if·key·in·transactions.data: 
280 265·result[key]·=·transactions.data[key] 280 265·result[key]·=·transactions.data[key] 
281 266 281 266 
282 267·return·result 282 267·return·result 
283 268 283 268 
284 269·return·_transactions_to_transaction 284 269·return·_transactions_to_transaction 
285 «_prev· · ·&Hat;_index· · ·»_next· · · ·coverage.py_v7.8.2,·created·at·2025-10-285 «_prev· · ·&Hat;_index· · ·»_next· · · ·coverage.py_v7.8.2,·created·at·2026-11-
286 25·18:19·-1200286 29·02:43·+1400
2.87 KB
./usr/lib/python3/dist-packages/htmlcov/z_d331b95102e7fe3d_tags_py.html
    
Offset 61, 15 lines modifiedOffset 61, 15 lines modified
61 ········</h2>61 ········</h2>
62 ········<p·class="text">62 ········<p·class="text">
63 ············<a·id="prevFileLink"·class="nav"·href="z_d331b95102e7fe3d_processors_py.html">&#xab;·prev</a>·&nbsp;·&nbsp;63 ············<a·id="prevFileLink"·class="nav"·href="z_d331b95102e7fe3d_processors_py.html">&#xab;·prev</a>·&nbsp;·&nbsp;
64 ············<a·id="indexLink"·class="nav"·href="index.html">&Hat;·index</a>·&nbsp;·&nbsp;64 ············<a·id="indexLink"·class="nav"·href="index.html">&Hat;·index</a>·&nbsp;·&nbsp;
65 ············<a·id="nextFileLink"·class="nav"·href="z_d331b95102e7fe3d_utils_py.html">&#xbb;·next</a>65 ············<a·id="nextFileLink"·class="nav"·href="z_d331b95102e7fe3d_utils_py.html">&#xbb;·next</a>
66 ············&nbsp;·&nbsp;·&nbsp;66 ············&nbsp;·&nbsp;·&nbsp;
67 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,67 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,
68 ············created·at·2025-10-25·18:19·-120068 ············created·at·2026-11-29·02:43·+1400
69 ········</p>69 ········</p>
70 ········<aside·class="hidden">70 ········<aside·class="hidden">
71 ············<button·type="button"·class="button_next_chunk"·data-shortcut="j"></button>71 ············<button·type="button"·class="button_next_chunk"·data-shortcut="j"></button>
72 ············<button·type="button"·class="button_prev_chunk"·data-shortcut="k"></button>72 ············<button·type="button"·class="button_prev_chunk"·data-shortcut="k"></button>
73 ············<button·type="button"·class="button_top_of_page"·data-shortcut="0"></button>73 ············<button·type="button"·class="button_top_of_page"·data-shortcut="0"></button>
74 ············<button·type="button"·class="button_first_chunk"·data-shortcut="1"></button>74 ············<button·type="button"·class="button_first_chunk"·data-shortcut="1"></button>
75 ············<button·type="button"·class="button_prev_file"·data-shortcut="["></button>75 ············<button·type="button"·class="button_prev_file"·data-shortcut="["></button>
Offset 642, 13 lines modifiedOffset 642, 13 lines modified
642 ····<div·class="content">642 ····<div·class="content">
643 ········<p>643 ········<p>
644 ············<a·class="nav"·href="z_d331b95102e7fe3d_processors_py.html">&#xab;·prev</a>·&nbsp;·&nbsp;644 ············<a·class="nav"·href="z_d331b95102e7fe3d_processors_py.html">&#xab;·prev</a>·&nbsp;·&nbsp;
645 ············<a·class="nav"·href="index.html">&Hat;·index</a>·&nbsp;·&nbsp;645 ············<a·class="nav"·href="index.html">&Hat;·index</a>·&nbsp;·&nbsp;
646 ············<a·class="nav"·href="z_d331b95102e7fe3d_utils_py.html">&#xbb;·next</a>646 ············<a·class="nav"·href="z_d331b95102e7fe3d_utils_py.html">&#xbb;·next</a>
647 ············&nbsp;·&nbsp;·&nbsp;647 ············&nbsp;·&nbsp;·&nbsp;
648 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,648 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,
649 ············created·at·2025-10-25·18:19·-1200649 ············created·at·2026-11-29·02:43·+1400
650 ········</p>650 ········</p>
651 ····</div>651 ····</div>
652 </footer>652 </footer>
653 </body>653 </body>
654 </html>654 </html>
1.07 KB
html2text {}
    
Offset 5, 16 lines modifiedOffset 5, 16 lines modified
5 j·k· ·next/prev·highlighted·chunk5 j·k· ·next/prev·highlighted·chunk
6 0· ·(zero)·top·of·page6 0· ·(zero)·top·of·page
7 1· ·(one)·first·highlighted·chunk7 1· ·(one)·first·highlighted·chunk
8 [·]· ·prev/next·file8 [·]· ·prev/next·file
9 u· ·up·to·the·index9 u· ·up·to·the·index
10 ?· ·show/hide·this·help10 ?· ·show/hide·this·help
11 *****·166·statements· ·0·run·166·missing·20·excluded·*****11 *****·166·statements· ·0·run·166·missing·20·excluded·*****
12 «_prev· · ·&Hat;_index· · ·»_next· · · ·coverage.py_v7.8.2,·created·at·2025-10-12 «_prev· · ·&Hat;_index· · ·»_next· · · ·coverage.py_v7.8.2,·created·at·2026-11-
13 25·18:19·-120013 29·02:43·+1400
14 1#·vim:·fileencoding=utf-8: 14 1#·vim:·fileencoding=utf-8: 
15 2''' 15 2''' 
16 16
17 4The·MT940·format·is·a·standard·for·bank·account·statements.·It·is·used·by 17 4The·MT940·format·is·a·standard·for·bank·account·statements.·It·is·used·by 
18 5many·banks·in·Europe·and·is·based·on·the·SWIFT·MT940·format. 18 5many·banks·in·Europe·and·is·based·on·the·SWIFT·MT940·format. 
19 19
20 7The·MT940·tags·are: 20 7The·MT940·tags·are: 
Offset 582, 9 lines modifiedOffset 582, 9 lines modified
582 551·NON_SWIFT·=·NonSwift() 582 551·NON_SWIFT·=·NonSwift() 
583 552·SUM_ENTRIES·=·SumEntries() 583 552·SUM_ENTRIES·=·SumEntries() 
584 553·SUM_DEBIT_ENTRIES·=·SumDebitEntries() 584 553·SUM_DEBIT_ENTRIES·=·SumDebitEntries() 
585 554·SUM_CREDIT_ENTRIES·=·SumCreditEntries() 585 554·SUM_CREDIT_ENTRIES·=·SumCreditEntries() 
586 555 586 555 
587 556 587 556 
588 557TAG_BY_ID·=·{t.value.id:·t.value·for·t·in·Tags} 588 557TAG_BY_ID·=·{t.value.id:·t.value·for·t·in·Tags} 
589 «_prev· · ·&Hat;_index· · ·»_next· · · ·coverage.py_v7.8.2,·created·at·2025-10-589 «_prev· · ·&Hat;_index· · ·»_next· · · ·coverage.py_v7.8.2,·created·at·2026-11-
590 25·18:19·-1200590 29·02:43·+1400
2.61 KB
./usr/lib/python3/dist-packages/htmlcov/z_d331b95102e7fe3d_utils_py.html
    
Offset 61, 15 lines modifiedOffset 61, 15 lines modified
61 ········</h2>61 ········</h2>
62 ········<p·class="text">62 ········<p·class="text">
63 ············<a·id="prevFileLink"·class="nav"·href="z_d331b95102e7fe3d_tags_py.html">&#xab;·prev</a>·&nbsp;·&nbsp;63 ············<a·id="prevFileLink"·class="nav"·href="z_d331b95102e7fe3d_tags_py.html">&#xab;·prev</a>·&nbsp;·&nbsp;
64 ············<a·id="indexLink"·class="nav"·href="index.html">&Hat;·index</a>·&nbsp;·&nbsp;64 ············<a·id="indexLink"·class="nav"·href="index.html">&Hat;·index</a>·&nbsp;·&nbsp;
65 ············<a·id="nextFileLink"·class="nav"·href="index.html">&#xbb;·next</a>65 ············<a·id="nextFileLink"·class="nav"·href="index.html">&#xbb;·next</a>
66 ············&nbsp;·&nbsp;·&nbsp;66 ············&nbsp;·&nbsp;·&nbsp;
67 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,67 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,
68 ············created·at·2025-10-25·18:19·-120068 ············created·at·2026-11-29·02:43·+1400
69 ········</p>69 ········</p>
70 ········<aside·class="hidden">70 ········<aside·class="hidden">
71 ············<button·type="button"·class="button_next_chunk"·data-shortcut="j"></button>71 ············<button·type="button"·class="button_next_chunk"·data-shortcut="j"></button>
72 ············<button·type="button"·class="button_prev_chunk"·data-shortcut="k"></button>72 ············<button·type="button"·class="button_prev_chunk"·data-shortcut="k"></button>
73 ············<button·type="button"·class="button_top_of_page"·data-shortcut="0"></button>73 ············<button·type="button"·class="button_top_of_page"·data-shortcut="0"></button>
74 ············<button·type="button"·class="button_first_chunk"·data-shortcut="1"></button>74 ············<button·type="button"·class="button_first_chunk"·data-shortcut="1"></button>
75 ············<button·type="button"·class="button_prev_file"·data-shortcut="["></button>75 ············<button·type="button"·class="button_prev_file"·data-shortcut="["></button>
Offset 128, 13 lines modifiedOffset 128, 13 lines modified
128 ····<div·class="content">128 ····<div·class="content">
129 ········<p>129 ········<p>
130 ············<a·class="nav"·href="z_d331b95102e7fe3d_tags_py.html">&#xab;·prev</a>·&nbsp;·&nbsp;130 ············<a·class="nav"·href="z_d331b95102e7fe3d_tags_py.html">&#xab;·prev</a>·&nbsp;·&nbsp;
131 ············<a·class="nav"·href="index.html">&Hat;·index</a>·&nbsp;·&nbsp;131 ············<a·class="nav"·href="index.html">&Hat;·index</a>·&nbsp;·&nbsp;
132 ············<a·class="nav"·href="index.html">&#xbb;·next</a>132 ············<a·class="nav"·href="index.html">&#xbb;·next</a>
133 ············&nbsp;·&nbsp;·&nbsp;133 ············&nbsp;·&nbsp;·&nbsp;
134 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,134 ············<a·class="nav"·href="https://coverage.readthedocs.io/en/7.8.2">coverage.py·v7.8.2</a>,
135 ············created·at·2025-10-25·18:19·-1200135 ············created·at·2026-11-29·02:43·+1400
136 ········</p>136 ········</p>
137 ····</div>137 ····</div>
138 </footer>138 </footer>
139 </body>139 </body>
140 </html>140 </html>
885 B
html2text {}
    
Offset 5, 16 lines modifiedOffset 5, 16 lines modified
5 j·k· ·next/prev·highlighted·chunk5 j·k· ·next/prev·highlighted·chunk
6 0· ·(zero)·top·of·page6 0· ·(zero)·top·of·page
7 1· ·(one)·first·highlighted·chunk7 1· ·(one)·first·highlighted·chunk
8 [·]· ·prev/next·file8 [·]· ·prev/next·file
9 u· ·up·to·the·index9 u· ·up·to·the·index
10 ?· ·show/hide·this·help10 ?· ·show/hide·this·help
11 *****·19·statements· ·0·run·19·missing·0·excluded·*****11 *****·19·statements· ·0·run·19·missing·0·excluded·*****
12 «_prev· · ·&Hat;_index· · ·»_next· · · ·coverage.py_v7.8.2,·created·at·2025-10-12 «_prev· · ·&Hat;_index· · ·»_next· · · ·coverage.py_v7.8.2,·created·at·2026-11-
13 25·18:19·-120013 29·02:43·+1400
14 1import·enum 14 1import·enum 
15 15
16 16
17 4def·coalesce(*args): 17 4def·coalesce(*args): 
18 5·''' 18 5·''' 
19 6·Return·the·first·non-None·argument 19 6·Return·the·first·non-None·argument 
20 20
Offset 50, 9 lines modifiedOffset 50, 9 lines modified
50 37 50 37 
51 38·if·strip·&·Strip.LEFT: 51 38·if·strip·&·Strip.LEFT: 
52 39·line·=·line.lstrip() 52 39·line·=·line.lstrip() 
53 40 53 40 
54 41·lines.append(line) 54 41·lines.append(line) 
55 42 55 42 
56 43·return·''.join(lines) 56 43·return·''.join(lines) 
57 «_prev· · ·&Hat;_index· · ·»_next· · · ·coverage.py_v7.8.2,·created·at·2025-10-57 «_prev· · ·&Hat;_index· · ·»_next· · · ·coverage.py_v7.8.2,·created·at·2026-11-
58 25·18:19·-120058 29·02:43·+1400