listpick 0.1.14.12__py3-none-any.whl → 0.1.14.14__py3-none-any.whl

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/listpick_app.py CHANGED
@@ -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
- selected_indices = [self.indexed_items[self.cursor_pos][0]]
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
- # full_values = [format_row_full(self.items[i], self.hidden_columns) for i in selected_indices] # Use format_row_full for full data
3189
- if self.cell_cursor:
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 = [self.items[i][self.selected_column] for i in selected_indices]
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
listpick/ui/build_help.py CHANGED
@@ -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": "Open from file.",
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': 25,
28
+ 'cursor_bg': 21,
29
29
  'cursor_fg': 253,
30
- 'selected_bg': 135,
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': 237,
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
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: listpick
3
- Version: 0.1.14.12
3
+ Version: 0.1.14.14
4
4
  Summary: Listpick is a powerful TUI data tool for creating TUI apps or viewing/comparing tabulated data.
5
5
  Home-page: https://github.com/grimandgreedy/listpick
6
6
  Author: Grim
@@ -1,14 +1,14 @@
1
1
  listpick/__init__.py,sha256=ExXc97-bibodH--wlwpQivl0zCNR5D1hvpvrf7OBofU,154
2
2
  listpick/__main__.py,sha256=wkCjDdqw093W27yWwnlC3nG_sMRKaIad7hHHWy0RBgY,193
3
- listpick/listpick_app.py,sha256=w0G2R8XW3tM9MnTWITd4G_amoAbgRBIge1cjHi82RLc,187024
3
+ listpick/listpick_app.py,sha256=lvmg2iAxoL91NMv7ptQmdjZHCG0GvsSIqEKBJmtDhFw,187716
4
4
  listpick/ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
- listpick/ui/build_help.py,sha256=3cgthxOOBl9evsgea5gVtIacuwbL68_FmtyWyJK6Re8,10142
5
+ listpick/ui/build_help.py,sha256=B_NuIqexvqui8sDZotyu36aN_Yypfg6EJYCynZICLOY,10176
6
6
  listpick/ui/footer.py,sha256=9oJm95pOCxMEoS7Y-77G3D3dPGK4NnsqPMEAtaOpJco,15087
7
7
  listpick/ui/help_screen.py,sha256=zbfGIgb-IXtATpl4_Sx7nPbsnRXZ7eiMYlCKGS9EFmw,5608
8
8
  listpick/ui/input_field.py,sha256=ylf3fiLXdAD4pueHWfzIrlwaRb9f5zm8f1UGkEPBxgM,30539
9
9
  listpick/ui/keys.py,sha256=7ZhJfsSatpk-jwfXj_FvzgQsQdUoF7JkD5Mniu9XZ0o,13328
10
10
  listpick/ui/pane_stuff.py,sha256=7GXa4UnV_7YmBv-baRi5moN51wYcuS4p0odl5C3m0Tc,169
11
- listpick/ui/picker_colours.py,sha256=KUgcgbfSo3azPMRPtv4mNAdwrP0UFqjNbRYEZXnTF4M,11711
11
+ listpick/ui/picker_colours.py,sha256=wftDxmUI6tGmOIPwBe4rUUsrPTtpFGgztptCifa_tqA,12287
12
12
  listpick/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
13
  listpick/utils/clipboard_operations.py,sha256=ORdNm2kgGbfs51xJSvgJPERgoSmBgT11axuMkvSoP9A,3133
14
14
  listpick/utils/config.py,sha256=MEnAZg2Rhfl38XofEIN0uoVAOY7I0ftc79Evk3fOiVw,1654
@@ -25,9 +25,9 @@ listpick/utils/sorting.py,sha256=WZZiVlVA3Zkcpwji3U5SNFlQ14zVEk3cZJtQirBkecQ,532
25
25
  listpick/utils/table_to_list_of_lists.py,sha256=XBj7eGBDF15BRME-swnoXyOfZWxXCxrXp0pzsBfcJ5g,12224
26
26
  listpick/utils/user_input.py,sha256=oyJZPAwA7UGAclPhdPL44tKnPIVNHWhX-tZEnCdBKC0,4318
27
27
  listpick/utils/utils.py,sha256=McOl9uT3jh7l4TIWeSd8ZGjK_e7r0YZF0Gl20yI6fl0,13873
28
- listpick-0.1.14.12.dist-info/licenses/LICENSE.txt,sha256=2mP-MRHJptADDNE9VInMNg1tE-C6Qv93Z4CCQKrpg9w,1061
29
- listpick-0.1.14.12.dist-info/METADATA,sha256=96KlF5-CLZlyrw1h1eXDvMmLINB5iLB3WcR8X_-p-Ls,8091
30
- listpick-0.1.14.12.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
31
- listpick-0.1.14.12.dist-info/entry_points.txt,sha256=-QCf_BKIkUz35Y9nkYpjZWs2Qg0KfRna2PAs5DnF6BE,43
32
- listpick-0.1.14.12.dist-info/top_level.txt,sha256=5mtsGEz86rz3qQDe0D463gGjAfSp6A3EWg4J4AGYr-Q,9
33
- listpick-0.1.14.12.dist-info/RECORD,,
28
+ listpick-0.1.14.14.dist-info/licenses/LICENSE.txt,sha256=2mP-MRHJptADDNE9VInMNg1tE-C6Qv93Z4CCQKrpg9w,1061
29
+ listpick-0.1.14.14.dist-info/METADATA,sha256=Xm4gp-Ad6QT0I7nKM7k9c00IWS9xLNj5R68nRAVTzOc,8091
30
+ listpick-0.1.14.14.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
31
+ listpick-0.1.14.14.dist-info/entry_points.txt,sha256=-QCf_BKIkUz35Y9nkYpjZWs2Qg0KfRna2PAs5DnF6BE,43
32
+ listpick-0.1.14.14.dist-info/top_level.txt,sha256=5mtsGEz86rz3qQDe0D463gGjAfSp6A3EWg4J4AGYr-Q,9
33
+ listpick-0.1.14.14.dist-info/RECORD,,