614 lines
48 KiB
HTML
614 lines
48 KiB
HTML
<!DOCTYPE html>
|
||
<html class="writer-html5" lang="en" data-content_root="./">
|
||
<head>
|
||
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||
<title>Inkycal — inkycal 2.0.3 documentation</title>
|
||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=80d5e7a1" />
|
||
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=19f00094" />
|
||
|
||
|
||
<!--[if lt IE 9]>
|
||
<script src="_static/js/html5shiv.min.js"></script>
|
||
<![endif]-->
|
||
|
||
<script src="_static/jquery.js?v=5d32c60e"></script>
|
||
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||
<script src="_static/documentation_options.js?v=664ffad9"></script>
|
||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||
<script src="_static/js/theme.js"></script>
|
||
<link rel="author" title="About these documents" href="about.html" />
|
||
<link rel="index" title="Index" href="genindex.html" />
|
||
<link rel="search" title="Search" href="search.html" />
|
||
<link rel="next" title="About Inkycal" href="about.html" />
|
||
<link rel="prev" title="Inkycal documentation" href="index.html" />
|
||
</head>
|
||
|
||
<body class="wy-body-for-nav">
|
||
<div class="wy-grid-for-nav">
|
||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||
<div class="wy-side-scroll">
|
||
<div class="wy-side-nav-search" >
|
||
|
||
|
||
|
||
<a href="index.html" class="icon icon-home">
|
||
inkycal
|
||
</a>
|
||
<div role="search">
|
||
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||
<input type="hidden" name="check_keywords" value="yes" />
|
||
<input type="hidden" name="area" value="default" />
|
||
</form>
|
||
</div>
|
||
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||
<p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
|
||
<ul class="current">
|
||
<li class="toctree-l1 current"><a class="current reference internal" href="#">Inkycal</a><ul>
|
||
<li class="toctree-l2"><a class="reference internal" href="#inkycal.main.Inkycal"><code class="docutils literal notranslate"><span class="pre">Inkycal</span></code></a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="#inkycal.main.Inkycal.calibrate"><code class="docutils literal notranslate"><span class="pre">Inkycal.calibrate()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="#inkycal.main.Inkycal.countdown"><code class="docutils literal notranslate"><span class="pre">Inkycal.countdown()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="#inkycal.main.Inkycal.dry_run"><code class="docutils literal notranslate"><span class="pre">Inkycal.dry_run()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="#inkycal.main.Inkycal.process_module"><code class="docutils literal notranslate"><span class="pre">Inkycal.process_module()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="#inkycal.main.Inkycal.run"><code class="docutils literal notranslate"><span class="pre">Inkycal.run()</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l1"><a class="reference internal" href="#module-inkycal.display.Display">Display</a></li>
|
||
<li class="toctree-l1"><a class="reference internal" href="#module-inkycal.custom.functions">Custom functions</a><ul>
|
||
<li class="toctree-l2"><a class="reference internal" href="#inkycal.custom.functions.auto_fontsize"><code class="docutils literal notranslate"><span class="pre">auto_fontsize()</span></code></a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="#inkycal.custom.functions.draw_border"><code class="docutils literal notranslate"><span class="pre">draw_border()</span></code></a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="#inkycal.custom.functions.get_fonts"><code class="docutils literal notranslate"><span class="pre">get_fonts()</span></code></a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="#inkycal.custom.functions.get_system_tz"><code class="docutils literal notranslate"><span class="pre">get_system_tz()</span></code></a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="#inkycal.custom.functions.internet_available"><code class="docutils literal notranslate"><span class="pre">internet_available()</span></code></a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="#inkycal.custom.functions.text_wrap"><code class="docutils literal notranslate"><span class="pre">text_wrap()</span></code></a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="#inkycal.custom.functions.write"><code class="docutils literal notranslate"><span class="pre">write()</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l1"><a class="reference internal" href="#module-inkycal.modules.ical_parser">Helper classes</a><ul>
|
||
<li class="toctree-l2"><a class="reference internal" href="#inkycal.modules.ical_parser.iCalendar"><code class="docutils literal notranslate"><span class="pre">iCalendar</span></code></a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="#inkycal.modules.ical_parser.iCalendar.all_day"><code class="docutils literal notranslate"><span class="pre">iCalendar.all_day()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="#inkycal.modules.ical_parser.iCalendar.clear_events"><code class="docutils literal notranslate"><span class="pre">iCalendar.clear_events()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="#inkycal.modules.ical_parser.iCalendar.get_events"><code class="docutils literal notranslate"><span class="pre">iCalendar.get_events()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="#inkycal.modules.ical_parser.iCalendar.get_system_tz"><code class="docutils literal notranslate"><span class="pre">iCalendar.get_system_tz()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="#inkycal.modules.ical_parser.iCalendar.load_from_file"><code class="docutils literal notranslate"><span class="pre">iCalendar.load_from_file()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="#inkycal.modules.ical_parser.iCalendar.load_url"><code class="docutils literal notranslate"><span class="pre">iCalendar.load_url()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="#inkycal.modules.ical_parser.iCalendar.show_events"><code class="docutils literal notranslate"><span class="pre">iCalendar.show_events()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="#inkycal.modules.ical_parser.iCalendar.sort"><code class="docutils literal notranslate"><span class="pre">iCalendar.sort()</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="#inkycal.modules.inky_image.Inkyimage"><code class="docutils literal notranslate"><span class="pre">Inkyimage</span></code></a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="#inkycal.modules.inky_image.Inkyimage.autoflip"><code class="docutils literal notranslate"><span class="pre">Inkyimage.autoflip()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="#inkycal.modules.inky_image.Inkyimage.clear"><code class="docutils literal notranslate"><span class="pre">Inkyimage.clear()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="#inkycal.modules.inky_image.Inkyimage.flip"><code class="docutils literal notranslate"><span class="pre">Inkyimage.flip()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="#inkycal.modules.inky_image.Inkyimage.load"><code class="docutils literal notranslate"><span class="pre">Inkyimage.load()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="#inkycal.modules.inky_image.Inkyimage.merge"><code class="docutils literal notranslate"><span class="pre">Inkyimage.merge()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="#inkycal.modules.inky_image.Inkyimage.preview"><code class="docutils literal notranslate"><span class="pre">Inkyimage.preview()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="#inkycal.modules.inky_image.Inkyimage.remove_alpha"><code class="docutils literal notranslate"><span class="pre">Inkyimage.remove_alpha()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="#inkycal.modules.inky_image.Inkyimage.resize"><code class="docutils literal notranslate"><span class="pre">Inkyimage.resize()</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="#inkycal.modules.inky_image.image_to_palette"><code class="docutils literal notranslate"><span class="pre">image_to_palette()</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l1"><a class="reference internal" href="about.html">About Inkycal</a></li>
|
||
<li class="toctree-l1"><a class="reference internal" href="quickstart.html">Quickstart</a></li>
|
||
<li class="toctree-l1"><a class="reference internal" href="dev_doc.html">Developer documentation</a></li>
|
||
</ul>
|
||
|
||
</div>
|
||
</div>
|
||
</nav>
|
||
|
||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||
<a href="index.html">inkycal</a>
|
||
</nav>
|
||
|
||
<div class="wy-nav-content">
|
||
<div class="rst-content">
|
||
<div role="navigation" aria-label="Page navigation">
|
||
<ul class="wy-breadcrumbs">
|
||
<li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li>
|
||
<li class="breadcrumb-item active">Inkycal</li>
|
||
<li class="wy-breadcrumbs-aside">
|
||
<a href="_sources/inkycal.rst.txt" rel="nofollow"> View page source</a>
|
||
</li>
|
||
</ul>
|
||
<hr/>
|
||
</div>
|
||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||
<div itemprop="articleBody">
|
||
|
||
<img alt="logo" class="align-center" src="https://raw.githubusercontent.com/aceisace/Inkycal/assets/Repo/logo.png" />
|
||
<section id="module-inkycal.main">
|
||
<span id="inkycal"></span><h1>Inkycal<a class="headerlink" href="#module-inkycal.main" title="Link to this heading"></a></h1>
|
||
<p>Main class for inkycal Project
|
||
Copyright by aceinnolab</p>
|
||
<dl class="py class">
|
||
<dt class="sig sig-object py" id="inkycal.main.Inkycal">
|
||
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">inkycal.main.</span></span><span class="sig-name descname"><span class="pre">Inkycal</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">settings_path</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">render</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">use_pi_sugar</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#inkycal.main.Inkycal" title="Link to this definition"></a></dt>
|
||
<dd><p>Inkycal main class</p>
|
||
<p>Main class of Inkycal, test and run the main Inkycal program.</p>
|
||
<dl class="simple">
|
||
<dt>Args:</dt><dd><ul class="simple">
|
||
<li><p>settings_path = str -> the full path to your settings.json file
|
||
if no path is given, tries looking for settings file in /boot folder.</p></li>
|
||
<li><p>render = bool (True/False) -> show the image on the epaper display?</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt>Attributes:</dt><dd><ul class="simple">
|
||
<li><p>optimize = True/False. Reduce number of colours on the generated image
|
||
to improve rendering on E-Papers. Set this to False for 9.7” E-Paper.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="inkycal.main.Inkycal.calibrate">
|
||
<span class="sig-name descname"><span class="pre">calibrate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cycles</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">3</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#inkycal.main.Inkycal.calibrate" title="Link to this definition"></a></dt>
|
||
<dd><p>Calibrate the E-Paper display</p>
|
||
<p>Uses the Display class to calibrate the display with the default of 3
|
||
cycles. After a refresh cycle, a new image is generated and shown.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="inkycal.main.Inkycal.countdown">
|
||
<span class="sig-name descname"><span class="pre">countdown</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">interval_mins</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">int</span></span></span><a class="headerlink" href="#inkycal.main.Inkycal.countdown" title="Link to this definition"></a></dt>
|
||
<dd><p>Returns the remaining time in seconds until the next display update based on the interval.</p>
|
||
<dl class="simple">
|
||
<dt>Args:</dt><dd><dl class="simple">
|
||
<dt>interval_mins (int): The interval in minutes for the update. If none is given, the value</dt><dd><p>from the settings file is used.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd>
|
||
<dt>Returns:</dt><dd><p>int: The remaining time in seconds until the next update.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="inkycal.main.Inkycal.dry_run">
|
||
<span class="sig-name descname"><span class="pre">dry_run</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#inkycal.main.Inkycal.dry_run" title="Link to this definition"></a></dt>
|
||
<dd><p>Tests if Inkycal can run without issues.</p>
|
||
<p>Attempts to import module names from settings file. Loads the config
|
||
for each module and initializes the module. Tries to run the module and
|
||
checks if the images could be generated correctly.</p>
|
||
<p>Generated images can be found in the /images folder of Inkycal.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="inkycal.main.Inkycal.process_module">
|
||
<span class="sig-name descname"><span class="pre">process_module</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">number</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#inkycal.main.Inkycal.process_module" title="Link to this definition"></a></dt>
|
||
<dd><p>Process individual module to generate images and handle exceptions.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="inkycal.main.Inkycal.run">
|
||
<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">run</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">run_once</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#inkycal.main.Inkycal.run" title="Link to this definition"></a></dt>
|
||
<dd><p>Runs main program in nonstop mode or a single iteration based on the run_once flag.</p>
|
||
<dl class="simple">
|
||
<dt>Args:</dt><dd><dl class="simple">
|
||
<dt>run_once (bool): If True, runs the updating process once and stops. If False,</dt><dd><p>runs indefinitely.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd>
|
||
</dl>
|
||
<p>Uses an infinity loop to run Inkycal nonstop or a single time based on run_once.
|
||
Inkycal generates the image from all modules, assembles them in one image,
|
||
refreshes the E-Paper and then sleeps until the next scheduled update or exits.</p>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
</section>
|
||
<section id="module-inkycal.display.Display">
|
||
<span id="display"></span><h1>Display<a class="headerlink" href="#module-inkycal.display.Display" title="Link to this heading"></a></h1>
|
||
<p>Display class for inkycal</p>
|
||
<p>Creates an instance of the driver for the selected E-Paper model and allows
|
||
rendering images and calibrating the E-Paper display</p>
|
||
<dl class="simple">
|
||
<dt>Args:</dt><dd><ul class="simple">
|
||
<li><p>epaper_model: The name of your E-Paper model.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</section>
|
||
<section id="module-inkycal.custom.functions">
|
||
<span id="custom-functions"></span><h1>Custom functions<a class="headerlink" href="#module-inkycal.custom.functions" title="Link to this heading"></a></h1>
|
||
<p>Inkycal custom-functions for ease-of-use</p>
|
||
<p>Copyright by aceinnolab</p>
|
||
<dl class="py function">
|
||
<dt class="sig sig-object py" id="inkycal.custom.functions.auto_fontsize">
|
||
<span class="sig-prename descclassname"><span class="pre">inkycal.custom.functions.</span></span><span class="sig-name descname"><span class="pre">auto_fontsize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">font</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_height</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#inkycal.custom.functions.auto_fontsize" title="Link to this definition"></a></dt>
|
||
<dd><p>Scales a given font to 80% of max_height.</p>
|
||
<p>Gets the height of a font and scales it until 80% of the max_height
|
||
is filled.</p>
|
||
<dl class="simple">
|
||
<dt>Args:</dt><dd><ul class="simple">
|
||
<li><p>font: A PIL Font object.</p></li>
|
||
<li><p>max_height: An integer representing the height to adjust the font to
|
||
which the given font should be scaled to.</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt>Returns:</dt><dd><p>A PIL font object with modified height.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py function">
|
||
<dt class="sig sig-object py" id="inkycal.custom.functions.draw_border">
|
||
<span class="sig-prename descclassname"><span class="pre">inkycal.custom.functions.</span></span><span class="sig-name descname"><span class="pre">draw_border</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">image:</span> <span class="pre"><module</span> <span class="pre">'PIL.Image'</span> <span class="pre">from</span> <span class="pre">'/home/runner/work/Inkycal/Inkycal/venv/lib/python3.11/site-packages/PIL/Image.py'>,</span> <span class="pre">xy:</span> <span class="pre">~typing.Tuple[int,</span> <span class="pre">int],</span> <span class="pre">size:</span> <span class="pre">~typing.Tuple[int,</span> <span class="pre">int],</span> <span class="pre">radius:</span> <span class="pre">int</span> <span class="pre">=</span> <span class="pre">5,</span> <span class="pre">thickness:</span> <span class="pre">int</span> <span class="pre">=</span> <span class="pre">1,</span> <span class="pre">shrinkage:</span> <span class="pre">~typing.Tuple[int,</span> <span class="pre">int]</span> <span class="pre">=</span> <span class="pre">(0.1,</span> <span class="pre">0.1)</span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="headerlink" href="#inkycal.custom.functions.draw_border" title="Link to this definition"></a></dt>
|
||
<dd><p>Draws a border at given coordinates.</p>
|
||
<dl class="simple">
|
||
<dt>Args:</dt><dd><ul class="simple">
|
||
<li><p>image: The image on which the border should be drawn (usually im_black or
|
||
im_colour).</p></li>
|
||
<li><p>xy: Tuple representing the top-left corner of the border e.g. (32, 100)
|
||
where 32 is the x-coordinate and 100 is the y-coordinate.</p></li>
|
||
<li><p>size: Size of the border as a tuple -> (width, height).</p></li>
|
||
<li><p>radius: Radius of the corners, where 0 = plain rectangle, 5 = round corners.</p></li>
|
||
<li><p>thickness: Thickness of the border in pixels.</p></li>
|
||
<li><p>shrinkage: A tuple containing decimals presenting a percentage of shrinking
|
||
-> (width_shrink_percentage, height_shrink_percentage).
|
||
e.g. (0.1, 0.2) ~ shrinks the width of border by 10%, shrinks height of
|
||
border by 20%</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py function">
|
||
<dt class="sig sig-object py" id="inkycal.custom.functions.get_fonts">
|
||
<span class="sig-prename descclassname"><span class="pre">inkycal.custom.functions.</span></span><span class="sig-name descname"><span class="pre">get_fonts</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#inkycal.custom.functions.get_fonts" title="Link to this definition"></a></dt>
|
||
<dd><p>Print all available fonts by name.</p>
|
||
<p>Searches the /font folder in Inkycal and displays all fonts found in
|
||
there.</p>
|
||
<dl>
|
||
<dt>Returns:</dt><dd><p>printed output of all available fonts. To access a fontfile, use the
|
||
fonts dictionary to access it.</p>
|
||
<div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">fonts</span><span class="p">[</span><span class="s1">'fontname'</span><span class="p">]</span>
|
||
</pre></div>
|
||
</div>
|
||
</dd>
|
||
</dl>
|
||
<p>To use a font, use the following sytax, where fontname is one of the
|
||
printed fonts of this function:</p>
|
||
<div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">ImageFont</span><span class="o">.</span><span class="n">truetype</span><span class="p">(</span><span class="n">fonts</span><span class="p">[</span><span class="s1">'fontname'</span><span class="p">],</span> <span class="n">size</span> <span class="o">=</span> <span class="mi">10</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
</dd></dl>
|
||
|
||
<dl class="py function">
|
||
<dt class="sig sig-object py" id="inkycal.custom.functions.get_system_tz">
|
||
<span class="sig-prename descclassname"><span class="pre">inkycal.custom.functions.</span></span><span class="sig-name descname"><span class="pre">get_system_tz</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">str</span></span></span><a class="headerlink" href="#inkycal.custom.functions.get_system_tz" title="Link to this definition"></a></dt>
|
||
<dd><p>Gets the system-timezone</p>
|
||
<p>Gets the timezone set by the system.</p>
|
||
<dl class="simple">
|
||
<dt>Returns:</dt><dd><ul class="simple">
|
||
<li><p>A timezone if a system timezone was found.</p></li>
|
||
<li><p>UTC if no timezone was found.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
<p>The extracted timezone can be used to show the local time instead of UTC. e.g.</p>
|
||
<div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">arrow</span>
|
||
<span class="gp">>>> </span><span class="nb">print</span><span class="p">(</span><span class="n">arrow</span><span class="o">.</span><span class="n">now</span><span class="p">())</span> <span class="c1"># returns non-timezone-aware time</span>
|
||
<span class="gp">>>> </span><span class="nb">print</span><span class="p">(</span><span class="n">arrow</span><span class="o">.</span><span class="n">now</span><span class="p">(</span><span class="n">tz</span><span class="o">=</span><span class="n">get_system_tz</span><span class="p">()))</span> <span class="c1"># prints timezone aware time.</span>
|
||
</pre></div>
|
||
</div>
|
||
</dd></dl>
|
||
|
||
<dl class="py function">
|
||
<dt class="sig sig-object py" id="inkycal.custom.functions.internet_available">
|
||
<span class="sig-prename descclassname"><span class="pre">inkycal.custom.functions.</span></span><span class="sig-name descname"><span class="pre">internet_available</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#inkycal.custom.functions.internet_available" title="Link to this definition"></a></dt>
|
||
<dd><p>checks if the internet is available.</p>
|
||
<p>Attempts to connect to google.com with a timeout of 5 seconds to check
|
||
if the network can be reached.</p>
|
||
<dl class="simple">
|
||
<dt>Returns:</dt><dd><ul class="simple">
|
||
<li><p>True if connection could be established.</p></li>
|
||
<li><p>False if the internet could not be reached.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
<p>Returned output can be used to add a check for internet availability:</p>
|
||
<div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="k">if</span> <span class="n">internet_available</span><span class="p">():</span>
|
||
<span class="gp">>>> </span><span class="c1">#...do something that requires internet connectivity</span>
|
||
</pre></div>
|
||
</div>
|
||
</dd></dl>
|
||
|
||
<dl class="py function">
|
||
<dt class="sig sig-object py" id="inkycal.custom.functions.text_wrap">
|
||
<span class="sig-prename descclassname"><span class="pre">inkycal.custom.functions.</span></span><span class="sig-name descname"><span class="pre">text_wrap</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">text</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">font</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_width</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#inkycal.custom.functions.text_wrap" title="Link to this definition"></a></dt>
|
||
<dd><p>Splits a very long text into smaller parts</p>
|
||
<p>Splits a long text to smaller lines which can fit in a line with max_width.
|
||
Uses a Font object for more accurate calculations.</p>
|
||
<dl class="simple">
|
||
<dt>Args:</dt><dd><ul class="simple">
|
||
<li><p>text -> Text as a string</p></li>
|
||
<li><p>font: A PIL font object which is used to calculate the size.</p></li>
|
||
<li><p>max_width: int-> a width in pixels defining the maximum width before
|
||
splitting the text into the next chunk.</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt>Returns:</dt><dd><p>A list containing chunked strings of the full text.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py function">
|
||
<dt class="sig sig-object py" id="inkycal.custom.functions.write">
|
||
<span class="sig-prename descclassname"><span class="pre">inkycal.custom.functions.</span></span><span class="sig-name descname"><span class="pre">write</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">image:</span> <span class="pre"><module</span> <span class="pre">'PIL.Image'</span> <span class="pre">from</span> <span class="pre">'/home/runner/work/Inkycal/Inkycal/venv/lib/python3.11/site-packages/PIL/Image.py'>,</span> <span class="pre">xy:</span> <span class="pre">~typing.Tuple[int,</span> <span class="pre">int],</span> <span class="pre">box_size:</span> <span class="pre">~typing.Tuple[int,</span> <span class="pre">int],</span> <span class="pre">text:</span> <span class="pre">str,</span> <span class="pre">font=None,</span> <span class="pre">**kwargs</span></em><span class="sig-paren">)</span><a class="headerlink" href="#inkycal.custom.functions.write" title="Link to this definition"></a></dt>
|
||
<dd><p>Writes text on an image.</p>
|
||
<p>Writes given text at given position on the specified image.</p>
|
||
<dl class="simple">
|
||
<dt>Args:</dt><dd><ul class="simple">
|
||
<li><p>image: The image to draw this text on, usually im_black or im_colour.</p></li>
|
||
<li><p>xy: tuple-> (x,y) representing the x and y co-ordinate.</p></li>
|
||
<li><p>box_size: tuple -> (width, height) representing the size of the text box.</p></li>
|
||
<li><p>text: string, the actual text to add on the image.</p></li>
|
||
<li><p>font: A PIL Font object e.g.
|
||
ImageFont.truetype(fonts[‘fontname’], size = 10).</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt>Args: (optional)</dt><dd><ul class="simple">
|
||
<li><p>alignment: alignment of the text, use ‘center’, ‘left’, ‘right’.</p></li>
|
||
<li><p>autofit: bool (True/False). Automatically increases fontsize to fill in
|
||
as much of the box-height as possible.</p></li>
|
||
<li><p>colour: black by default, do not change as it causes issues with rendering
|
||
on e-Paper.</p></li>
|
||
<li><p>rotation: Rotate the text with the text-box by a given angle anti-clockwise.</p></li>
|
||
<li><p>fill_width: Decimal representing a percentage e.g. 0.9 # 90%. Fill
|
||
maximum of 90% of the size of the full width of text-box.</p></li>
|
||
<li><p>fill_height: Decimal representing a percentage e.g. 0.9 # 90%. Fill
|
||
maximum of 90% of the size of the full height of the text-box.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
</section>
|
||
<section id="module-inkycal.modules.ical_parser">
|
||
<span id="helper-classes"></span><h1>Helper classes<a class="headerlink" href="#module-inkycal.modules.ical_parser" title="Link to this heading"></a></h1>
|
||
<p>Inkycal iCalendar parsing module
|
||
Copyright by aceinnolab</p>
|
||
<dl class="py class">
|
||
<dt class="sig sig-object py" id="inkycal.modules.ical_parser.iCalendar">
|
||
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">inkycal.modules.ical_parser.</span></span><span class="sig-name descname"><span class="pre">iCalendar</span></span><a class="headerlink" href="#inkycal.modules.ical_parser.iCalendar" title="Link to this definition"></a></dt>
|
||
<dd><p>iCalendar parsing moudule for inkycal.
|
||
Parses events from given iCalendar URLs / paths</p>
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="inkycal.modules.ical_parser.iCalendar.all_day">
|
||
<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">all_day</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">event</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#inkycal.modules.ical_parser.iCalendar.all_day" title="Link to this definition"></a></dt>
|
||
<dd><p>Check if an event is an all day event.
|
||
Returns True if event is all day, else False</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="inkycal.modules.ical_parser.iCalendar.clear_events">
|
||
<span class="sig-name descname"><span class="pre">clear_events</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#inkycal.modules.ical_parser.iCalendar.clear_events" title="Link to this definition"></a></dt>
|
||
<dd><p>clear previously parsed events</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="inkycal.modules.ical_parser.iCalendar.get_events">
|
||
<span class="sig-name descname"><span class="pre">get_events</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">timeline_start</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">timeline_end</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">timezone</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#inkycal.modules.ical_parser.iCalendar.get_events" title="Link to this definition"></a></dt>
|
||
<dd><p>Input an arrow (time) object for:
|
||
* the beginning of timeline (events have to end after this time)
|
||
* the end of the timeline (events have to begin before this time)
|
||
* timezone if events should be formatted to local time
|
||
Returns a list of events sorted by date</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="inkycal.modules.ical_parser.iCalendar.get_system_tz">
|
||
<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">get_system_tz</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#inkycal.modules.ical_parser.iCalendar.get_system_tz" title="Link to this definition"></a></dt>
|
||
<dd><p>Get the timezone set by the system</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="inkycal.modules.ical_parser.iCalendar.load_from_file">
|
||
<span class="sig-name descname"><span class="pre">load_from_file</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filepath</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#inkycal.modules.ical_parser.iCalendar.load_from_file" title="Link to this definition"></a></dt>
|
||
<dd><p>Input a string or list of strings containing valid iCalendar filepaths
|
||
example: ‘path1’ (single file) OR [‘path1’, ‘path2’] (multiple files)
|
||
returns a list of iCalendars as string (raw)</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="inkycal.modules.ical_parser.iCalendar.load_url">
|
||
<span class="sig-name descname"><span class="pre">load_url</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">url</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">username</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">password</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#inkycal.modules.ical_parser.iCalendar.load_url" title="Link to this definition"></a></dt>
|
||
<dd><p>Input a string or list of strings containing valid iCalendar URLs
|
||
example: ‘URL1’ (single url) OR [‘URL1’, ‘URL2’] (multiple URLs)
|
||
add username and password to access protected files</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="inkycal.modules.ical_parser.iCalendar.show_events">
|
||
<span class="sig-name descname"><span class="pre">show_events</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">fmt</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'DD</span> <span class="pre">MMM</span> <span class="pre">YY</span> <span class="pre">HH:mm'</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#inkycal.modules.ical_parser.iCalendar.show_events" title="Link to this definition"></a></dt>
|
||
<dd><p>print all parsed events in a more readable way
|
||
use the format (fmt) parameter to specify the date format
|
||
see <a class="reference external" href="https://arrow.readthedocs.io/en/latest/#supported-tokens">https://arrow.readthedocs.io/en/latest/#supported-tokens</a>
|
||
for more info tokens</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="inkycal.modules.ical_parser.iCalendar.sort">
|
||
<span class="sig-name descname"><span class="pre">sort</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#inkycal.modules.ical_parser.iCalendar.sort" title="Link to this definition"></a></dt>
|
||
<dd><p>Sort all parsed events in order of beginning time</p>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<p id="module-inkycal.modules.inky_image">Custom image class for Inkycal Project
|
||
Takes care of handling images. Made to be used by other modules to handle
|
||
images.</p>
|
||
<p>Copyright by aceinnolab</p>
|
||
<dl class="py class">
|
||
<dt class="sig sig-object py" id="inkycal.modules.inky_image.Inkyimage">
|
||
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">inkycal.modules.inky_image.</span></span><span class="sig-name descname"><span class="pre">Inkyimage</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">image</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#inkycal.modules.inky_image.Inkyimage" title="Link to this definition"></a></dt>
|
||
<dd><p>Custom Imgae class written for commonly used image operations.</p>
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="inkycal.modules.inky_image.Inkyimage.autoflip">
|
||
<span class="sig-name descname"><span class="pre">autoflip</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">layout</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="headerlink" href="#inkycal.modules.inky_image.Inkyimage.autoflip" title="Link to this definition"></a></dt>
|
||
<dd><p>flips the image automatically to the given layout.</p>
|
||
<dl class="simple">
|
||
<dt>Args:</dt><dd><ul class="simple">
|
||
<li><p>layout:-> str. Choose <cite>horizontal</cite> or <cite>vertical</cite>.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
<p>Checks the image’s width and height.</p>
|
||
<p>In horizontal mode, the image is flipped if the image height is greater
|
||
than the image width.</p>
|
||
<p>In vertical mode, the image is flipped if the image width is greater
|
||
than the image height.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="inkycal.modules.inky_image.Inkyimage.clear">
|
||
<span class="sig-name descname"><span class="pre">clear</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#inkycal.modules.inky_image.Inkyimage.clear" title="Link to this definition"></a></dt>
|
||
<dd><p>Removes currently saved image if present.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="inkycal.modules.inky_image.Inkyimage.flip">
|
||
<span class="sig-name descname"><span class="pre">flip</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">angle</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#inkycal.modules.inky_image.Inkyimage.flip" title="Link to this definition"></a></dt>
|
||
<dd><p>Flips the image by the given angle.</p>
|
||
<dl class="simple">
|
||
<dt>Args:</dt><dd><ul class="simple">
|
||
<li><p>angle:->int. A multiple of 90, e.g. 90, 180, 270, 360.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="inkycal.modules.inky_image.Inkyimage.load">
|
||
<span class="sig-name descname"><span class="pre">load</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">path</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="headerlink" href="#inkycal.modules.inky_image.Inkyimage.load" title="Link to this definition"></a></dt>
|
||
<dd><p>loads an image from a URL or filepath.</p>
|
||
<dl class="simple">
|
||
<dt>Args:</dt><dd><ul class="simple">
|
||
<li><p>path:The full path or url of the image file
|
||
e.g. <cite>https://sample.com/logo.png</cite> or <cite>/home/pi/Downloads/nice_pic.png</cite></p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt>Raises:</dt><dd><ul class="simple">
|
||
<li><p>FileNotFoundError: This Exception is raised when the file could not be
|
||
found.</p></li>
|
||
<li><p>OSError: A OSError is raised when the URL doesn’t point to the correct
|
||
file-format, i.e. is not an image</p></li>
|
||
<li><p>TypeError: if the URLS doesn’t start with htpp</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="inkycal.modules.inky_image.Inkyimage.merge">
|
||
<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">merge</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">image1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">image2</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#inkycal.modules.inky_image.Inkyimage.merge" title="Link to this definition"></a></dt>
|
||
<dd><p>Merges two images into one.</p>
|
||
<p>Replaces white pixels of the first image with transparent ones. Then pastes
|
||
the first image on the second one.</p>
|
||
<dl class="simple">
|
||
<dt>Args:</dt><dd><ul class="simple">
|
||
<li><p>image1: A PIL Image object in ‘RGBA’ mode.</p></li>
|
||
<li><p>image2: A PIL Image object in ‘RGBA’ mode.</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt>Returns:</dt><dd><ul class="simple">
|
||
<li><p>A single image.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="inkycal.modules.inky_image.Inkyimage.preview">
|
||
<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">preview</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">image</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#inkycal.modules.inky_image.Inkyimage.preview" title="Link to this definition"></a></dt>
|
||
<dd><p>Previews an image on gpicview (only works on Rapsbian with Desktop).</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="inkycal.modules.inky_image.Inkyimage.remove_alpha">
|
||
<span class="sig-name descname"><span class="pre">remove_alpha</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#inkycal.modules.inky_image.Inkyimage.remove_alpha" title="Link to this definition"></a></dt>
|
||
<dd><p>Removes transparency if image has transparency.</p>
|
||
<p>Checks if an image has an alpha band and replaces the transparency with
|
||
white pixels.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="inkycal.modules.inky_image.Inkyimage.resize">
|
||
<span class="sig-name descname"><span class="pre">resize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">width</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">height</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#inkycal.modules.inky_image.Inkyimage.resize" title="Link to this definition"></a></dt>
|
||
<dd><p>Resize an image to desired width or height</p>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="py function">
|
||
<dt class="sig sig-object py" id="inkycal.modules.inky_image.image_to_palette">
|
||
<span class="sig-prename descclassname"><span class="pre">inkycal.modules.inky_image.</span></span><span class="sig-name descname"><span class="pre">image_to_palette</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">image:</span> <span class="pre"><module</span> <span class="pre">'PIL.Image'</span> <span class="pre">from</span> <span class="pre">'/home/runner/work/Inkycal/Inkycal/venv/lib/python3.11/site-packages/PIL/Image.py'>,</span> <span class="pre">palette:</span> <span class="pre">~typing.Literal</span> <span class="pre">=</span> <span class="pre">['bwr',</span> <span class="pre">'bwy',</span> <span class="pre">'bw',</span> <span class="pre">'16gray'],</span> <span class="pre">dither:</span> <span class="pre">bool</span> <span class="pre">=</span> <span class="pre">True)</span> <span class="pre">-></span> <span class="pre">(<module</span> <span class="pre">'PIL.Image'</span> <span class="pre">from</span> <span class="pre">'/home/runner/work/Inkycal/Inkycal/venv/lib/python3.11/site-packages/PIL/Image.py'>,</span> <span class="pre"><module</span> <span class="pre">'PIL.Image'</span> <span class="pre">from</span> <span class="pre">'/home/runner/work/Inkycal/Inkycal/venv/lib/python3.11/site-packages/PIL/Image.py'></span></em><span class="sig-paren">)</span><a class="headerlink" href="#inkycal.modules.inky_image.image_to_palette" title="Link to this definition"></a></dt>
|
||
<dd><p>Maps an image to a given colour palette.</p>
|
||
<p>Maps each pixel from the image to a colour from the palette.</p>
|
||
<dl class="simple">
|
||
<dt>Args:</dt><dd><ul class="simple">
|
||
<li><p>palette: A supported token. (see below)</p></li>
|
||
<li><p>dither:->bool. Use dithering? Set to <cite>False</cite> for solid colour fills.</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt>Returns:</dt><dd><ul class="simple">
|
||
<li><p>two images: one for the coloured band and one for the black band.</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt>Raises:</dt><dd><ul class="simple">
|
||
<li><p>ValueError if palette token is not supported</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
<p>Supported palette tokens:</p>
|
||
<div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="s1">'bwr'</span> <span class="c1"># black-white-red</span>
|
||
<span class="gp">>>> </span><span class="s1">'bwy'</span> <span class="c1"># black-white-yellow</span>
|
||
<span class="gp">>>> </span><span class="s1">'bw'</span> <span class="c1"># black-white</span>
|
||
<span class="gp">>>> </span><span class="s1">'16gray'</span> <span class="c1"># 16 shades of gray</span>
|
||
</pre></div>
|
||
</div>
|
||
</dd></dl>
|
||
|
||
</section>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
|
||
<a href="index.html" class="btn btn-neutral float-left" title="Inkycal documentation" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||
<a href="about.html" class="btn btn-neutral float-right" title="About Inkycal" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||
</div>
|
||
|
||
<hr/>
|
||
|
||
<div role="contentinfo">
|
||
<p>© Copyright 2018-2023, aceinnolab.</p>
|
||
</div>
|
||
|
||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||
|
||
|
||
</footer>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
<script>
|
||
jQuery(function () {
|
||
SphinxRtdTheme.Navigation.enable(true);
|
||
});
|
||
</script>
|
||
|
||
</body>
|
||
</html> |