Skip to content
This repository has been archived by the owner on Mar 22, 2018. It is now read-only.

Commit

Permalink
keys are now sorted as desired, first id, then all non None valued ke…
Browse files Browse the repository at this point in the history
…ys, then all None valued keys.

timestamp up to seconds (no decimals).
making some order, preparing the removal of `pluginmgr.View` class in favour of `editor.GenericEditorView`.
closes #251
  • Loading branch information
mfrasca committed Dec 31, 2015
1 parent b205d3c commit ab57603
Show file tree
Hide file tree
Showing 3 changed files with 43 additions and 23 deletions.
20 changes: 14 additions & 6 deletions bauble/pluginmgr.py
Original file line number Diff line number Diff line change
Expand Up @@ -480,13 +480,21 @@ def __init__(self, *args, **kwargs):
If a class extends this View and provides its own __init__ it *must*
call its parent (this) __init__
"""
root_widget = kwargs.get('root_widget')
if root_widget is not None:
del kwargs['root_widget']
filename = kwargs.get('filename')
if filename is not None:
del kwargs['filename']
root_widget_name = kwargs.get('root_widget_name')
del kwargs['root_widget_name']
super(View, self).__init__(*args, **kwargs)
if root_widget is not None:
self.view.widgets.remove_parent(root_widget)
self.add(root_widget)
if filename is not None:
from bauble import utils, editor
self.widgets = utils.load_widgets(filename)
self.view = editor.GenericEditorView(
filename, root_widget_name=root_widget_name)
root_widget = getattr(self.view.widgets, root_widget_name)
widget = root_widget.get_children()[0]
self.view.widgets.remove_parent(widget)
self.add(widget)

def cancel_threads(self):
pass
Expand Down
10 changes: 3 additions & 7 deletions bauble/prefs.py
Original file line number Diff line number Diff line change
Expand Up @@ -251,13 +251,9 @@ class PrefsView(pluginmgr.View):

def __init__(self):
logger.debug('PrefsView::__init__')
filename = os.path.join(paths.lib_dir(), 'bauble.glade')
from bauble import utils, editor
self.widgets = utils.load_widgets(filename)
self.view = editor.GenericEditorView(
filename, root_widget_name='prefs_window')
super(PrefsView, self
).__init__(root_widget=self.view.widgets.prefs_view)
super(PrefsView, self).__init__(
filename=os.path.join(paths.lib_dir(), 'bauble.glade'),
root_widget_name='prefs_window')
self.view.connect_signals(self)
self.prefs_ls = self.view.widgets.prefs_prefs_ls
self.plugins_ls = self.view.widgets.prefs_plugins_ls
Expand Down
36 changes: 26 additions & 10 deletions bauble/view.py
Original file line number Diff line number Diff line change
Expand Up @@ -1266,13 +1266,9 @@ class HistoryView(pluginmgr.View):

def __init__(self):
logger.debug('PrefsView::__init__')
filename = os.path.join(paths.lib_dir(), 'bauble.glade')
from bauble import utils, editor
self.widgets = utils.load_widgets(filename)
self.view = editor.GenericEditorView(
filename, root_widget_name='history_window')
super(HistoryView, self
).__init__(root_widget=self.view.widgets.history_sv)
super(HistoryView, self).__init__(
filename=os.path.join(paths.lib_dir(), 'bauble.glade'),
root_widget_name='history_window')
self.view.connect_signals(self)
self.liststore = self.view.widgets.history_ls
self.update()
Expand All @@ -1289,12 +1285,32 @@ def update(self):
del d['_created']
del d['_last_updated']
friendly = ', '.join(u"%s: %s" % (k, self.show_typed_value(v))
for k, v in sorted(d.items())
for k, v in sorted(d.items(), self.cmp_items)
)
self.liststore.append([item.timestamp, item.operation, item.user,
item.table_name, friendly, item.values])
self.liststore.append([
("%s" % item.timestamp)[:19], item.operation, item.user,
item.table_name, friendly, item.values
])
session.close()

@staticmethod
def cmp_items(a, b):
ka, va = a
kb, vb = b
if ka == 'id':
return -1
if kb == 'id':
return 1
if va == 'None' and vb != 'None':
return 1
if vb == 'None' and va != 'None':
return -1
if a < b:
return -1
if b < a:
return 1
return 0

@staticmethod
def show_typed_value(v):
try:
Expand Down

0 comments on commit ab57603

Please sign in to comment.