/snap/core20/2769/usr/share/subiquity/subiquitycore
NameSizeModeActions
controllers/-0755rm
models/-0755rm
testing/-0755rm
tests/-0755rm
ui/-0755rm
__pycache__/-0755rm
async_helpers.py23270644editdlrm
context.py44140644editdlrm
controller.py46240644editdlrm
controllerset.py18980644editdlrm
core.py167380644editdlrm
file_util.py8320644editdlrm
gettext38.py275650644editdlrm
i18n.py17800644editdlrm
log.py15160644editdlrm
lsb_release.py7340644editdlrm
netplan.py54710644editdlrm
palette.py46410644editdlrm
prober.py20480644editdlrm
screen.py50170644editdlrm
signals.py20170644editdlrm
snapd.py59320644editdlrm
ssh.py30620644editdlrm
utils.py53660644editdlrm
view.py34330644editdlrm
__init__.py7100644editdlrm
Edit: /snap/core20/2769/usr/share/subiquity/subiquitycore/signals.py (2017B)
# Copyright 2015 Canonical, Ltd. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, version 3. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . """ Registers all known signal emitters """ import logging import types import urwid log = logging.getLogger('subiquity.signals') class SignalException(Exception): "Problem with a signal" class Signal: known_signals = [] def register_signals(self, signals): if type(signals) is list: self.known_signals.extend(signals) else: self.known_signals.append(signals) urwid.register_signal(Signal, self.known_signals) def emit_signal(self, name, *args, **kwargs): urwid.emit_signal(self, name, *args, **kwargs) def connect_signal(self, name, cb): if isinstance(cb, types.MethodType): scb = "{}.{}".format( cb.__self__.__class__.__name__, cb.__func__.__name__) else: scb = str(cb) log.debug("connect_signal: %s -> %s", name, scb) urwid.connect_signal(self, name, cb) def connect_signals(self, signal_callback): """ Connects a batch of signals :param list signal_callback: List of tuples eg. ('signame', self.cb) """ if not type(signal_callback) is list: raise SignalException( "Passed something other than a required list.") for sig, cb in signal_callback: if sig not in self.known_signals: self.register_signals(sig) self.connect_signal(sig, cb)