8000 Debugger widget by hyamanieu · Pull Request #2548 · holoviz/panel · GitHub
[go: up one dir, main page]

Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
3bee676
First commit proposal debugger widget
hyamanieu Jul 14, 2021
41565b3
To work within a notebook
hyamanieu Jul 17, 2021
5f69a37
soberer look with css
hyamanieu Jul 17, 2021
1a563cd
minor visual bug
hyamanieu Jul 17, 2021
399fcbb
prepare merge to master
hyamanieu Jul 20, 2021
c4e2953
doc, added levels, style
hyamanieu Jul 20, 2021
ed8e819
button on top and soberer, readded reactive.py
hyamanieu Jul 20, 2021
54a2943
Merge branch 'holoviz:master' into debugger_widget
hyamanieu Jul 21, 2021
c370092
correct conflicts within reative.py
hyamanieu Jul 21, 2021
f245a79
formatting issues, doubled variable
hyamanieu Jul 21, 2021
fa2fe4d
Raise exceptions + handle .show
hyamanieu Jul 21, 2021
3cd5362
flakes
hyamanieu Jul 21, 2021
3e054f7
Merge branch 'holoviz:master' into debugger_widget
hyamanieu Jul 25, 2021
843e2c7
Merge branch 'master' of github.com:holoviz/panel into debugger_widget
hyamanieu Jul 26, 2021
754a470
Add save btn
hyamanieu Jul 26, 2021
48da9d6
Merge branch 'holoviz:master' into debugger_widget
hyamanieu Jul 29, 2021
1dcdf72
Fixed buttons + unit test
hyamanieu Jul 29, 2021
6568f0d
signature fix
hyamanieu Jul 29, 2021
2b11f4c
Added doc in reference gallery
hyamanieu Jul 30, 2021
a9f35e6
Grammar
hyamanieu Jul 30, 2021
39581cf
Merge branch 'master' into debugger_widget
hyamanieu Nov 10, 2021
d013768
Merge branch 'master' of github.com:holoviz/panel into debugger_widget
hyamanieu Apr 3, 2022
6587d7f
Cleanup and sizing fixes
philippjfr Apr 4, 2022
88ff629
Minor fixes
philippjfr Apr 4, 2022
d7114ab
Subscribe to panel logger
philippjfr Apr 4, 2022
0f4c5b2
Doc correction and more controls
hyamanieu Apr 9, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
soberer look with css
  • Loading branch information
hyamanieu committed Jul 17, 2021
commit 5f69a37ac3faa5c7272d42f59e33659487b635a0
24 changes: 24 additions & 0 deletions panel/dist/css/debugger.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
.bk.debugger-card {
border: 1px solid rgba(0,0,0,1);
border-radius: 0rem;
}
.bk.debugger-card-header {
align-items: center;
background-color: rgba(0, 0, 0, 1);
border-radius: 0rem;
display: inline-flex;
justify-content: start;
width: 100%;
}
.bk.debugger-card-button {
background-color: transparent;
color: rgba(255, 255, 255, 1);
margin-left: 0.5em;
}
.bk.debugger-card-title {
align-items: left;
text-align: left;
color: rgba(255, 255, 255, 1);
font-size: 1em;
overflow-wrap: break-word;
}
29 changes: 16 additions & 13 deletions panel/widgets/debugger.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,11 +92,11 @@ def filter(self,record):
if state.curdoc:
session_id = state.curdoc.session_context.id
else:
self.debugger.number_of_errors += 1
return True

if hasattr(self,'debugger'):
self.debugger.number_of_errors += 1
self.debugger.unread_errors = True
widget_session_ids = set(m.document.session_context.id
for m in sum(self.debugger._models.values(),tuple()))
if session_id not in widget_session_ids:
Expand All @@ -106,18 +106,23 @@ def filter(self,record):


class Debugger(Card):
unread_errors = param.Boolean(doc="On if there is a new error. Off once acknowledge",
default = False)

number_of_errors = param.Integer(doc="Number of logged messages since last acknowledged",
bounds=(0, None))

_rename = Card._rename.copy()
_rename.update({'unread_errors': None,
'number_of_errors': None})
_rename.update({'number_of_errors': None})

def __init__(self, *args,only_last=True,level=logging.ERROR, **kwargs):
super().__init__( *args, **kwargs)
#change default css
self.button_css_classes = ['debugger-card-button']
self.css_classes = ['debugger-card']
self.header_css_classes = ['debugger-card-header']
self.title_css_classes = ['debugger-card-title']



terminal = Terminal(height = self.height - 50 if self.height else None,
sizing_mode='stretch_width')
stream_handler = logging.StreamHandler(terminal)
Expand All @@ -138,13 +143,7 @@ def __init__(self, *args,only_last=True,level=logging.ERROR, **kwargs):
logger.addHandler(stream_handler)

#header
self.unread_errors_pane = BooleanStatus.from_param(self.param.unread_errors,
color='danger',
align=('center','start'))
self.log_counts = Str(0,
align=('center','start'))
self.param.watch(self.update_log_counts,'number_of_errors')
self.header = Row(self.unread_errors_pane,self.log_counts)

#body
self.ackn_btn = Button(name='Acknowledge errors')
Expand All @@ -159,11 +158,15 @@ def __init__(self, *args,only_last=True,level=logging.ERROR, **kwargs):
self.collapsed = True

def update_log_counts(self, event):
self.log_counts.object = self.number_of_errors
if self.number_of_errors:
self.title = f'<p><span style="color:rgb(190,0,0);">errors: </span> {self.number_of_errors}</p>'
else:
self.title = ''


def acknowledge_errors(self,event):
self.number_of_errors = 0
self.unread_errors = False
self.terminal.clear()



0