Skip to content

Commit 65025d5

Browse files
committed
- More on global functions implementation
- Updating docs
1 parent a548c89 commit 65025d5

File tree

7 files changed

+146
-60
lines changed

7 files changed

+146
-60
lines changed

devel/pre-commit

+2-2
Original file line numberDiff line numberDiff line change
@@ -113,8 +113,8 @@ do
113113
-e 's/<.sup>P/^P/' \
114114
-e 's|N<strong>, </strong>\^P|N</strong>, <strong>^P|' \
115115
-e 's|<sup>X<strong>|^X</strong>|' \
116-
-e 's|<.strong>w<strong>|<strong>w</strong>|' \
117-
-e 's|<.strong><.sup>W<.strong>|<strong>^W</strong>|' \
116+
-e 's|<.strong>e<strong>|<strong>e</strong>|' \
117+
-e 's|<.strong><.sup>E<.strong>|<strong>^E</strong>|' \
118118
"$out"
119119
fi
120120
#sed -i "/^alt=/d" ${out}

pyradio/browser.py

+24-9
Original file line numberDiff line numberDiff line change
@@ -1231,7 +1231,7 @@ def get_internal_header(self, pad, width):
12311231
highlight = -1
12321232
return highlight, ((title, columns_separotors, columns[self._output_format]), )
12331233

1234-
def select_servers(self, with_config=False, return_function=None, init=False):
1234+
def select_servers(self, with_config=False, return_function=None, init=False, global_functions=None):
12351235
''' RadioBrowser select servers '''
12361236
if init:
12371237
self._server_selection_window = None
@@ -1246,15 +1246,18 @@ def select_servers(self, with_config=False, return_function=None, init=False):
12461246
self._config_win._params[0]['ping_timeout'],
12471247
Y=11, X=19,
12481248
show_random=True,
1249-
return_function=return_function)
1249+
return_function=return_function,
1250+
global_functions=global_functions
1251+
)
12501252
else:
12511253
self._server_selection_window = RadioBrowserServersSelect(
12521254
self.parent,
12531255
self._dns_info.server_urls,
12541256
self._server,
12551257
self._default_ping_count,
12561258
self._default_ping_timeout,
1257-
return_function=return_function
1259+
return_function=return_function,
1260+
global_functions=global_functions
12581261
)
12591262
else:
12601263
self._server_selection_window.set_parent(self.parent)
@@ -2043,7 +2046,7 @@ def save_config(self):
20432046
''' config not modified '''
20442047
return -4
20452048

2046-
def select_servers(self, with_config=False, return_function=None, init=False):
2049+
def select_servers(self, with_config=False, return_function=None, init=False, global_functions=None):
20472050
''' RadioBrowserConfigWindow select servers '''
20482051
if init:
20492052
self._server_selection_window = None
@@ -2056,7 +2059,9 @@ def select_servers(self, with_config=False, return_function=None, init=False):
20562059
self._params[0]['ping_timeout'],
20572060
Y=11, X=19,
20582061
show_random=True,
2059-
return_function=return_function)
2062+
return_function=return_function,
2063+
global_functions=global_functions
2064+
)
20602065
else:
20612066
self._server_selection_window.set_parent(self._win)
20622067
# self.keyboard_handler = self._server_selection_window
@@ -3814,7 +3819,8 @@ def __init__(self,
38143819
Y=None,
38153820
X=None,
38163821
show_random=False,
3817-
return_function=None):
3822+
return_function=None,
3823+
global_functions=None):
38183824
''' Server selection Window
38193825
if Y and X are valid (not None)
38203826
keypress just returns 0
@@ -3830,7 +3836,7 @@ def __init__(self,
38303836
self._return_function = return_function
38313837

38323838
self.servers = RadioBrowserServers(
3833-
parent, servers, current_server, show_random
3839+
parent, servers, current_server, show_random, global_functions
38343840
)
38353841
self.maxY = self.servers.maxY + 2
38363842
self.maxX = self.servers.maxX + 2
@@ -3954,7 +3960,7 @@ class RadioBrowserServers(object):
39543960
_too_small = False
39553961
from_config = False
39563962

3957-
def __init__(self, parent, servers, current_server, show_random=False):
3963+
def __init__(self, parent, servers, current_server, show_random=False, global_functions=None):
39583964
self._parent = parent
39593965
self.items = list(servers)
39603966
self.server = current_server
@@ -3973,6 +3979,12 @@ def __init__(self, parent, servers, current_server, show_random=False):
39733979
self.items[i] = self.items[i].replace('(', ' ' * (s_max - len(self.items[i])) + '(')
39743980
self.maxY = len(self.items)
39753981
self.maxX = len(self.items[0])
3982+
self._global_functions = {}
3983+
# if global_functions is not None:
3984+
# logger.error('\n\n{}\n\n'.format(global_functions))
3985+
# self._global_functions = deepcopy(global_functions)
3986+
# if 't' in self._global_functions.keys():
3987+
# del self._global_functions['t']
39763988

39773989
if show_random:
39783990
self.items.reverse()
@@ -4032,7 +4044,10 @@ def keypress(self, char):
40324044
if self._too_small:
40334045
return 1
40344046

4035-
if char in (
4047+
if chr(char) in self._global_functions.keys():
4048+
self._global_functions[chr(char)]()
4049+
return 1
4050+
elif char in (
40364051
curses.KEY_EXIT, ord('q'), 27,
40374052
ord('h'), curses.KEY_LEFT
40384053
):

pyradio/config_window.py

-2
Original file line numberDiff line numberDiff line change
@@ -560,7 +560,6 @@ def set_parrent(self, window):
560560
self._redisplay()
561561

562562
def _redisplay(self):
563-
logger.error('_redisplay()')
564563
pY, pX = self._parent.getmaxyx()
565564
logger.error('pY = {0}, pX = {1}'.format(pY, pX))
566565
if pY < self._max_lines + 2 or pX < 30:
@@ -595,7 +594,6 @@ def _redisplay(self):
595594
)
596595

597596
def show(self):
598-
logger.error('show()')
599597
self._win.bkgdset(' ', curses.color_pair(3))
600598
self._win.erase()
601599
self._win.box()

0 commit comments

Comments
 (0)