|
5 | 5 | <meta name="color-scheme" content="light dark"><link rel="index" title="Index" href="../../../genindex.html" /><link rel="search" title="Search" href="../../../search.html" /> |
6 | 6 |
|
7 | 7 | <meta name="generator" content="sphinx-5.2.2, furo 2022.09.15"/> |
8 | | - <title>bookmarks.common.core - Bookmarks 0.7.2 documentation</title> |
| 8 | + <title>bookmarks.common.core - Bookmarks 0.7.3 documentation</title> |
9 | 9 | <link rel="stylesheet" type="text/css" href="../../../_static/pygments.css" /> |
10 | 10 | <link rel="stylesheet" type="text/css" href="../../../_static/styles/furo.css?digest=9ec31e2665bf879c1d47d93a8ec4893870ee1e45" /> |
11 | 11 | <link rel="stylesheet" type="text/css" href="../../../_static/design-style.4045f2051d55cab465a707391d5b2007.min.css" /> |
|
134 | 134 | </label> |
135 | 135 | </div> |
136 | 136 | <div class="header-center"> |
137 | | - <a href="../../../index.html"><div class="brand">Bookmarks 0.7.2 documentation</div></a> |
| 137 | + <a href="../../../index.html"><div class="brand">Bookmarks 0.7.3 documentation</div></a> |
138 | 138 | </div> |
139 | 139 | <div class="header-right"> |
140 | 140 | <div class="theme-toggle-container theme-toggle-header"> |
|
161 | 161 | <img class="sidebar-logo only-dark" src="../../../_static/icon_bw.png" alt="Dark Logo"/> |
162 | 162 | </div> |
163 | 163 |
|
164 | | - <span class="sidebar-brand-text">Bookmarks 0.7.2 documentation</span> |
| 164 | + <span class="sidebar-brand-text">Bookmarks 0.7.3 documentation</span> |
165 | 165 |
|
166 | 166 | </a><form class="sidebar-search-container" method="get" action="../../../search.html" role="search"> |
167 | 167 | <input class="sidebar-search" placeholder=Search name="q" aria-label="Search"> |
@@ -795,7 +795,6 @@ <h1>Source code for bookmarks.common.core</h1><div class="highlight"><pre> |
795 | 795 | <span class="sd"> """</span> |
796 | 796 | <span class="n">l</span> <span class="o">=</span> <span class="sa">f</span><span class="s1">'</span><span class="si">{</span><span class="n">path</span><span class="si">}</span><span class="s1">/</span><span class="si">{</span><span class="n">common</span><span class="o">.</span><span class="n">link_file</span><span class="si">}</span><span class="s1">'</span> |
797 | 797 | <span class="k">if</span> <span class="ow">not</span> <span class="n">QtCore</span><span class="o">.</span><span class="n">QFileInfo</span><span class="p">(</span><span class="n">l</span><span class="p">)</span><span class="o">.</span><span class="n">exists</span><span class="p">():</span> |
798 | | - <span class="nb">print</span><span class="p">(</span><span class="n">l</span><span class="p">)</span> |
799 | 798 | <span class="k">return</span> <span class="p">[]</span> |
800 | 799 |
|
801 | 800 | <span class="n">s</span> <span class="o">=</span> <span class="n">QtCore</span><span class="o">.</span><span class="n">QSettings</span><span class="p">(</span><span class="n">l</span><span class="p">,</span> <span class="n">QtCore</span><span class="o">.</span><span class="n">QSettings</span><span class="o">.</span><span class="n">IniFormat</span><span class="p">)</span> |
@@ -866,6 +865,54 @@ <h1>Source code for bookmarks.common.core</h1><div class="highlight"><pre> |
866 | 865 | <span class="bp">self</span><span class="o">.</span><span class="n">_data_type</span> <span class="o">=</span> <span class="n">v</span></div> |
867 | 866 |
|
868 | 867 |
|
| 868 | +<span class="kn">import</span> <span class="nn">sys</span> |
| 869 | + |
| 870 | + |
| 871 | +<span class="c1"># Custom objects know their class.</span> |
| 872 | +<span class="c1"># Function objects seem to know way too much, including modules.</span> |
| 873 | +<span class="c1"># Exclude modules as well.</span> |
| 874 | + |
| 875 | + |
| 876 | +<div class="viewcode-block" id="byte_to_pretty_string"><a class="viewcode-back" href="../../../modules/common/core.html#bookmarks.common.core.byte_to_pretty_string">[docs]</a><span class="k">def</span> <span class="nf">byte_to_pretty_string</span><span class="p">(</span><span class="n">num</span><span class="p">,</span> <span class="n">suffix</span><span class="o">=</span><span class="s1">'B'</span><span class="p">):</span> |
| 877 | + <span class="sd">"""Converts a numeric byte value to a human-readable string.</span> |
| 878 | + |
| 879 | +<span class="sd"> Args:</span> |
| 880 | +<span class="sd"> num (int): The number of bytes.</span> |
| 881 | +<span class="sd"> suffix (str): A custom suffix.</span> |
| 882 | + |
| 883 | +<span class="sd"> Returns:</span> |
| 884 | +<span class="sd"> str: Human readable byte value.</span> |
| 885 | + |
| 886 | +<span class="sd"> """</span> |
| 887 | + <span class="k">for</span> <span class="n">unit</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">''</span><span class="p">,</span> <span class="s1">'K'</span><span class="p">,</span> <span class="s1">'M'</span><span class="p">,</span> <span class="s1">'G'</span><span class="p">,</span> <span class="s1">'T'</span><span class="p">,</span> <span class="s1">'P'</span><span class="p">,</span> <span class="s1">'E'</span><span class="p">,</span> <span class="s1">'Z'</span><span class="p">]:</span> |
| 888 | + <span class="k">if</span> <span class="nb">abs</span><span class="p">(</span><span class="n">num</span><span class="p">)</span> <span class="o"><</span> <span class="mf">1024.0</span><span class="p">:</span> |
| 889 | + <span class="k">return</span> <span class="sa">u</span><span class="s2">"</span><span class="si">%3.1f%s%s</span><span class="s2">"</span> <span class="o">%</span> <span class="p">(</span><span class="n">num</span><span class="p">,</span> <span class="n">unit</span><span class="p">,</span> <span class="n">suffix</span><span class="p">)</span> |
| 890 | + <span class="n">num</span> <span class="o">/=</span> <span class="mf">1024.0</span> |
| 891 | + <span class="k">return</span> <span class="sa">u</span><span class="s2">"</span><span class="si">%.1f%s%s</span><span class="s2">"</span> <span class="o">%</span> <span class="p">(</span><span class="n">num</span><span class="p">,</span> <span class="s1">'Yi'</span><span class="p">,</span> <span class="n">suffix</span><span class="p">)</span></div> |
| 892 | + |
| 893 | + |
| 894 | +<div class="viewcode-block" id="get_py_obj_size"><a class="viewcode-back" href="../../../modules/common/core.html#bookmarks.common.core.get_py_obj_size">[docs]</a><span class="k">def</span> <span class="nf">get_py_obj_size</span><span class="p">(</span><span class="n">obj</span><span class="p">):</span> |
| 895 | + <span class="sd">"""Sum size of object & members.</span> |
| 896 | + |
| 897 | +<span class="sd"> """</span> |
| 898 | + <span class="kn">from</span> <span class="nn">gc</span> <span class="kn">import</span> <span class="n">get_referents</span> |
| 899 | + <span class="kn">from</span> <span class="nn">types</span> <span class="kn">import</span> <span class="n">ModuleType</span><span class="p">,</span> <span class="n">FunctionType</span> |
| 900 | + |
| 901 | + <span class="n">exclude</span> <span class="o">=</span> <span class="p">(</span><span class="nb">type</span><span class="p">,</span> <span class="n">ModuleType</span><span class="p">,</span> <span class="n">FunctionType</span><span class="p">)</span> |
| 902 | + <span class="n">seen_ids</span> <span class="o">=</span> <span class="nb">set</span><span class="p">()</span> |
| 903 | + <span class="n">size</span> <span class="o">=</span> <span class="mi">0</span> |
| 904 | + <span class="n">objects</span> <span class="o">=</span> <span class="p">[</span><span class="n">obj</span><span class="p">]</span> |
| 905 | + <span class="k">while</span> <span class="n">objects</span><span class="p">:</span> |
| 906 | + <span class="n">need_referents</span> <span class="o">=</span> <span class="p">[]</span> |
| 907 | + <span class="k">for</span> <span class="n">obj</span> <span class="ow">in</span> <span class="n">objects</span><span class="p">:</span> |
| 908 | + <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span> <span class="n">exclude</span><span class="p">)</span> <span class="ow">and</span> <span class="nb">id</span><span class="p">(</span><span class="n">obj</span><span class="p">)</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">seen_ids</span><span class="p">:</span> |
| 909 | + <span class="n">seen_ids</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="nb">id</span><span class="p">(</span><span class="n">obj</span><span class="p">))</span> |
| 910 | + <span class="n">size</span> <span class="o">+=</span> <span class="n">sys</span><span class="o">.</span><span class="n">getsizeof</span><span class="p">(</span><span class="n">obj</span><span class="p">)</span> |
| 911 | + <span class="n">need_referents</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">obj</span><span class="p">)</span> |
| 912 | + <span class="n">objects</span> <span class="o">=</span> <span class="n">get_referents</span><span class="p">(</span><span class="o">*</span><span class="n">need_referents</span><span class="p">)</span> |
| 913 | + <span class="k">return</span> <span class="n">size</span></div> |
| 914 | + |
| 915 | + |
869 | 916 | <div class="viewcode-block" id="Timer"><a class="viewcode-back" href="../../../modules/common/core.html#bookmarks.common.core.Timer">[docs]</a><span class="k">class</span> <span class="nc">Timer</span><span class="p">(</span><span class="n">QtCore</span><span class="o">.</span><span class="n">QTimer</span><span class="p">):</span> |
870 | 917 | <span class="sd">"""A custom QTimer class used across the app.</span> |
871 | 918 |
|
|
0 commit comments