listpick 0.1.16.6__py3-none-any.whl → 0.1.16.8__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.
listpick/listpick_app.py CHANGED
@@ -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 = get_colours(0),
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 = 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
 
@@ -1580,7 +1585,7 @@ class Picker:
1580
1585
 
1581
1586
  self.logger.info(f"function: notification()")
1582
1587
  """ Notification box. """
1583
- notification_width, notification_height = 50, 7
1588
+ notification_width, notification_height = min(self.term_w-4, 50), 7
1584
1589
  message_width = notification_width-5
1585
1590
 
1586
1591
  if not message: message = "!!"
@@ -1595,7 +1600,7 @@ class Picker:
1595
1600
  while True:
1596
1601
  self.update_term_size()
1597
1602
 
1598
- submenu_win = curses.newwin(notification_height, notification_width, 3, self.term_w - (notification_width+4))
1603
+ submenu_win = curses.newwin(notification_height, notification_width, 3, self.term_w - (notification_width+2))
1599
1604
  notification_data = {
1600
1605
  "items": submenu_items,
1601
1606
  "title": title,
@@ -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)
listpick/ui/build_help.py CHANGED
@@ -68,7 +68,7 @@ def build_help_rows(keys_dict: dict, debug: bool = False) -> list[list[str]]:
68
68
 
69
69
  ## Key descriptions
70
70
  help_descriptions = {
71
- "refresh": "Refresh the screen.",
71
+ "refresh": "Refresh data.",
72
72
  "help": "Open help.",
73
73
  "exit": "Exit picker instance.",
74
74
  "full_exit": "Immediate exit to terminal.",
@@ -119,7 +119,7 @@ def build_help_rows(keys_dict: dict, debug: bool = False) -> list[list[str]]:
119
119
  "col_hide": "Hide column.",
120
120
  "edit": "Edit cell.",
121
121
  "edit_picker": "Edit cell from options dialogue.",
122
- "edit_ipython": "Edit current data with ipython.",
122
+ "edit_ipython": "Drop to ipython shell with environment as `self`",
123
123
  "copy": "Copy selections.",
124
124
  "paste": "Paste into picker.",
125
125
  "save": "Save selections.",
@@ -153,9 +153,9 @@ def build_help_rows(keys_dict: dict, debug: bool = False) -> list[list[str]]:
153
153
  "UI:": [ "toggle_footer", "redraw_screen", "decrease_lines_per_page", "increase_lines_per_page", "increase_column_width", "decrease_column_width", "notification_toggle", "toggle_right_pane", "cycle_right_pane"],
154
154
  "Sort:": [ "cycle_sort_method", "cycle_sort_method_reverse", "cycle_sort_order", ] ,
155
155
  "Data manipulation:": [ "delete", "delete_column", "edit", "edit_picker", "edit_ipython", "add_column_before", "add_column_after", "add_row_before", "add_row_after"],
156
- "Filter and sort:": [ "filter_input", "search_input", "continue_search_forward", "continue_search_backward", ] ,
156
+ "Filter and search:": [ "filter_input", "search_input", "continue_search_forward", "continue_search_backward", ] ,
157
157
  "Settings:": [ "settings_input", "settings_options" ],
158
- "Cancel:": [ "opts_input", "opts_select", "mode_next", "mode_prev", "pipe_input", "reset_opts", "col_select", "col_select_next", "col_select_prev", "col_hide" ],
158
+ "Options and modes:": [ "opts_input", "opts_select", "mode_next", "mode_prev", "pipe_input", "reset_opts", "col_select", "col_select_next", "col_select_prev", "col_hide" ],
159
159
  "Save, load, copy and paste:": [ "save", "load", "open", "copy", "paste" ],
160
160
  "Misc:": [ "redo", "undo", "refresh", "help", "exit", "full_exit", "move_column_left", "move_column_right" ],
161
161
  }
