listpick 0.1.14.11__tar.gz → 0.1.14.13__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.14.11 → listpick-0.1.14.13}/CHANGELOG.md +4 -2
- {listpick-0.1.14.11/src/listpick.egg-info → listpick-0.1.14.13}/PKG-INFO +1 -1
- {listpick-0.1.14.11 → listpick-0.1.14.13}/setup.py +1 -1
- {listpick-0.1.14.11 → listpick-0.1.14.13}/src/listpick/listpick_app.py +28 -12
- {listpick-0.1.14.11 → listpick-0.1.14.13}/src/listpick/ui/build_help.py +1 -1
- {listpick-0.1.14.11 → listpick-0.1.14.13}/src/listpick/ui/picker_colours.py +5 -3
- {listpick-0.1.14.11 → listpick-0.1.14.13/src/listpick.egg-info}/PKG-INFO +1 -1
- {listpick-0.1.14.11 → listpick-0.1.14.13}/.gitignore +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/LICENSE.txt +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/README.md +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/TODO.md +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/assets/aria2tui_screenshot.png +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/assets/file_compare.png +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/assets/lpfman.png +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/examples/data_generation/list_files.toml +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/examples/data_generation/list_files_empty.toml +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/examples/data_generation/video_duplicates.toml +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/examples/data_generation/video_mediainfo.toml +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/examples/input_files/polynomials.tsv +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/examples/input_guides/gnuplot_graph.md +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/examples/picker/auxiallary_files/2024-25_Premier_League.pkl +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/examples/picker/footer_string_example.py +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/examples/picker/picker_example.py +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/examples/picker/template.py +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/examples/picker/wikipedia_table.py +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/listpick.py +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/requirements.txt +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/setup.cfg +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/src/listpick/__init__.py +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/src/listpick/__main__.py +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/src/listpick/ui/__init__.py +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/src/listpick/ui/footer.py +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/src/listpick/ui/help_screen.py +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/src/listpick/ui/input_field.py +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/src/listpick/ui/keys.py +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/src/listpick/ui/pane_stuff.py +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/src/listpick/utils/__init__.py +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/src/listpick/utils/clipboard_operations.py +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/src/listpick/utils/config.py +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/src/listpick/utils/dump.py +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/src/listpick/utils/filtering.py +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/src/listpick/utils/generate_data.py +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/src/listpick/utils/keycodes.py +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/src/listpick/utils/options_selectors.py +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/src/listpick/utils/paste_operations.py +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/src/listpick/utils/picker_log.py +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/src/listpick/utils/search_and_filter_utils.py +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/src/listpick/utils/searching.py +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/src/listpick/utils/sorting.py +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/src/listpick/utils/table_to_list_of_lists.py +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/src/listpick/utils/user_input.py +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/src/listpick/utils/utils.py +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/src/listpick.egg-info/SOURCES.txt +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/src/listpick.egg-info/dependency_links.txt +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/src/listpick.egg-info/entry_points.txt +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/src/listpick.egg-info/requires.txt +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/src/listpick.egg-info/top_level.txt +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/tests/kitty_control.sh +0 -0
- {listpick-0.1.14.11 → listpick-0.1.14.13}/tests/sorting_dates.csv +0 -0
|
@@ -17,12 +17,14 @@ Note that the changes between 0.1.11.0 and 1.1.12.0 are listed under 0.1.11
|
|
|
17
17
|
- Fixed crash when loading non-existent config file.
|
|
18
18
|
- Fixed highlighted cell not being aligned in the way that we expect.
|
|
19
19
|
- Fixed search query covering last row of data.
|
|
20
|
+
- Discovered missing keys from colour_theme 0 which caused menus not to be displayed.
|
|
21
|
+
- Setting colour_theme_number in the config now works.
|
|
20
22
|
- Create ~/.config/listpick directory for storing input history if it doesn't already exist.
|
|
21
23
|
- Added error checking when opening files.
|
|
22
24
|
- Added --headerless flag to prevent interpreting the first line of the input as the header.
|
|
23
25
|
- Fixed special keys not working:
|
|
24
|
-
- arrow keys (main picker)
|
|
25
|
-
- meta+key (input_field)
|
|
26
|
+
- arrow keys (main picker, input_field)
|
|
27
|
+
- meta+key (input_field, main picker)
|
|
26
28
|
- Added column number to footer
|
|
27
29
|
- Improved splitting of whitespace separated data passed on stdin.
|
|
28
30
|
- Ensured that main picker elements resize if the terminal is resized when other dialogues are in focus: notifications, options, settings.
|
|
@@ -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.14.
|
|
19
|
+
version = "0.1.14.13",
|
|
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.",
|
|
@@ -365,6 +365,12 @@ class Picker:
|
|
|
365
365
|
self.logger.error(f"get_config({path}) load error. {e}")
|
|
366
366
|
return False
|
|
367
367
|
|
|
368
|
+
if "general" in config:
|
|
369
|
+
if "colour_theme_number" in config["general"] and config["general"]["colour_theme_number"] != self.colour_theme_number:
|
|
370
|
+
global COLOURS_SET
|
|
371
|
+
COLOURS_SET = False
|
|
372
|
+
self.colours_end = set_colours(pick=config["general"]["colour_theme_number"], start=1)
|
|
373
|
+
|
|
368
374
|
self.logger.info(f"function: set_config()")
|
|
369
375
|
if "general" in config:
|
|
370
376
|
for key, val in config["general"].items():
|
|
@@ -373,10 +379,9 @@ class Picker:
|
|
|
373
379
|
setattr(self, key, val)
|
|
374
380
|
except Exception as e:
|
|
375
381
|
self.logger.error(f"set_config: key={key}, val={val}. {e}")
|
|
382
|
+
|
|
376
383
|
return True
|
|
377
384
|
|
|
378
|
-
|
|
379
|
-
|
|
380
385
|
def get_config(self, path: str ="~/.config/listpick/config.toml") -> dict:
|
|
381
386
|
""" Get config from file. """
|
|
382
387
|
self.logger.info(f"function: get_config()")
|
|
@@ -451,7 +456,7 @@ class Picker:
|
|
|
451
456
|
if reset_colours:
|
|
452
457
|
global COLOURS_SET
|
|
453
458
|
COLOURS_SET = False
|
|
454
|
-
colours_end = set_colours(pick=self.colour_theme_number, start=self.colours_start)
|
|
459
|
+
self.colours_end = set_colours(pick=self.colour_theme_number, start=self.colours_start)
|
|
455
460
|
if curses.COLORS >= 255 and curses.COLOR_PAIRS >= 150:
|
|
456
461
|
self.colours_start = self.colours_start
|
|
457
462
|
self.notification_colours_start = self.colours_start+50
|
|
@@ -3182,11 +3187,17 @@ class Picker:
|
|
|
3182
3187
|
if return_val:
|
|
3183
3188
|
selected_indices = get_selected_indices(self.selections)
|
|
3184
3189
|
self.history_pipes.append(usrtxt)
|
|
3190
|
+
|
|
3185
3191
|
if not selected_indices:
|
|
3186
|
-
|
|
3192
|
+
if len(self.indexed_items):
|
|
3193
|
+
if " " in self.items[self.cursor_pos][self.selected_column]:
|
|
3194
|
+
full_values = [repr(self.items[self.cursor_pos][self.selected_column])]
|
|
3195
|
+
else:
|
|
3196
|
+
full_values = [self.items[self.cursor_pos][self.selected_column]]
|
|
3187
3197
|
|
|
3188
|
-
|
|
3189
|
-
|
|
3198
|
+
else:
|
|
3199
|
+
return None
|
|
3200
|
+
elif self.cell_cursor:
|
|
3190
3201
|
|
|
3191
3202
|
full_values = []
|
|
3192
3203
|
for row in self.selected_cells_by_row.keys():
|
|
@@ -3199,11 +3210,16 @@ class Picker:
|
|
|
3199
3210
|
selected_cell_row_str += "\t"
|
|
3200
3211
|
full_values.append(selected_cell_row_str.strip())
|
|
3201
3212
|
|
|
3202
|
-
|
|
3203
|
-
# full_values = ["\t".join([repr(self.items[key][cell]) for cell in self.selected_cells_by_row[key]]) for key in self.selected_cells_by_row.keys()]
|
|
3204
|
-
# full_values = ["\t".join([self.items[key][cell] for cell in self.selected_cells_by_row[key]]) for key in self.selected_cells_by_row.keys()]
|
|
3205
3213
|
else:
|
|
3206
|
-
full_values = [
|
|
3214
|
+
full_values = []
|
|
3215
|
+
for i in selected_indices:
|
|
3216
|
+
selected_cell_row_str = ""
|
|
3217
|
+
if " " in self.items[i][self.selected_column]:
|
|
3218
|
+
selected_cell_row_str += repr(self.items[i][self.selected_column])
|
|
3219
|
+
else:
|
|
3220
|
+
selected_cell_row_str += str(self.items[i][self.selected_column])
|
|
3221
|
+
full_values.append(selected_cell_row_str)
|
|
3222
|
+
|
|
3207
3223
|
if full_values:
|
|
3208
3224
|
# command = usrtxt.split()
|
|
3209
3225
|
command = usrtxt
|
|
@@ -3447,7 +3463,7 @@ def set_colours(pick: int = 0, start: int = 0) -> Optional[int]:
|
|
|
3447
3463
|
curses.init_pair(start+24, colours['footer_string_fg'], colours['footer_string_bg'])
|
|
3448
3464
|
curses.init_pair(start+25, colours['selected_cell_fg'], colours['selected_cell_bg'])
|
|
3449
3465
|
curses.init_pair(start+26, colours['deselecting_cell_fg'], colours['deselecting_cell_bg'])
|
|
3450
|
-
except:
|
|
3466
|
+
except Exception as e:
|
|
3451
3467
|
pass
|
|
3452
3468
|
COLOURS_SET = True
|
|
3453
3469
|
return start+21
|
|
@@ -3598,7 +3614,7 @@ def main() -> None:
|
|
|
3598
3614
|
except:
|
|
3599
3615
|
pass
|
|
3600
3616
|
|
|
3601
|
-
function_data["colour_theme_number"] = 3
|
|
3617
|
+
# function_data["colour_theme_number"] = 3
|
|
3602
3618
|
# function_data["modes"] = [
|
|
3603
3619
|
# {
|
|
3604
3620
|
# 'filter': '',
|
|
@@ -124,7 +124,7 @@ def build_help_rows(keys_dict: dict, debug: bool = False) -> list[list[str]]:
|
|
|
124
124
|
"paste": "Paste into picker.",
|
|
125
125
|
"save": "Save selections.",
|
|
126
126
|
"load": "Load from file.",
|
|
127
|
-
"open": "
|
|
127
|
+
"open": "Attempt to open file with selected cell value(s).",
|
|
128
128
|
"toggle_footer": "Toggle footer.",
|
|
129
129
|
"notification_toggle": "Toggle empty notification.",
|
|
130
130
|
"redo": "Redo.",
|
|
@@ -25,9 +25,9 @@ def get_colours(pick:int=0) -> Dict[str, int]:
|
|
|
25
25
|
'normal_fg': 253,
|
|
26
26
|
'unselected_bg': 232,
|
|
27
27
|
'unselected_fg': 253,
|
|
28
|
-
'cursor_bg':
|
|
28
|
+
'cursor_bg': 21,
|
|
29
29
|
'cursor_fg': 253,
|
|
30
|
-
'selected_bg':
|
|
30
|
+
'selected_bg': 54,
|
|
31
31
|
'selected_fg': 253,
|
|
32
32
|
'header_bg': 253,
|
|
33
33
|
'header_fg': 232,
|
|
@@ -65,8 +65,10 @@ def get_colours(pick:int=0) -> Dict[str, int]:
|
|
|
65
65
|
'40pc_fg': 166,
|
|
66
66
|
'footer_string_bg': 28,
|
|
67
67
|
'footer_string_fg': 253,
|
|
68
|
-
'selected_cell_bg':
|
|
68
|
+
'selected_cell_bg': 54,
|
|
69
69
|
'selected_cell_fg': 253,
|
|
70
|
+
'deselecting_cell_bg': 162,
|
|
71
|
+
'deselecting_cell_fg': 253,
|
|
70
72
|
},
|
|
71
73
|
### (1) Black and white
|
|
72
74
|
{
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|