Mercurial > libervia-backend
comparison sat_frontends/primitivus/progress.py @ 2624:56f94936df1e
code style reformatting using black
author | Goffi <goffi@goffi.org> |
---|---|
date | Wed, 27 Jun 2018 20:14:46 +0200 |
parents | 26edcf3a30eb |
children | 003b8b4b56a7 |
comparison
equal
deleted
inserted
replaced
2623:49533de4540b | 2624:56f94936df1e |
---|---|
32 self.host = host | 32 self.host = host |
33 self.progress_list = urwid.SimpleListWalker([]) | 33 self.progress_list = urwid.SimpleListWalker([]) |
34 self.progress_dict = {} | 34 self.progress_dict = {} |
35 listbox = urwid.ListBox(self.progress_list) | 35 listbox = urwid.ListBox(self.progress_list) |
36 buttons = [] | 36 buttons = [] |
37 buttons.append(sat_widgets.CustomButton(_('Clear progress list'), self._onClear)) | 37 buttons.append(sat_widgets.CustomButton(_("Clear progress list"), self._onClear)) |
38 max_len = max([button.getSize() for button in buttons]) | 38 max_len = max([button.getSize() for button in buttons]) |
39 buttons_wid = urwid.GridFlow(buttons,max_len,1,0,'center') | 39 buttons_wid = urwid.GridFlow(buttons, max_len, 1, 0, "center") |
40 main_wid = sat_widgets.FocusFrame(listbox, footer=buttons_wid) | 40 main_wid = sat_widgets.FocusFrame(listbox, footer=buttons_wid) |
41 urwid.WidgetWrap.__init__(self, main_wid) | 41 urwid.WidgetWrap.__init__(self, main_wid) |
42 | 42 |
43 def add(self, progress_id, message, profile): | 43 def add(self, progress_id, message, profile): |
44 mess_wid = urwid.Text(message) | 44 mess_wid = urwid.Text(message) |
45 progr_wid = urwid.ProgressBar('progress_normal', 'progress_complete') | 45 progr_wid = urwid.ProgressBar("progress_normal", "progress_complete") |
46 column = urwid.Columns([mess_wid, progr_wid]) | 46 column = urwid.Columns([mess_wid, progr_wid]) |
47 self.progress_dict[(progress_id, profile)] = {'full':column,'progress':progr_wid,'state':'init'} | 47 self.progress_dict[(progress_id, profile)] = { |
48 "full": column, | |
49 "progress": progr_wid, | |
50 "state": "init", | |
51 } | |
48 self.progress_list.append(column) | 52 self.progress_list.append(column) |
49 self.progressCB(self.host.loop, (progress_id, message, profile)) | 53 self.progressCB(self.host.loop, (progress_id, message, profile)) |
50 | 54 |
51 def progressCB(self, loop, data): | 55 def progressCB(self, loop, data): |
52 progress_id, message, profile = data | 56 progress_id, message, profile = data |
53 data = self.host.bridge.progressGet(progress_id, profile) | 57 data = self.host.bridge.progressGet(progress_id, profile) |
54 pbar = self.progress_dict[(progress_id, profile)]['progress'] | 58 pbar = self.progress_dict[(progress_id, profile)]["progress"] |
55 if data: | 59 if data: |
56 if self.progress_dict[(progress_id, profile)]['state'] == 'init': | 60 if self.progress_dict[(progress_id, profile)]["state"] == "init": |
57 #first answer, we must construct the bar | 61 # first answer, we must construct the bar |
58 self.progress_dict[(progress_id, profile)]['state'] = 'progress' | 62 self.progress_dict[(progress_id, profile)]["state"] = "progress" |
59 pbar.done = float(data['size']) | 63 pbar.done = float(data["size"]) |
60 | 64 |
61 pbar.set_completion(float(data['position'])) | 65 pbar.set_completion(float(data["position"])) |
62 self.updateNotBar() | 66 self.updateNotBar() |
63 else: | 67 else: |
64 if self.progress_dict[(progress_id, profile)]['state'] == 'progress': | 68 if self.progress_dict[(progress_id, profile)]["state"] == "progress": |
65 self.progress_dict[(progress_id, profile)]['state'] = 'done' | 69 self.progress_dict[(progress_id, profile)]["state"] = "done" |
66 pbar.set_completion(pbar.done) | 70 pbar.set_completion(pbar.done) |
67 self.updateNotBar() | 71 self.updateNotBar() |
68 return | 72 return |
69 | 73 |
70 loop.set_alarm_in(0.2,self.progressCB, (progress_id, message, profile)) | 74 loop.set_alarm_in(0.2, self.progressCB, (progress_id, message, profile)) |
71 | 75 |
72 def _removeBar(self, progress_id, profile): | 76 def _removeBar(self, progress_id, profile): |
73 wid = self.progress_dict[(progress_id, profile)]['full'] | 77 wid = self.progress_dict[(progress_id, profile)]["full"] |
74 self.progress_list.remove(wid) | 78 self.progress_list.remove(wid) |
75 del(self.progress_dict[(progress_id, profile)]) | 79 del (self.progress_dict[(progress_id, profile)]) |
76 | 80 |
77 def _onClear(self, button): | 81 def _onClear(self, button): |
78 to_remove = [] | 82 to_remove = [] |
79 for progress_id, profile in self.progress_dict: | 83 for progress_id, profile in self.progress_dict: |
80 if self.progress_dict[(progress_id, profile)]['state'] == 'done': | 84 if self.progress_dict[(progress_id, profile)]["state"] == "done": |
81 to_remove.append((progress_id, profile)) | 85 to_remove.append((progress_id, profile)) |
82 for progress_id, profile in to_remove: | 86 for progress_id, profile in to_remove: |
83 self._removeBar(progress_id, profile) | 87 self._removeBar(progress_id, profile) |
84 self.updateNotBar() | 88 self.updateNotBar() |
85 | 89 |
86 def updateNotBar(self): | 90 def updateNotBar(self): |
87 if not self.progress_dict: | 91 if not self.progress_dict: |
88 self.host.setProgress(None) | 92 self.host.setProgress(None) |
89 return | 93 return |
90 progress = 0 | 94 progress = 0 |
91 nb_bars = 0 | 95 nb_bars = 0 |
92 for progress_id, profile in self.progress_dict: | 96 for progress_id, profile in self.progress_dict: |
93 pbar = self.progress_dict[(progress_id, profile)]['progress'] | 97 pbar = self.progress_dict[(progress_id, profile)]["progress"] |
94 progress += pbar.current/pbar.done*100 | 98 progress += pbar.current / pbar.done * 100 |
95 nb_bars+=1 | 99 nb_bars += 1 |
96 av_progress = progress/float(nb_bars) | 100 av_progress = progress / float(nb_bars) |
97 self.host.setProgress(av_progress) | 101 self.host.setProgress(av_progress) |
98 |