listpick/ui/keys.py CHANGED
@@ -104,8 +104,8 @@ help_keys = {
104
104
  "page_down": [curses.KEY_NPAGE, 6],
105
105
  "cursor_bottom": [ord('G'), curses.KEY_END],
106
106
  "cursor_top": [ord('g'), curses.KEY_HOME],
107
- "five_up": [ord('K')],
108
- "five_down": [ord('J')],
107
+ "five_up": [ord('K'), keycodes.META_k],
108
+ "five_down": [ord('J'), keycodes.META_j],
109
109
  "redraw_screen": [12], # Ctrl+l
110
110
  "cycle_sort_method": [ord('s')],
111
111
  "cycle_sort_method_reverse": [ord('S')],
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: listpick
3
- Version: 0.1.16.6
3
+ Version: 0.1.16.8
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,17 +1,17 @@
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=SenpQGK9E7bp21SLM2dMuWiTrhBoCGkeg8SRHPNGH-A,201481
3
+ listpick/listpick_app.py,sha256=oFkMaWdoqd6fId1hBSavY2Nsoql6EcVppd4d7mgVVGo,201956
4
4
  listpick/pane/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  listpick/pane/get_data.py,sha256=l12mHIb6qoZWIfW5zZZY8K8EqNcyIcRiHgtRaM2CVGs,2735
6
6
  listpick/pane/pane_functions.py,sha256=_dL9jHpd3sT0enL9H_bMcUsBlMELXdtP9dtKFSC2KPQ,5117
7
7
  listpick/pane/pane_utils.py,sha256=cnuzBH52wdWoKrHR6iMBF4N-uhwpXYpHDnrglk21pqg,2539
8
8
  listpick/ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
- listpick/ui/build_help.py,sha256=IpN4tX4U8ET3icRoTlF389VqVjVcPAon617vgstlPAc,10750
9
+ listpick/ui/build_help.py,sha256=FNKshZpYJfgF-17ad5Mq0IGeBEo7y52u3CcpQ8ajlOs,10774
10
10
  listpick/ui/draw_screen.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
11
  listpick/ui/footer.py,sha256=NcdH1uO_ma91m0qCczyQZ3zGrexfkiEnwDf5E4tHSMk,15089
12
12
  listpick/ui/help_screen.py,sha256=zbfGIgb-IXtATpl4_Sx7nPbsnRXZ7eiMYlCKGS9EFmw,5608
13
13
  listpick/ui/input_field.py,sha256=scJjvmSS0QqeDbCky7_0Zgt35Aki7gezRJkrQROlLg4,30034
14
- listpick/ui/keys.py,sha256=1NCsOPFxhNuVPbO5vflcArNZ1jbBBerPQ3oZUAZDyPs,13682
14
+ listpick/ui/keys.py,sha256=rOOhvxfrQ1LRuLJYf_6pAQcuugxHo-M9TQn7Qow5uIg,13716
15
15
  listpick/ui/picker_colours.py,sha256=FFsyny_q0mGO6u7B1n7anuReBtP7Jw6LrgX5ycN-MRM,13413
16
16
  listpick/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
17
  listpick/utils/clipboard_operations.py,sha256=ORdNm2kgGbfs51xJSvgJPERgoSmBgT11axuMkvSoP9A,3133
@@ -31,9 +31,9 @@ listpick/utils/sorting.py,sha256=WZZiVlVA3Zkcpwji3U5SNFlQ14zVEk3cZJtQirBkecQ,532
31
31
  listpick/utils/table_to_list_of_lists.py,sha256=XBj7eGBDF15BRME-swnoXyOfZWxXCxrXp0pzsBfcJ5g,12224
32
32
  listpick/utils/user_input.py,sha256=L3ylI7nnuFM_TP1XKwpiKpxUSkNb2W5cr7mJjTmv_6E,4582
33
33
  listpick/utils/utils.py,sha256=nsR6orCBQy3rTXrCweq8cV-RzRVU15v3J9NclPeAOJk,13741
34
- listpick-0.1.16.6.dist-info/licenses/LICENSE.txt,sha256=2mP-MRHJptADDNE9VInMNg1tE-C6Qv93Z4CCQKrpg9w,1061
35
- listpick-0.1.16.6.dist-info/METADATA,sha256=q67Zxlt_QP9xQwlQfG07KEBULpHt2r6E_U3xeTAjp5c,8128
36
- listpick-0.1.16.6.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
37
- listpick-0.1.16.6.dist-info/entry_points.txt,sha256=-QCf_BKIkUz35Y9nkYpjZWs2Qg0KfRna2PAs5DnF6BE,43
38
- listpick-0.1.16.6.dist-info/top_level.txt,sha256=5mtsGEz86rz3qQDe0D463gGjAfSp6A3EWg4J4AGYr-Q,9
39
- listpick-0.1.16.6.dist-info/RECORD,,
34
+ listpick-0.1.16.8.dist-info/licenses/LICENSE.txt,sha256=2mP-MRHJptADDNE9VInMNg1tE-C6Qv93Z4CCQKrpg9w,1061
35
+ listpick-0.1.16.8.dist-info/METADATA,sha256=ywGEK-Ljulg5NRWTW-AKhbZSCDOcASjOK5UdOSmWeo4,8128
36
+ listpick-0.1.16.8.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
37
+ listpick-0.1.16.8.dist-info/entry_points.txt,sha256=-QCf_BKIkUz35Y9nkYpjZWs2Qg0KfRna2PAs5DnF6BE,43
38
+ listpick-0.1.16.8.dist-info/top_level.txt,sha256=5mtsGEz86rz3qQDe0D463gGjAfSp6A3EWg4J4AGYr-Q,9
39
+ listpick-0.1.16.8.dist-info/RECORD,,