Clean up _get_window_registry.

This commit is contained in:
Florian Bruhin 2014-12-21 14:13:40 +01:00
parent 42890b8a7f
commit 877d814815

View File

@ -171,25 +171,19 @@ def _get_window_registry(window):
"""Get the registry of a window.""" """Get the registry of a window."""
if window is None: if window is None:
raise TypeError("window is None with scope window!") raise TypeError("window is None with scope window!")
if window == 'current': try:
app = get('app') if window == 'current':
win = app.activeWindow() app = get('app')
if win is None or not hasattr(win, 'win_id'): win = app.activeWindow()
raise RegistryUnavailableError('window') elif window == 'last-focused':
elif window == 'last-focused':
try:
win = get('last-focused-main-window')
except KeyError:
try: try:
win = get('last-focused-main-window')
except KeyError:
win = last_window() win = last_window()
except NoWindow: else:
raise RegistryUnavailableError('window')
assert hasattr(win, 'registry')
else:
try:
win = window_registry[window] win = window_registry[window]
except KeyError: except (KeyError, NoWindow):
raise RegistryUnavailableError('window') win = None
try: try:
return win.registry return win.registry
except AttributeError: except AttributeError: