listpick 0.1.14.12__tar.gz → 0.1.14.14__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.12 → listpick-0.1.14.14}/CHANGELOG.md +1 -0
- {listpick-0.1.14.12/src/listpick.egg-info → listpick-0.1.14.14}/PKG-INFO +1 -1
- {listpick-0.1.14.12 → listpick-0.1.14.14}/TODO.md +1 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/setup.py +1 -1
- {listpick-0.1.14.12 → listpick-0.1.14.14}/src/listpick/listpick_app.py +26 -9
- {listpick-0.1.14.12 → listpick-0.1.14.14}/src/listpick/ui/build_help.py +1 -1
- {listpick-0.1.14.12 → listpick-0.1.14.14}/src/listpick/ui/picker_colours.py +26 -6
- {listpick-0.1.14.12 → listpick-0.1.14.14/src/listpick.egg-info}/PKG-INFO +1 -1
- {listpick-0.1.14.12 → listpick-0.1.14.14}/.gitignore +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/LICENSE.txt +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/README.md +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/assets/aria2tui_screenshot.png +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/assets/file_compare.png +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/assets/lpfman.png +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/examples/data_generation/list_files.toml +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/examples/data_generation/list_files_empty.toml +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/examples/data_generation/video_duplicates.toml +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/examples/data_generation/video_mediainfo.toml +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/examples/input_files/polynomials.tsv +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/examples/input_guides/gnuplot_graph.md +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/examples/picker/auxiallary_files/2024-25_Premier_League.pkl +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/examples/picker/footer_string_example.py +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/examples/picker/picker_example.py +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/examples/picker/template.py +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/examples/picker/wikipedia_table.py +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/listpick.py +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/requirements.txt +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/setup.cfg +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/src/listpick/__init__.py +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/src/listpick/__main__.py +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/src/listpick/ui/__init__.py +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/src/listpick/ui/footer.py +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/src/listpick/ui/help_screen.py +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/src/listpick/ui/input_field.py +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/src/listpick/ui/keys.py +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/src/listpick/ui/pane_stuff.py +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/src/listpick/utils/__init__.py +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/src/listpick/utils/clipboard_operations.py +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/src/listpick/utils/config.py +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/src/listpick/utils/dump.py +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/src/listpick/utils/filtering.py +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/src/listpick/utils/generate_data.py +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/src/listpick/utils/keycodes.py +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/src/listpick/utils/options_selectors.py +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/src/listpick/utils/paste_operations.py +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/src/listpick/utils/picker_log.py +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/src/listpick/utils/search_and_filter_utils.py +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/src/listpick/utils/searching.py +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/src/listpick/utils/sorting.py +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/src/listpick/utils/table_to_list_of_lists.py +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/src/listpick/utils/user_input.py +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/src/listpick/utils/utils.py +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/src/listpick.egg-info/SOURCES.txt +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/src/listpick.egg-info/dependency_links.txt +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/src/listpick.egg-info/entry_points.txt +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/src/listpick.egg-info/requires.txt +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/src/listpick.egg-info/top_level.txt +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/tests/kitty_control.sh +0 -0
- {listpick-0.1.14.12 → listpick-0.1.14.14}/tests/sorting_dates.csv +0 -0
|
@@ -18,6 +18,7 @@ Note that the changes between 0.1.11.0 and 1.1.12.0 are listed under 0.1.11
|
|
|
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
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.
|
|
21
22
|
- Create ~/.config/listpick directory for storing input history if it doesn't already exist.
|
|
22
23
|
- Added error checking when opening files.
|
|
23
24
|
- Added --headerless flag to prevent interpreting the first line of the input as the header.
|
|
@@ -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.14",
|
|
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()")
|
|
@@ -3182,11 +3187,18 @@ 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
|
+
pos = self.indexed_items[self.cursor_pos][0]
|
|
3194
|
+
if " " in self.items[pos][self.selected_column]:
|
|
3195
|
+
full_values = [repr(self.items[pos][self.selected_column])]
|
|
3196
|
+
else:
|
|
3197
|
+
full_values = [self.items[pos][self.selected_column]]
|
|
3187
3198
|
|
|
3188
|
-
|
|
3189
|
-
|
|
3199
|
+
else:
|
|
3200
|
+
return None
|
|
3201
|
+
elif self.cell_cursor:
|
|
3190
3202
|
|
|
3191
3203
|
full_values = []
|
|
3192
3204
|
for row in self.selected_cells_by_row.keys():
|
|
@@ -3199,11 +3211,16 @@ class Picker:
|
|
|
3199
3211
|
selected_cell_row_str += "\t"
|
|
3200
3212
|
full_values.append(selected_cell_row_str.strip())
|
|
3201
3213
|
|
|
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
3214
|
else:
|
|
3206
|
-
full_values = [
|
|
3215
|
+
full_values = []
|
|
3216
|
+
for i in selected_indices:
|
|
3217
|
+
selected_cell_row_str = ""
|
|
3218
|
+
if " " in self.items[i][self.selected_column]:
|
|
3219
|
+
selected_cell_row_str += repr(self.items[i][self.selected_column])
|
|
3220
|
+
else:
|
|
3221
|
+
selected_cell_row_str += str(self.items[i][self.selected_column])
|
|
3222
|
+
full_values.append(selected_cell_row_str)
|
|
3223
|
+
|
|
3207
3224
|
if full_values:
|
|
3208
3225
|
# command = usrtxt.split()
|
|
3209
3226
|
command = usrtxt
|
|
@@ -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,7 +65,7 @@ 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
70
|
'deselecting_cell_bg': 162,
|
|
71
71
|
'deselecting_cell_fg': 253,
|
|
@@ -288,9 +288,6 @@ def get_colours(pick:int=0) -> Dict[str, int]:
|
|
|
288
288
|
colour["paused_bg"] = colour["background"]
|
|
289
289
|
colour["paused_bg"] = colour["background"]
|
|
290
290
|
# colour["search_bg"] = colour["background"]
|
|
291
|
-
# tmp = colours[0]
|
|
292
|
-
# colours[0] = colours[2]
|
|
293
|
-
# colours[2] = tmp
|
|
294
291
|
if pick > len(colours) - 1:
|
|
295
292
|
return colours[0]
|
|
296
293
|
return colours[pick]
|
|
@@ -363,3 +360,26 @@ def get_theme_count() -> int:
|
|
|
363
360
|
break
|
|
364
361
|
col_list.append(x)
|
|
365
362
|
return i
|
|
363
|
+
|
|
364
|
+
def check_for_missing_keys():
|
|
365
|
+
""" Check if any of the colour_dicts have missing keys--i.e., if their keys are incongruous. """
|
|
366
|
+
ref = 0
|
|
367
|
+
count = get_theme_count()
|
|
368
|
+
|
|
369
|
+
colours = [get_colours(i) for i in range(count)]
|
|
370
|
+
|
|
371
|
+
diffs = []
|
|
372
|
+
for i in range(count):
|
|
373
|
+
print(f"{i}")
|
|
374
|
+
for j in range(count):
|
|
375
|
+
diff = set(colours[i].keys()) - set(colours[j].keys())
|
|
376
|
+
print(f" colours[{i}] - colours[{j}] = {diff}")
|
|
377
|
+
if diff:
|
|
378
|
+
diffs.append(f" colours[{i}] - colours[{j}] = {diff}")
|
|
379
|
+
|
|
380
|
+
if diffs:
|
|
381
|
+
print("*"*80)
|
|
382
|
+
print("*"*80)
|
|
383
|
+
for d in diffs:
|
|
384
|
+
print(d)
|
|
385
|
+
|
|
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
|