Skip to content

Commit c836531

Browse files
committed
Plot, Console app
1 parent 37ab035 commit c836531

3 files changed

Lines changed: 19 additions & 18 deletions

File tree

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2419,8 +2419,7 @@ import matplotlib.pyplot as plt
24192419
plt.plot/bar/scatter(x_data, y_data [, label=<str>]) # Also plt.plot(y_data).
24202420
plt.legend() # Adds a legend.
24212421
plt.title/xlabel/ylabel(<str>) # Adds a title or label.
2422-
plt.savefig(<path>) # Saves the plot.
2423-
plt.show() # Displays the plot.
2422+
plt.show() # Also plt.savefig(<path>).
24242423
plt.clf() # Clears the plot.
24252424
```
24262425

@@ -2443,7 +2442,7 @@ Console App
24432442
```python
24442443
# $ pip3 install windows-curses
24452444
import curses, os
2446-
from curses import A_REVERSE, KEY_DOWN, KEY_UP, KEY_LEFT, KEY_RIGHT, KEY_ENTER
2445+
from curses import A_REVERSE, KEY_UP, KEY_DOWN, KEY_LEFT, KEY_RIGHT, KEY_ENTER
24472446

24482447
def main(screen):
24492448
ch, first, selected, paths = 0, 0, 0, os.listdir()
@@ -2454,9 +2453,10 @@ def main(screen):
24542453
color = A_REVERSE if filename == paths[selected] else 0
24552454
screen.addnstr(y, 0, filename, width-1, color)
24562455
ch = screen.getch()
2457-
selected += (ch == KEY_DOWN) - (ch == KEY_UP)
2458-
selected = max(0, min(len(paths)-1, selected))
2459-
first += (selected >= first + height) - (selected < first)
2456+
selected -= (ch == KEY_UP) and (selected > 0)
2457+
selected += (ch == KEY_DOWN) and (selected < len(paths)-1)
2458+
first = min(first, selected)
2459+
first = max(first, selected - (height-1))
24602460
if ch in [KEY_LEFT, KEY_RIGHT, KEY_ENTER, ord('\n'), ord('\r')]:
24612461
new_dir = '..' if ch == KEY_LEFT else paths[selected]
24622462
if os.path.isdir(new_dir):

index.html

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656

5757
<body>
5858
<header>
59-
<aside>February 19, 2025</aside>
59+
<aside>February 25, 2025</aside>
6060
<a href="https://gto76.github.io" rel="author">Jure Šorn</a>
6161
</header>
6262

@@ -1990,8 +1990,7 @@ <h3 id="format-2">Format</h3><div><h4 id="forstandardtypesizesandmanualalignment
19901990
plt.plot/bar/scatter(x_data, y_data [, label=&lt;str&gt;]) <span class="hljs-comment"># Also plt.plot(y_data).</span>
19911991
plt.legend() <span class="hljs-comment"># Adds a legend.</span>
19921992
plt.title/xlabel/ylabel(&lt;str&gt;) <span class="hljs-comment"># Adds a title or label.</span>
1993-
plt.savefig(&lt;path&gt;) <span class="hljs-comment"># Saves the plot.</span>
1994-
plt.show() <span class="hljs-comment"># Displays the plot.</span>
1993+
plt.show() <span class="hljs-comment"># Also plt.savefig(&lt;path&gt;).</span>
19951994
plt.clf() <span class="hljs-comment"># Clears the plot.</span>
19961995
</code></pre></div>
19971996

@@ -2005,7 +2004,7 @@ <h3 id="format-2">Format</h3><div><h4 id="forstandardtypesizesandmanualalignment
20052004

20062005
<div><h2 id="consoleapp"><a href="#consoleapp" name="consoleapp">#</a>Console App</h2><div><h4 id="runsabasicfileexplorerintheconsole">Runs a basic file explorer in the console:</h4><pre><code class="python language-python hljs"><span class="hljs-comment"># $ pip3 install windows-curses</span>
20072006
<span class="hljs-keyword">import</span> curses, os
2008-
<span class="hljs-keyword">from</span> curses <span class="hljs-keyword">import</span> A_REVERSE, KEY_DOWN, KEY_UP, KEY_LEFT, KEY_RIGHT, KEY_ENTER
2007+
<span class="hljs-keyword">from</span> curses <span class="hljs-keyword">import</span> A_REVERSE, KEY_UP, KEY_DOWN, KEY_LEFT, KEY_RIGHT, KEY_ENTER
20092008

