listpick 0.1.16.5__tar.gz → 0.1.16.7__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of listpick might be problematic. Click here for more details.
- {listpick-0.1.16.5 → listpick-0.1.16.7}/CHANGELOG.md +2 -0
- {listpick-0.1.16.5/src/listpick.egg-info → listpick-0.1.16.7}/PKG-INFO +1 -1
- {listpick-0.1.16.5 → listpick-0.1.16.7}/TODO.md +1 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/setup.py +1 -1
- {listpick-0.1.16.5 → listpick-0.1.16.7}/src/listpick/listpick_app.py +11 -2
- {listpick-0.1.16.5 → listpick-0.1.16.7}/src/listpick/ui/input_field.py +1 -19
- {listpick-0.1.16.5 → listpick-0.1.16.7/src/listpick.egg-info}/PKG-INFO +1 -1
- {listpick-0.1.16.5 → listpick-0.1.16.7}/.gitignore +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/LICENSE.txt +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/README.md +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/assets/aria2tui_screenshot.png +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/assets/file_compare.png +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/assets/lpfman.png +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/examples/data_generation/list_files.toml +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/examples/data_generation/list_files_empty.toml +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/examples/data_generation/video_duplicates.toml +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/examples/data_generation/video_mediainfo.toml +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/examples/input_files/polynomials.tsv +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/examples/input_guides/gnuplot_graph.md +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/examples/picker/auxiallary_files/2024-25_Premier_League.pkl +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/examples/picker/footer_string_example.py +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/examples/picker/picker_example.py +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/examples/picker/template.py +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/examples/picker/wikipedia_table.py +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/listpick.py +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/requirements.txt +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/setup.cfg +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/src/listpick/__init__.py +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/src/listpick/__main__.py +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/src/listpick/pane/__init__.py +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/src/listpick/pane/get_data.py +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/src/listpick/pane/pane_functions.py +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/src/listpick/pane/pane_utils.py +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/src/listpick/ui/__init__.py +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/src/listpick/ui/build_help.py +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/src/listpick/ui/draw_screen.py +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/src/listpick/ui/footer.py +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/src/listpick/ui/help_screen.py +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/src/listpick/ui/keys.py +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/src/listpick/ui/picker_colours.py +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/src/listpick/utils/__init__.py +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/src/listpick/utils/clipboard_operations.py +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/src/listpick/utils/config.py +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/src/listpick/utils/dump.py +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/src/listpick/utils/filtering.py +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/src/listpick/utils/generate_data.py +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/src/listpick/utils/generate_data_multithreaded.py +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/src/listpick/utils/graphing.py +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/src/listpick/utils/keycodes.py +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/src/listpick/utils/options_selectors.py +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/src/listpick/utils/paste_operations.py +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/src/listpick/utils/picker_log.py +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/src/listpick/utils/search_and_filter_utils.py +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/src/listpick/utils/searching.py +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/src/listpick/utils/sorting.py +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/src/listpick/utils/table_to_list_of_lists.py +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/src/listpick/utils/user_input.py +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/src/listpick/utils/utils.py +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/src/listpick.egg-info/SOURCES.txt +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/src/listpick.egg-info/dependency_links.txt +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/src/listpick.egg-info/entry_points.txt +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/src/listpick.egg-info/requires.txt +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/src/listpick.egg-info/top_level.txt +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/tests/kitty_control.sh +0 -0
- {listpick-0.1.16.5 → listpick-0.1.16.7}/tests/sorting_dates.csv +0 -0
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
# CHANGELOG.md
|
|
2
2
|
Note that the changes between 0.1.11.0 and 1.1.12.0 are listed under 0.1.11
|
|
3
3
|
|
|
4
|
+
## [0.1.16.4-6] 2025-09-09
|
|
4
5
|
- Ensured that the previous terminal settings are restored after exiting the picker.
|
|
6
|
+
- Fixed bug which caused crash when opening the input field.
|
|
5
7
|
|
|
6
8
|
## [0.1.16.4] 2025-09-09
|
|
7
9
|
- Commands passed to generate_picker_data can now use multiple {} and each will be replaced by the filename
|
|
@@ -40,6 +40,7 @@
|
|
|
40
40
|
> - [ ] Keep track of running threads and tasks to do.
|
|
41
41
|
> - [ ] Go to a loading directory > filter > move down the entries. We are brought back to the top.
|
|
42
42
|
> - [ ] Probably due to calling Picker.initialise_variables() when we get new data.
|
|
43
|
+
> - [ ] Allow multiple files to be added with different generation functions.
|
|
43
44
|
|
|
44
45
|
|
|
45
46
|
|
|
@@ -16,7 +16,7 @@ with open("README.md", "r", encoding = "utf-8") as fh:
|
|
|
16
16
|
|
|
17
17
|
setuptools.setup(
|
|
18
18
|
name = "listpick",
|
|
19
|
-
version = "0.1.16.
|
|
19
|
+
version = "0.1.16.7",
|
|
20
20
|
author = "Grim",
|
|
21
21
|
author_email = "grimandgreedy@protonmail.com",
|
|
22
22
|
description = "Listpick is a powerful TUI data tool for creating TUI apps or viewing/comparing tabulated data.",
|
|
@@ -56,7 +56,7 @@ class Picker:
|
|
|
56
56
|
stdscr: curses.window,
|
|
57
57
|
items: list[list[str]] = [],
|
|
58
58
|
cursor_pos: int = 0,
|
|
59
|
-
colours: dict =
|
|
59
|
+
colours: dict = {},
|
|
60
60
|
colour_theme_number: int = 3,
|
|
61
61
|
max_selected: int = -1,
|
|
62
62
|
top_gap: int =0,
|
|
@@ -195,7 +195,7 @@ class Picker:
|
|
|
195
195
|
self.stdscr = stdscr
|
|
196
196
|
self.items = items
|
|
197
197
|
self.cursor_pos = cursor_pos
|
|
198
|
-
self.colours =
|
|
198
|
+
self.colours = get_colours(colour_theme_number)
|
|
199
199
|
self.colour_theme_number = colour_theme_number
|
|
200
200
|
self.max_selected = max_selected
|
|
201
201
|
self.top_gap = top_gap
|
|
@@ -352,6 +352,7 @@ class Picker:
|
|
|
352
352
|
# Note: We have to set the footer after initialising the picker state so that the footer can use the get_function_data method
|
|
353
353
|
self.footer_options = [StandardFooter(self.stdscr, colours_start, self.get_function_data), CompactFooter(self.stdscr, colours_start, self.get_function_data), NoFooter(self.stdscr, colours_start, self.get_function_data)]
|
|
354
354
|
self.footer = self.footer_options[self.footer_style]
|
|
355
|
+
self.footer.adjust_sizes(self.term_h, self.term_w)
|
|
355
356
|
|
|
356
357
|
|
|
357
358
|
|
|
@@ -385,6 +386,7 @@ class Picker:
|
|
|
385
386
|
global COLOURS_SET
|
|
386
387
|
COLOURS_SET = False
|
|
387
388
|
self.colours_end = set_colours(pick=config["general"]["colour_theme_number"], start=1)
|
|
389
|
+
self.colours = get_colours(config["general"]["colour_theme_number"])
|
|
388
390
|
|
|
389
391
|
self.logger.info(f"function: set_config()")
|
|
390
392
|
if "general" in config:
|
|
@@ -502,11 +504,14 @@ class Picker:
|
|
|
502
504
|
self.notification_colours_start = 0
|
|
503
505
|
self.help_colours_start = 0
|
|
504
506
|
|
|
507
|
+
self.colours = get_colours(self.colour_theme_number)
|
|
508
|
+
|
|
505
509
|
|
|
506
510
|
debug_levels = [logging.DEBUG, logging.INFO, logging.WARNING, logging.ERROR, logging.CRITICAL]
|
|
507
511
|
dbglvl = debug_levels[self.debug_level]
|
|
508
512
|
self.logger = setup_logger(name="picker_log", log_file="picker.log", log_enabled=self.debug, level =dbglvl)
|
|
509
513
|
self.logger.info(f"Initialiasing Picker.")
|
|
514
|
+
self.update_term_size()
|
|
510
515
|
# self.notification(self.stdscr, message=repr(self.logger))
|
|
511
516
|
|
|
512
517
|
|
|
@@ -1808,6 +1813,7 @@ class Picker:
|
|
|
1808
1813
|
set_colours(self.colour_theme_number)
|
|
1809
1814
|
self.draw_screen()
|
|
1810
1815
|
self.notification(self.stdscr, message=f"Theme {self.colour_theme_number} applied.")
|
|
1816
|
+
self.colours = get_colours(self.colour_theme_number)
|
|
1811
1817
|
|
|
1812
1818
|
else:
|
|
1813
1819
|
self.user_settings = ""
|
|
@@ -2394,6 +2400,9 @@ class Picker:
|
|
|
2394
2400
|
self.logger.info(f"function: run()")
|
|
2395
2401
|
|
|
2396
2402
|
if self.get_footer_string_startup and self.footer_string_refresh_function != None:
|
|
2403
|
+
self.footer_string = " "
|
|
2404
|
+
self.footer.adjust_sizes(self.term_h, self.term_w)
|
|
2405
|
+
self.draw_screen()
|
|
2397
2406
|
self.footer_string = self.footer_string_refresh_function()
|
|
2398
2407
|
|
|
2399
2408
|
self.initialise_variables(get_data=self.get_data_startup)
|
|
@@ -16,27 +16,9 @@ from datetime import datetime
|
|
|
16
16
|
import logging
|
|
17
17
|
|
|
18
18
|
logger = logging.getLogger('picker_log')
|
|
19
|
-
import select
|
|
20
|
-
import tty
|
|
21
19
|
from listpick.utils.user_input import get_char, open_tty
|
|
22
20
|
from listpick.utils import keycodes
|
|
23
21
|
|
|
24
|
-
# def open_tty():
|
|
25
|
-
# """ Return a file descriptor for the tty that we are opening"""
|
|
26
|
-
# tty_fd = os.open('/dev/tty', os.O_RDONLY)
|
|
27
|
-
# tty.setraw(tty_fd)
|
|
28
|
-
# return tty_fd
|
|
29
|
-
#
|
|
30
|
-
# def get_char(tty_fd, timeout: float = 0.2) -> int:
|
|
31
|
-
# """ Get character from a tty_fd with a timeout. """
|
|
32
|
-
# rlist, _, _ = select.select([tty_fd], [], [], timeout)
|
|
33
|
-
# if rlist:
|
|
34
|
-
# # key = ord(tty_fd.read(1))
|
|
35
|
-
# key = ord(os.read(tty_fd, 1))
|
|
36
|
-
# else:
|
|
37
|
-
# key = -1
|
|
38
|
-
# return key
|
|
39
|
-
|
|
40
22
|
def input_field(
|
|
41
23
|
stdscr: curses.window,
|
|
42
24
|
usrtxt:str="",
|
|
@@ -126,7 +108,7 @@ def input_field(
|
|
|
126
108
|
offscreen_x, offscreen_y = False, False
|
|
127
109
|
orig_x, orig_y = x, y
|
|
128
110
|
|
|
129
|
-
tty_fd = open_tty()
|
|
111
|
+
tty_fd, saved_terminal_state = open_tty()
|
|
130
112
|
|
|
131
113
|
# Input field loop
|
|
132
114
|
while True:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{listpick-0.1.16.5 → listpick-0.1.16.7}/examples/picker/auxiallary_files/2024-25_Premier_League.pkl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|