Skip to content

Commit cdf947f

Browse files
committed
- version 0.9.3.11.15 - 0.9.3.14-beta15
- fixing #295 - crash when no localized keys present
1 parent 8f4e570 commit cdf947f

File tree

9 files changed

+49
-29
lines changed

9 files changed

+49
-29
lines changed

Changelog

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
1-
2025-06-19 s-n-g
1+
2025-06-18 s-n-g
2+
* version 0.9.3.11.15 - 0.9.3.14-beta15
3+
* fixing #295 - crash when no localized keys present
4+
5+
2025-06-17 s-n-g
26
* version 0.9.3.11.14 - 0.9.3.14-beta14
37
* added a confirmation dialog to the Configuration Window, to
48
inform the user that the changes will be lost

docs/index.html

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,11 @@ <h2 id="requirements">Requirements <span style="padding-left: 10px;"><sup style=
190190
<h2 id="changelog">Changelog <span style="padding-left: 10px;"><sup style="font-size: 50%"><a href="#" title="Go to top of the page">Top</a></sup></span></h2>
191191
<pre style="height: 200px;">
192192

193-
2025-06-19 s-n-g
193+
2025-06-18 s-n-g
194+
* version 0.9.3.11.15 - 0.9.3.14-beta15
195+
* fixing #295 - crash when no localized keys present
196+
197+
2025-06-17 s-n-g
194198
* version 0.9.3.11.14 - 0.9.3.14-beta14
195199
* added a confirmation dialog to the Configuration Window, to
196200
inform the user that the changes will be lost

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "pyradio"
3-
version = "0.9.3.11.14"
3+
version = "0.9.3.11.15"
44
authors = [
55
{ name="Ben Dowling", email="[email protected]" },
66
{ name="Spiros Georgaras", email="[email protected]" },

pyradio/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# -*- coding: utf-8 -*-
22
" pyradio -- Console radio player. "
33

4-
version_info = (0, 9, 3, 11, 14)
4+
version_info = (0, 9, 3, 11, 15)
55

66
# Set it to True if new stations have been
77
# added to the package's stations.csv

pyradio/config_window.py

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4338,6 +4338,12 @@ def keypress(self, char):
43384338
class PyRadioLocalized():
43394339
""" Read and write localized data """
43404340

4341+
''' widget 0 posistion
4342+
0: active item
4343+
0: selection
4344+
'''
4345+
_pos = (0, 0)
4346+
43414347
def __init__(
43424348
self,
43434349
config,
@@ -4569,11 +4575,8 @@ def _make_selection_visible(self):
45694575
pass
45704576

45714577
def show(self, parent=None, reset=False):
4572-
self._old_widget_0_selection = -1
45734578
if reset:
45744579
# logger.error('\n\nRESET\n\n')
4575-
# if self._widgets[0] is not None:
4576-
# self._old_widget_0_selection = self.layout
45774580
# self._widgets[0] = None
45784581
# self._widgets[1] = None
45794582
pass
@@ -4644,9 +4647,8 @@ def show(self, parent=None, reset=False):
46444647
self._widgets[0].enabled = True
46454648
self._widgets[0].focused = True
46464649
self._widgets[0]._id = 0
4647-
if self._old_widget_0_selection > -1:
4648-
self.layout = self._old_widget_0_selection
46494650

4651+
logger.error('\n\nitems = {}\n\n'.format(items))
46504652
# widget 1: letters
46514653
if self._widgets[1] is None:
46524654
self._widgets[1] = LetterDisplay(
@@ -4790,13 +4792,15 @@ def _layout_changed(self):
47904792
self._widgets[1].show()
47914793

47924794
def _cancel_editing_mode(self, index):
4795+
logger.error('\n\nself.layout = {}\n\n'.format(self.layout))
47934796
self._read_layout_file(self.layout)
47944797
self._widgets[1].letters_dict = self.layout_dict
47954798
self.editing = None
47964799
self._widgets[2].enabled = True
47974800
# self.show()
47984801
if logger.isEnabledFor(logging.INFO):
47994802
logger.info('canceling editing mode')
4803+
self._widgets[0].active, self._widgets[0].selection = self._pos
48004804

48014805
def _set_ok_enabled(self):
48024806
if self.editing:
@@ -4840,14 +4844,19 @@ def keypress(self, char):
48404844
char == kbkey['add'] or \
48414845
check_localized(char, (kbkey['add'], ))
48424846
):
4847+
self._focus = 0
4848+
self._pos = (self._widgets[0].active, self._widgets[0].selection)
4849+
self._widgets[0].active = self._widgets[0].selection = 0
48434850
self._base_layout_name = None
4844-
self._old_widget_0_selection = self.layout
4851+
self._widgets[0].keypress(10)
4852+
self._needs_update = True
48454853

48464854
elif not self.editing and (
48474855
char == kbkey['edit'] or \
48484856
check_localized(char, (kbkey['edit'], ))
48494857
):
48504858
if self.layout > 1:
4859+
self._pos = (self._widgets[0].active, self._widgets[0].selection)
48514860
self._base_layout_name = self.layout_name
48524861
self._edit_layout(self.layout, self.layout_name)
48534862
if self.layout_read_olny:

pyradio/install.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
''' This is PyRadio version this
1818
install.py was released for
1919
'''
20-
PyRadioInstallPyReleaseVersion = '0.9.3.11.14'
20+
PyRadioInstallPyReleaseVersion = '0.9.3.11.15'
2121

2222
locale.setlocale(locale.LC_ALL, "")
2323

pyradio/keyboard.py

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -726,21 +726,24 @@ def get_check_next_byte(win):
726726
return out
727727

728728
def add_l10n_to_functions_dict(functions):
729-
local_functions = functions.copy()
730-
logger.error(local_functions)
729+
# logger.error(local_functions)
731730
local_keys = get_lkbkey()
732-
new_keys = {}
733-
for key, value in local_functions.items():
734-
logger.error(f'{key}: {value}')
735-
for lkey, lvalue in local_keys.items():
736-
if ord(lvalue) == key:
737-
logger.error(f' {lkey}: {lvalue}')
738-
logger.error(' {} {}'.format(ord(lvalue), value))
739-
new_keys[ord(lvalue)] = value
740-
break
741-
logger.error('\n\n{}'.format(new_keys))
742-
for n in new_keys:
743-
local_functions[n] = new_keys[n]
731+
if local_keys is None:
732+
return functions
733+
else:
734+
local_functions = functions.copy()
735+
new_keys = {}
736+
for key, value in local_functions.items():
737+
logger.error(f'{key}: {value}')
738+
for lkey, lvalue in local_keys.items():
739+
if ord(lvalue) == key:
740+
logger.error(f' {lkey}: {lvalue}')
741+
logger.error(' {} {}'.format(ord(lvalue), value))
742+
new_keys[ord(lvalue)] = value
743+
break
744+
logger.error('\n\n{}'.format(new_keys))
745+
for n in new_keys:
746+
local_functions[n] = new_keys[n]
744747
return local_functions
745748

746749
def remove_l10n_from_global_functions(global_functions, shortcut_names):

0 commit comments

Comments
 (0)