20102009
<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">main</span><span class="hljs-params">(screen)</span>:</span>
20112010
ch, first, selected, paths = <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, os.listdir()
@@ -2016,9 +2015,10 @@ <h3 id="format-2">Format</h3><div><h4 id="forstandardtypesizesandmanualalignment
20162015
color = A_REVERSE <span class="hljs-keyword">if</span> filename == paths[selected] <span class="hljs-keyword">else</span> <span class="hljs-number">0</span>
20172016
screen.addnstr(y, <span class="hljs-number">0</span>, filename, width-<span class="hljs-number">1</span>, color)
20182017
ch = screen.getch()
2019-
selected += (ch == KEY_DOWN) - (ch == KEY_UP)
2020-
selected = max(<span class="hljs-number">0</span>, min(len(paths)-<span class="hljs-number">1</span>, selected))
2021-
first += (selected &gt;= first + height) - (selected &lt; first)
2018+
selected -= (ch == KEY_UP) <span class="hljs-keyword">and</span> (selected &gt; <span class="hljs-number">0</span>)
2019+
selected += (ch == KEY_DOWN) <span class="hljs-keyword">and</span> (selected &lt; len(paths)-<span class="hljs-number">1</span>)
2020+
first = min(first, selected)
2021+
first = max(first, selected - (height-<span class="hljs-number">1</span>))
20222022
<span class="hljs-keyword">if</span> ch <span class="hljs-keyword">in</span> [KEY_LEFT, KEY_RIGHT, KEY_ENTER, ord(<span class="hljs-string">'\n'</span>), ord(<span class="hljs-string">'\r'</span>)]:
20232023
new_dir = <span class="hljs-string">'..'</span> <span class="hljs-keyword">if</span> ch == KEY_LEFT <span class="hljs-keyword">else</span> paths[selected]
20242024
<span class="hljs-keyword">if</span> os.path.isdir(new_dir):
@@ -2942,7 +2942,7 @@ <h3 id="format-2">Format</h3><div><h4 id="forstandardtypesizesandmanualalignment
29422942

29432943

29442944
<footer>
2945-
<aside>February 19, 2025</aside>
2945+
<aside>February 25, 2025</aside>
29462946
<a href="https://gto76.github.io" rel="author">Jure Šorn</a>
29472947
</footer>
29482948

parse.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ const COROUTINES =
168168
const CURSES =
169169
'<span class="hljs-comment"># $ pip3 install windows-curses</span>\n' +
170170
'<span class="hljs-keyword">import</span> curses, os\n' +
171-
'<span class="hljs-keyword">from</span> curses <span class="hljs-keyword">import</span> A_REVERSE, KEY_DOWN, KEY_UP, KEY_LEFT, KEY_RIGHT, KEY_ENTER\n' +
171+
'<span class="hljs-keyword">from</span> curses <span class="hljs-keyword">import</span> A_REVERSE, KEY_UP, KEY_DOWN, KEY_LEFT, KEY_RIGHT, KEY_ENTER\n' +
172172
'\n' +
173173
'<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">main</span><span class="hljs-params">(screen)</span>:</span>\n' +
174174
' ch, first, selected, paths = <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, os.listdir()\n' +
@@ -179,9 +179,10 @@ const CURSES =
179179
' color = A_REVERSE <span class="hljs-keyword">if</span> filename == paths[selected] <span class="hljs-keyword">else</span> <span class="hljs-number">0</span>\n' +
180180
' screen.addnstr(y, <span class="hljs-number">0</span>, filename, width-<span class="hljs-number">1</span>, color)\n' +
181181
' ch = screen.getch()\n' +
182-
' selected += (ch == KEY_DOWN) - (ch == KEY_UP)\n' +
183-
' selected = max(<span class="hljs-number">0</span>, min(len(paths)-<span class="hljs-number">1</span>, selected))\n' +
184-
' first += (selected &gt;= first + height) - (selected &lt; first)\n' +
182+
' selected -= (ch == KEY_UP) <span class="hljs-keyword">and</span> (selected &gt; <span class="hljs-number">0</span>)\n' +
183+
' selected += (ch == KEY_DOWN) <span class="hljs-keyword">and</span> (selected &lt; len(paths)-<span class="hljs-number">1</span>)\n' +
184+
' first = min(first, selected)\n' +
185+
' first = max(first, selected - (height-<span class="hljs-number">1</span>))\n' +
185186
' <span class="hljs-keyword">if</span> ch <span class="hljs-keyword">in</span> [KEY_LEFT, KEY_RIGHT, KEY_ENTER, ord(<span class="hljs-string">\'\\n\'</span>), ord(<span class="hljs-string">\'\\r\'</span>)]:\n' +
186187
' new_dir = <span class="hljs-string">\'..\'</span> <span class="hljs-keyword">if</span> ch == KEY_LEFT <span class="hljs-keyword">else</span> paths[selected]\n' +
187188
' <span class="hljs-keyword">if</span> os.path.isdir(new_dir):\n' +

0 commit comments

Comments
 (0)