Make pylint happy
New pylint throw some more warnings.
This commit is contained in:
parent
0ada6d0b64
commit
fa72679b47
@ -480,7 +480,7 @@ class VMCollection(object):
|
|||||||
# if not self[netvm_qid].is_netvm():
|
# if not self[netvm_qid].is_netvm():
|
||||||
# return set([])
|
# return set([])
|
||||||
|
|
||||||
while len(new_vms) > 0:
|
while new_vms:
|
||||||
cur_vm = new_vms.pop()
|
cur_vm = new_vms.pop()
|
||||||
for vm in cur_vm.connected_vms:
|
for vm in cur_vm.connected_vms:
|
||||||
if vm in dependent_vms:
|
if vm in dependent_vms:
|
||||||
|
@ -216,8 +216,7 @@ class DeviceCollection(object):
|
|||||||
if dev:
|
if dev:
|
||||||
assert len(dev) == 1
|
assert len(dev) == 1
|
||||||
return dev[0]
|
return dev[0]
|
||||||
else:
|
return UnknownDevice(self._vm, ident)
|
||||||
return UnknownDevice(self._vm, ident)
|
|
||||||
|
|
||||||
|
|
||||||
class DeviceManager(dict):
|
class DeviceManager(dict):
|
||||||
|
@ -406,8 +406,7 @@ class Firewall(object):
|
|||||||
def _translate_action(key):
|
def _translate_action(key):
|
||||||
if xml_root.get(key, policy_v1) == 'allow':
|
if xml_root.get(key, policy_v1) == 'allow':
|
||||||
return Action.accept
|
return Action.accept
|
||||||
else:
|
return Action.drop
|
||||||
return Action.drop
|
|
||||||
|
|
||||||
self.rules.append(Rule(None,
|
self.rules.append(Rule(None,
|
||||||
action=_translate_action('dns'),
|
action=_translate_action('dns'),
|
||||||
|
@ -55,8 +55,7 @@ class Element(object):
|
|||||||
if wrap:
|
if wrap:
|
||||||
return ''.join(self.schema.wrapper.fill(p) + '\n\n'
|
return ''.join(self.schema.wrapper.fill(p) + '\n\n'
|
||||||
for p in textwrap.dedent(xml.text.strip('\n')).split('\n\n'))
|
for p in textwrap.dedent(xml.text.strip('\n')).split('\n\n'))
|
||||||
else:
|
return ' '.join(xml.text.strip().split())
|
||||||
return ' '.join(xml.text.strip().split())
|
|
||||||
|
|
||||||
|
|
||||||
def get_data_type(self, xml=None):
|
def get_data_type(self, xml=None):
|
||||||
@ -93,7 +92,7 @@ class Element(object):
|
|||||||
for xml in self.xml.xpath('''./rng:attribute |
|
for xml in self.xml.xpath('''./rng:attribute |
|
||||||
./rng:optional/rng:attribute |
|
./rng:optional/rng:attribute |
|
||||||
./rng:choice/rng:attribute''', namespaces=self.nsmap):
|
./rng:choice/rng:attribute''', namespaces=self.nsmap):
|
||||||
required = xml.getparent() == self.xml and 'yes' or 'no'
|
required = 'yes' if xml.getparent() == self.xml else 'no'
|
||||||
yield (xml, required)
|
yield (xml, required)
|
||||||
|
|
||||||
|
|
||||||
@ -212,6 +211,6 @@ Quick example, worth thousands lines of specification:
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
main(*sys.argv[1:])
|
main(*sys.argv[1:]) # pylint: disable=no-value-for-parameter
|
||||||
|
|
||||||
# vim: ts=4 sw=4 et
|
# vim: ts=4 sw=4 et
|
||||||
|
@ -446,8 +446,7 @@ class Storage(object):
|
|||||||
"You need to pass a Volume or pool name as str"
|
"You need to pass a Volume or pool name as str"
|
||||||
if isinstance(volume, Volume):
|
if isinstance(volume, Volume):
|
||||||
return self.pools[volume.name]
|
return self.pools[volume.name]
|
||||||
else:
|
return self.vm.app.pools[volume]
|
||||||
return self.vm.app.pools[volume]
|
|
||||||
|
|
||||||
def commit(self):
|
def commit(self):
|
||||||
''' Makes changes to an 'origin' volume persistent '''
|
''' Makes changes to an 'origin' volume persistent '''
|
||||||
@ -476,8 +475,7 @@ class Storage(object):
|
|||||||
"You need to pass a Volume or pool name as str"
|
"You need to pass a Volume or pool name as str"
|
||||||
if isinstance(volume, Volume):
|
if isinstance(volume, Volume):
|
||||||
return self.pools[volume.name].export(volume)
|
return self.pools[volume.name].export(volume)
|
||||||
else:
|
return self.pools[volume].export(self.vm.volumes[volume])
|
||||||
return self.pools[volume].export(self.vm.volumes[volume])
|
|
||||||
|
|
||||||
|
|
||||||
class Pool(object):
|
class Pool(object):
|
||||||
|
@ -378,10 +378,9 @@ class FileVolume(qubes.storage.Volume):
|
|||||||
|
|
||||||
if not os.path.exists(old_revision):
|
if not os.path.exists(old_revision):
|
||||||
return {}
|
return {}
|
||||||
else:
|
seconds = os.path.getctime(old_revision)
|
||||||
seconds = os.path.getctime(old_revision)
|
iso_date = qubes.storage.isodate(seconds).split('.', 1)[0]
|
||||||
iso_date = qubes.storage.isodate(seconds).split('.', 1)[0]
|
return {iso_date: old_revision}
|
||||||
return {iso_date: old_revision}
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def usage(self):
|
def usage(self):
|
||||||
|
@ -401,8 +401,7 @@ class ThinVolume(qubes.storage.Volume):
|
|||||||
return qubes.devices.BlockDevice(
|
return qubes.devices.BlockDevice(
|
||||||
'/dev/' + self._vid_snap, self.name, self.script,
|
'/dev/' + self._vid_snap, self.name, self.script,
|
||||||
self.rw, self.domain, self.devtype)
|
self.rw, self.domain, self.devtype)
|
||||||
else:
|
return super(ThinVolume, self).block_device()
|
||||||
return super(ThinVolume, self).block_device()
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def usage(self): # lvm thin usage always returns at least the same usage as
|
def usage(self): # lvm thin usage always returns at least the same usage as
|
||||||
|
@ -38,10 +38,9 @@ class TarSparseInfo(tarfile.TarInfo):
|
|||||||
|
|
||||||
@property
|
@property
|
||||||
def realsize(self):
|
def realsize(self):
|
||||||
if len(self.sparsemap):
|
if self.sparsemap:
|
||||||
return self.sparsemap[-1][0] + self.sparsemap[-1][1]
|
return self.sparsemap[-1][0] + self.sparsemap[-1][1]
|
||||||
else:
|
return self.size
|
||||||
return self.size
|
|
||||||
|
|
||||||
def sparse_header_chunk(self, index):
|
def sparse_header_chunk(self, index):
|
||||||
if index < len(self.sparsemap):
|
if index < len(self.sparsemap):
|
||||||
@ -49,8 +48,7 @@ class TarSparseInfo(tarfile.TarInfo):
|
|||||||
tarfile.itn(self.sparsemap[index][0], 12, tarfile.GNU_FORMAT),
|
tarfile.itn(self.sparsemap[index][0], 12, tarfile.GNU_FORMAT),
|
||||||
tarfile.itn(self.sparsemap[index][1], 12, tarfile.GNU_FORMAT),
|
tarfile.itn(self.sparsemap[index][1], 12, tarfile.GNU_FORMAT),
|
||||||
])
|
])
|
||||||
else:
|
return b'\0' * 12 * 2
|
||||||
return b'\0' * 12 * 2
|
|
||||||
|
|
||||||
def get_gnu_header(self):
|
def get_gnu_header(self):
|
||||||
'''Part placed in 'prefix' field of posix header'''
|
'''Part placed in 'prefix' field of posix header'''
|
||||||
@ -81,8 +79,7 @@ class TarSparseInfo(tarfile.TarInfo):
|
|||||||
header_buf = super(TarSparseInfo, self).tobuf(format, encoding, errors)
|
header_buf = super(TarSparseInfo, self).tobuf(format, encoding, errors)
|
||||||
if len(self.sparsemap) > 4:
|
if len(self.sparsemap) > 4:
|
||||||
return header_buf + b''.join(self.create_ext_sparse_headers())
|
return header_buf + b''.join(self.create_ext_sparse_headers())
|
||||||
else:
|
return header_buf
|
||||||
return header_buf
|
|
||||||
|
|
||||||
def create_ext_sparse_headers(self):
|
def create_ext_sparse_headers(self):
|
||||||
for ext_hdr in range(4, len(self.sparsemap), 21):
|
for ext_hdr in range(4, len(self.sparsemap), 21):
|
||||||
|
@ -258,7 +258,7 @@ class VolumeAction(QubesAction):
|
|||||||
pool = app.pools[pool_name]
|
pool = app.pools[pool_name]
|
||||||
volume = [v for v in pool.volumes if v.vid == vid]
|
volume = [v for v in pool.volumes if v.vid == vid]
|
||||||
assert volume > 1, 'Duplicate vids in pool %s' % pool_name
|
assert volume > 1, 'Duplicate vids in pool %s' % pool_name
|
||||||
if len(volume) == 0:
|
if not volume:
|
||||||
parser.error_runtime(
|
parser.error_runtime(
|
||||||
'no volume with id {!r} pool: {!r}'.format(vid,
|
'no volume with id {!r} pool: {!r}'.format(vid,
|
||||||
pool_name))
|
pool_name))
|
||||||
@ -353,6 +353,7 @@ class QubesArgumentParser(argparse.ArgumentParser):
|
|||||||
self.set_defaults(verbose=1, quiet=0)
|
self.set_defaults(verbose=1, quiet=0)
|
||||||
|
|
||||||
def parse_args(self, *args, **kwargs):
|
def parse_args(self, *args, **kwargs):
|
||||||
|
# pylint: disable=arguments-differ
|
||||||
namespace = super(QubesArgumentParser, self).parse_args(*args, **kwargs)
|
namespace = super(QubesArgumentParser, self).parse_args(*args, **kwargs)
|
||||||
|
|
||||||
if self._want_app and not self._want_app_no_instance:
|
if self._want_app and not self._want_app_no_instance:
|
||||||
@ -433,7 +434,7 @@ class AliasedSubParsersAction(argparse._SubParsersAction):
|
|||||||
# source https://gist.github.com/sampsyo/471779
|
# source https://gist.github.com/sampsyo/471779
|
||||||
# pylint: disable=protected-access,too-few-public-methods
|
# pylint: disable=protected-access,too-few-public-methods
|
||||||
class _AliasedPseudoAction(argparse.Action):
|
class _AliasedPseudoAction(argparse.Action):
|
||||||
# pylint: disable=redefined-builtin
|
# pylint: disable=redefined-builtin,arguments-differ
|
||||||
def __init__(self, name, aliases, help):
|
def __init__(self, name, aliases, help):
|
||||||
dest = name
|
dest = name
|
||||||
if aliases:
|
if aliases:
|
||||||
@ -442,8 +443,7 @@ class AliasedSubParsersAction(argparse._SubParsersAction):
|
|||||||
sup.__init__(option_strings=[], dest=dest, help=help)
|
sup.__init__(option_strings=[], dest=dest, help=help)
|
||||||
|
|
||||||
def __call__(self, **kwargs):
|
def __call__(self, **kwargs):
|
||||||
super(AliasedSubParsersAction._AliasedPseudoAction, self).__call__(
|
pass
|
||||||
**kwargs)
|
|
||||||
|
|
||||||
def add_parser(self, name, **kwargs):
|
def add_parser(self, name, **kwargs):
|
||||||
if 'aliases' in kwargs:
|
if 'aliases' in kwargs:
|
||||||
|
@ -42,6 +42,7 @@ class QubesDaemonProtocol(asyncio.Protocol):
|
|||||||
self.untrusted_buffer.close()
|
self.untrusted_buffer.close()
|
||||||
|
|
||||||
def data_received(self, untrusted_data):
|
def data_received(self, untrusted_data):
|
||||||
|
# pylint: disable=arguments-differ
|
||||||
print('data_received(untrusted_data={!r})'.format(untrusted_data))
|
print('data_received(untrusted_data={!r})'.format(untrusted_data))
|
||||||
if self.len_untrusted_buffer + len(untrusted_data) > self.buffer_size:
|
if self.len_untrusted_buffer + len(untrusted_data) > self.buffer_size:
|
||||||
self.app.log.warning('request too long')
|
self.app.log.warning('request too long')
|
||||||
|
@ -204,7 +204,6 @@ def main(args=None):
|
|||||||
"and (if encrypted) decrypt the backup: ")
|
"and (if encrypted) decrypt the backup: ")
|
||||||
|
|
||||||
encoding = sys.stdin.encoding or locale.getpreferredencoding()
|
encoding = sys.stdin.encoding or locale.getpreferredencoding()
|
||||||
# pylint: disable=redefined-variable-type
|
|
||||||
passphrase = passphrase.decode(encoding)
|
passphrase = passphrase.decode(encoding)
|
||||||
|
|
||||||
args.app.log.info("Checking backup content...")
|
args.app.log.info("Checking backup content...")
|
||||||
|
@ -38,6 +38,7 @@ parser.add_argument("--template", action="store_true", dest="template",
|
|||||||
|
|
||||||
|
|
||||||
def print_msg(domains, what_single, what_plural):
|
def print_msg(domains, what_single, what_plural):
|
||||||
|
# pylint: disable=len-as-condition
|
||||||
if len(domains) == 0:
|
if len(domains) == 0:
|
||||||
print("None of given VM {!s}".format(what_single))
|
print("None of given VM {!s}".format(what_single))
|
||||||
elif len(domains) == 1:
|
elif len(domains) == 1:
|
||||||
|
@ -309,8 +309,7 @@ class StatusColumn(Column):
|
|||||||
if ret is not None:
|
if ret is not None:
|
||||||
if getattr(vm, 'hvm', False):
|
if getattr(vm, 'hvm', False):
|
||||||
return ret.upper()
|
return ret.upper()
|
||||||
else:
|
return ret
|
||||||
return ret
|
|
||||||
|
|
||||||
|
|
||||||
@flag(2)
|
@flag(2)
|
||||||
@ -478,8 +477,7 @@ class Table(object):
|
|||||||
'''Format single table row (all columns for one domain).'''
|
'''Format single table row (all columns for one domain).'''
|
||||||
if self.raw_data:
|
if self.raw_data:
|
||||||
return '|'.join(col.format(vm) for col in self.columns)
|
return '|'.join(col.format(vm) for col in self.columns)
|
||||||
else:
|
return ''.join(col.cell(vm) for col in self.columns)
|
||||||
return ''.join(col.cell(vm) for col in self.columns)
|
|
||||||
|
|
||||||
|
|
||||||
def write_table(self, stream=sys.stdout):
|
def write_table(self, stream=sys.stdout):
|
||||||
|
@ -84,7 +84,7 @@ def list_pools(app):
|
|||||||
''' Prints out all known pools and their drivers '''
|
''' Prints out all known pools and their drivers '''
|
||||||
result = [('NAME', 'DRIVER')]
|
result = [('NAME', 'DRIVER')]
|
||||||
for pool in app.pools.values():
|
for pool in app.pools.values():
|
||||||
if len(pool.volumes) == 0 and issubclass(
|
if not pool.volumes and issubclass(
|
||||||
pool.__class__, qubes.storage.domain.DomainPool):
|
pool.__class__, qubes.storage.domain.DomainPool):
|
||||||
# skip empty DomainPools
|
# skip empty DomainPools
|
||||||
continue
|
continue
|
||||||
|
@ -111,22 +111,19 @@ def parse_size(size):
|
|||||||
def mbytes_to_kmg(size):
|
def mbytes_to_kmg(size):
|
||||||
if size > 1024:
|
if size > 1024:
|
||||||
return "%d GiB" % (size / 1024)
|
return "%d GiB" % (size / 1024)
|
||||||
else:
|
return "%d MiB" % size
|
||||||
return "%d MiB" % size
|
|
||||||
|
|
||||||
|
|
||||||
def kbytes_to_kmg(size):
|
def kbytes_to_kmg(size):
|
||||||
if size > 1024:
|
if size > 1024:
|
||||||
return mbytes_to_kmg(size / 1024)
|
return mbytes_to_kmg(size / 1024)
|
||||||
else:
|
return "%d KiB" % size
|
||||||
return "%d KiB" % size
|
|
||||||
|
|
||||||
|
|
||||||
def bytes_to_kmg(size):
|
def bytes_to_kmg(size):
|
||||||
if size > 1024:
|
if size > 1024:
|
||||||
return kbytes_to_kmg(size / 1024)
|
return kbytes_to_kmg(size / 1024)
|
||||||
else:
|
return "%d B" % size
|
||||||
return "%d B" % size
|
|
||||||
|
|
||||||
|
|
||||||
def size_to_human(size):
|
def size_to_human(size):
|
||||||
@ -137,8 +134,7 @@ def size_to_human(size):
|
|||||||
return str(round(size / 1024.0, 1)) + ' KiB'
|
return str(round(size / 1024.0, 1)) + ' KiB'
|
||||||
elif size < 1024 * 1024 * 1024:
|
elif size < 1024 * 1024 * 1024:
|
||||||
return str(round(size / (1024.0 * 1024), 1)) + ' MiB'
|
return str(round(size / (1024.0 * 1024), 1)) + ' MiB'
|
||||||
else:
|
return str(round(size / (1024.0 * 1024 * 1024), 1)) + ' GiB'
|
||||||
return str(round(size / (1024.0 * 1024 * 1024), 1)) + ' GiB'
|
|
||||||
|
|
||||||
|
|
||||||
def urandom(size):
|
def urandom(size):
|
||||||
|
@ -132,7 +132,7 @@ class AdminVM(qubes.vm.qubesvm.QubesVM):
|
|||||||
|
|
||||||
.. seealso:
|
.. seealso:
|
||||||
:py:meth:`qubes.vm.qubesvm.QubesVM.start`
|
:py:meth:`qubes.vm.qubesvm.QubesVM.start`
|
||||||
''' # pylint: disable=unused-argument
|
''' # pylint: disable=unused-argument,arguments-differ
|
||||||
raise qubes.exc.QubesVMError(self, 'Cannot start Dom0 fake domain!')
|
raise qubes.exc.QubesVMError(self, 'Cannot start Dom0 fake domain!')
|
||||||
|
|
||||||
def suspend(self):
|
def suspend(self):
|
||||||
|
@ -49,8 +49,7 @@ def _default_ip(self):
|
|||||||
return None
|
return None
|
||||||
if self.netvm is not None:
|
if self.netvm is not None:
|
||||||
return self.netvm.get_ip_for_vm(self) # pylint: disable=no-member
|
return self.netvm.get_ip_for_vm(self) # pylint: disable=no-member
|
||||||
else:
|
return self.get_ip_for_vm(self)
|
||||||
return self.get_ip_for_vm(self)
|
|
||||||
|
|
||||||
|
|
||||||
def _setter_ip(self, prop, value):
|
def _setter_ip(self, prop, value):
|
||||||
@ -173,8 +172,7 @@ class NetVMMixin(qubes.events.Emitter):
|
|||||||
'10.139.1.1',
|
'10.139.1.1',
|
||||||
'10.139.1.2',
|
'10.139.1.2',
|
||||||
)
|
)
|
||||||
else:
|
return None
|
||||||
return None
|
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
self._firewall = None
|
self._firewall = None
|
||||||
|
@ -427,6 +427,7 @@ class QubesVM(qubes.vm.mix.net.NetVMMixin, qubes.vm.BaseVM):
|
|||||||
doc='Kernel used by this domain.')
|
doc='Kernel used by this domain.')
|
||||||
|
|
||||||
# CORE2: swallowed uses_default_kernelopts
|
# CORE2: swallowed uses_default_kernelopts
|
||||||
|
# pylint: disable=no-member
|
||||||
kernelopts = qubes.property('kernelopts', type=str, load_stage=4,
|
kernelopts = qubes.property('kernelopts', type=str, load_stage=4,
|
||||||
default=(lambda self: qubes.config.defaults['kernelopts_pcidevs']
|
default=(lambda self: qubes.config.defaults['kernelopts_pcidevs']
|
||||||
if list(self.devices['pci'].attached(persistent=True))
|
if list(self.devices['pci'].attached(persistent=True))
|
||||||
@ -449,6 +450,8 @@ class QubesVM(qubes.vm.mix.net.NetVMMixin, qubes.vm.BaseVM):
|
|||||||
ls_width=12,
|
ls_width=12,
|
||||||
doc='FIXME')
|
doc='FIXME')
|
||||||
|
|
||||||
|
# pylint: enable=no-member
|
||||||
|
|
||||||
# @property
|
# @property
|
||||||
# def default_user(self):
|
# def default_user(self):
|
||||||
# if self.template is not None:
|
# if self.template is not None:
|
||||||
@ -1430,15 +1433,12 @@ class QubesVM(qubes.vm.mix.net.NetVMMixin, qubes.vm.BaseVM):
|
|||||||
else:
|
else:
|
||||||
if not self.is_fully_usable():
|
if not self.is_fully_usable():
|
||||||
return "Transient"
|
return "Transient"
|
||||||
else:
|
return "Running"
|
||||||
return "Running"
|
return 'Halted'
|
||||||
else:
|
|
||||||
return 'Halted'
|
|
||||||
except libvirt.libvirtError as e:
|
except libvirt.libvirtError as e:
|
||||||
if e.get_error_code() == libvirt.VIR_ERR_NO_DOMAIN:
|
if e.get_error_code() == libvirt.VIR_ERR_NO_DOMAIN:
|
||||||
return 'Halted'
|
return 'Halted'
|
||||||
else:
|
raise
|
||||||
raise
|
|
||||||
|
|
||||||
assert False
|
assert False
|
||||||
|
|
||||||
@ -1612,8 +1612,7 @@ class QubesVM(qubes.vm.mix.net.NetVMMixin, qubes.vm.BaseVM):
|
|||||||
'/vm/{}/start_time'.format(self.uuid))
|
'/vm/{}/start_time'.format(self.uuid))
|
||||||
if start_time != '':
|
if start_time != '':
|
||||||
return datetime.datetime.fromtimestamp(float(start_time))
|
return datetime.datetime.fromtimestamp(float(start_time))
|
||||||
else:
|
return None
|
||||||
return None
|
|
||||||
|
|
||||||
def is_outdated(self):
|
def is_outdated(self):
|
||||||
'''Check whether domain needs restart to update root image from \
|
'''Check whether domain needs restart to update root image from \
|
||||||
|
@ -364,7 +364,7 @@ class PolicyAction(object):
|
|||||||
self.target = target
|
self.target = target
|
||||||
self.action = Action.allow
|
self.action = Action.allow
|
||||||
else:
|
else:
|
||||||
self.action = Action.deny # pylint: disable=redefined-variable-type
|
self.action = Action.deny
|
||||||
raise AccessDenied(
|
raise AccessDenied(
|
||||||
'denied by the user {}:{}'.format(self.rule.filename,
|
'denied by the user {}:{}'.format(self.rule.filename,
|
||||||
self.rule.lineno))
|
self.rule.lineno))
|
||||||
@ -569,7 +569,7 @@ class Policy(object):
|
|||||||
else:
|
else:
|
||||||
targets = list(
|
targets = list(
|
||||||
self.collect_targets_for_ask(system_info, source))
|
self.collect_targets_for_ask(system_info, source))
|
||||||
if len(targets) == 0:
|
if not targets:
|
||||||
raise AccessDenied(
|
raise AccessDenied(
|
||||||
'policy define \'ask\' action at {}:{} but no target is '
|
'policy define \'ask\' action at {}:{} but no target is '
|
||||||
'available to choose from'.format(
|
'available to choose from'.format(
|
||||||
|
@ -119,7 +119,7 @@ class RPCConfirmationWindow:
|
|||||||
partitioned = escaped.partition('.')
|
partitioned = escaped.partition('.')
|
||||||
formatted = partitioned[0] + partitioned[1]
|
formatted = partitioned[0] + partitioned[1]
|
||||||
|
|
||||||
if len(partitioned[2]) > 0:
|
if partitioned[2]:
|
||||||
formatted += "<b>" + partitioned[2] + "</b>"
|
formatted += "<b>" + partitioned[2] + "</b>"
|
||||||
else:
|
else:
|
||||||
formatted = "<b>" + formatted + "</b>"
|
formatted = "<b>" + formatted + "</b>"
|
||||||
@ -203,8 +203,7 @@ class RPCConfirmationWindow:
|
|||||||
|
|
||||||
if self._confirmed:
|
if self._confirmed:
|
||||||
return self._target_name
|
return self._target_name
|
||||||
else:
|
return False
|
||||||
return False
|
|
||||||
|
|
||||||
|
|
||||||
def confirm_rpc(entries_info, source, rpc_operation, targets_list, target=None):
|
def confirm_rpc(entries_info, source, rpc_operation, targets_list, target=None):
|
||||||
|
Loading…
Reference in New Issue
Block a user