autosign: minor cleanups
This commit is contained in:
parent
79ca80e8f2
commit
762940deca
3 changed files with 44 additions and 56 deletions
|
|
@ -37,12 +37,8 @@ class Autosign:
|
|||
'gen_key',
|
||||
'macos_ramdisk_setup',
|
||||
'macos_ramdisk_delete',
|
||||
'enable_swap',
|
||||
'disable_swap',
|
||||
'clean',
|
||||
'wipe_key',
|
||||
'list_led',
|
||||
'test_led')
|
||||
'wipe_key')
|
||||
|
||||
mn_fmts = {
|
||||
'mmgen': 'words',
|
||||
|
|
@ -121,14 +117,6 @@ class Autosign:
|
|||
|
||||
self.init_fixup()
|
||||
|
||||
if sys.platform == 'darwin': # test suite uses ‘fixed-up’ shm_dir
|
||||
from ..platform.darwin.util import MacOSRamDisk
|
||||
self.ramdisk = MacOSRamDisk(
|
||||
cfg,
|
||||
self.macOS_ramdisk_name,
|
||||
self._get_macOS_ramdisk_size(),
|
||||
path = self.shm_dir)
|
||||
|
||||
self.keyfile = self.mountpoint / 'autosign.key'
|
||||
|
||||
if any(k in cfg._uopts for k in ('help', 'longhelp')):
|
||||
|
|
@ -168,9 +156,13 @@ class Autosign:
|
|||
setattr(self, name, self.mountpoint / path)
|
||||
|
||||
@cached_property
|
||||
def swap(self):
|
||||
from .swap_mgr import SwapMgr
|
||||
return SwapMgr(self.cfg, ignore_zram=True)
|
||||
def macos_ramdisk(self): # test suite uses ‘fixed-up’ shm_dir
|
||||
from ..platform.darwin.util import MacOSRamDisk
|
||||
return MacOSRamDisk(
|
||||
self.cfg,
|
||||
self.macOS_ramdisk_name,
|
||||
self._get_macOS_ramdisk_size(),
|
||||
path = self.shm_dir)
|
||||
|
||||
async def check_daemons_running(self):
|
||||
from ..protocol import init_proto
|
||||
|
|
@ -349,12 +341,6 @@ class Autosign:
|
|||
if not no_unmount:
|
||||
self.do_umount()
|
||||
|
||||
def macos_ramdisk_setup(self):
|
||||
self.ramdisk.create()
|
||||
|
||||
def macos_ramdisk_delete(self):
|
||||
self.ramdisk.destroy()
|
||||
|
||||
def _get_macOS_ramdisk_size(self):
|
||||
from ..addrlist import AddrIdxList
|
||||
from ..platform.darwin.util import MacOSRamDisk, warn_ramdisk_too_small
|
||||
|
|
@ -394,10 +380,11 @@ class Autosign:
|
|||
|
||||
self.gen_key(no_unmount=True)
|
||||
|
||||
self.swap.disable()
|
||||
from .swap_mgr import SwapMgr
|
||||
SwapMgr(self.cfg, ignore_zram=True).disable()
|
||||
|
||||
if sys.platform == 'darwin':
|
||||
self.macos_ramdisk_setup()
|
||||
self.macos_ramdisk.create()
|
||||
|
||||
remove_wallet_dir()
|
||||
create_wallet_dir()
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@ opts_data = {
|
|||
}
|
||||
}
|
||||
|
||||
def main(do_loop):
|
||||
def main(*, asi, do_loop):
|
||||
|
||||
asi.init_led()
|
||||
asi.init_exit_handler()
|
||||
|
|
@ -110,26 +110,31 @@ cfg = Config(
|
|||
|
||||
cmd = cfg._args[0] if len(cfg._args) == 1 else 'sign' if not cfg._args else cfg._usage()
|
||||
|
||||
if cmd in ('enable_swap', 'disable_swap', 'list_led', 'test_led'):
|
||||
match cmd:
|
||||
case 'enable_swap' | 'disable_swap':
|
||||
from .autosign.swap_mgr import SwapMgr
|
||||
sm = SwapMgr(cfg, ignore_zram=True)
|
||||
sm.enable() if cmd == 'enable_swap' else sm.disable()
|
||||
case 'list_led' | 'test_led':
|
||||
from .led import LEDControl
|
||||
if cmd == 'list_led':
|
||||
msg(
|
||||
'Boards with tested LED signaling support:\n' +
|
||||
'\n'.join(f' {v.name}' for k, v in LEDControl.boards.items() if k != 'dummy'))
|
||||
else:
|
||||
from .exception import NoLEDSupport
|
||||
try:
|
||||
LEDControl(enabled=True)
|
||||
except NoLEDSupport:
|
||||
ymsg('No LED signaling support for this platform')
|
||||
else:
|
||||
gmsg('LED signaling is supported by this platform!')
|
||||
sys.exit(0)
|
||||
|
||||
if cmd not in Autosign.cmds + Autosign.util_cmds:
|
||||
die(1, f'‘{cmd}’: unrecognized command')
|
||||
|
||||
if cmd in ('test_led', 'list_led'):
|
||||
from .led import LEDControl
|
||||
match cmd:
|
||||
case 'list_led':
|
||||
msg(
|
||||
'Boards with tested LED signaling support:\n' +
|
||||
'\n'.join(f' {v.name}' for k, v in LEDControl.boards.items() if k != 'dummy'))
|
||||
case 'test_led':
|
||||
from .exception import NoLEDSupport
|
||||
try:
|
||||
LEDControl(enabled=True)
|
||||
except NoLEDSupport:
|
||||
ymsg('No LED signaling support for this platform')
|
||||
else:
|
||||
gmsg('LED signaling is supported by this platform!')
|
||||
sys.exit(0)
|
||||
|
||||
if cfg.xmrwallets:
|
||||
if cmd not in ('setup', 'xmr_setup'):
|
||||
die(1, '--xmrwallets is valid only for the ‘setup’ and ‘xmr_setup’ operations')
|
||||
|
|
@ -149,8 +154,6 @@ asi = Autosign(cfg, cmd=cmd)
|
|||
cfg._post_init()
|
||||
|
||||
match cmd:
|
||||
case 'gen_key':
|
||||
asi.gen_key()
|
||||
case 'setup':
|
||||
asi.do_mount()
|
||||
asi.clean_old_files()
|
||||
|
|
@ -167,23 +170,21 @@ match cmd:
|
|||
asi.clean_old_files()
|
||||
asi.xmr_setup()
|
||||
asi.do_umount()
|
||||
case 'macos_ramdisk_setup' | 'macos_ramdisk_delete':
|
||||
if sys.platform != 'darwin':
|
||||
die(1, f'The ‘{cmd}’ operation is for the macOS platform only')
|
||||
getattr(asi, cmd)()
|
||||
case 'enable_swap':
|
||||
asi.swap.enable()
|
||||
case 'disable_swap':
|
||||
asi.swap.disable()
|
||||
case 'sign':
|
||||
main(do_loop=False)
|
||||
main(asi=asi, do_loop=False)
|
||||
case 'wait':
|
||||
main(do_loop=True)
|
||||
main(asi=asi, do_loop=True)
|
||||
case 'clean':
|
||||
asi.do_mount()
|
||||
asi.clean_old_files()
|
||||
asi.do_umount()
|
||||
case 'gen_key':
|
||||
asi.gen_key()
|
||||
case 'wipe_key':
|
||||
asi.do_mount()
|
||||
asi.wipe_encryption_key()
|
||||
asi.do_umount()
|
||||
case 'macos_ramdisk_setup' | 'macos_ramdisk_delete':
|
||||
if sys.platform != 'darwin':
|
||||
die(1, f'The ‘{cmd}’ operation is for the macOS platform only')
|
||||
asi.macos_ramdisk.create() if cmd == 'macos_ramdisk_setup' else asi.macos_ramdisk.destroy()
|
||||
|
|
|
|||
|
|
@ -100,7 +100,7 @@ class CmdTestAutosignBase(CmdTestBase):
|
|||
|
||||
if not self.cfg.no_daemon_stop:
|
||||
if sys.platform == 'darwin':
|
||||
for label in (self.asi.dev_label, self.asi.ramdisk.label):
|
||||
for label in (self.asi.dev_label, self.asi.macos_ramdisk.label):
|
||||
self._macOS_eject_disk(label)
|
||||
|
||||
def _create_autosign_instances(self, create_dirs):
|
||||
|
|
@ -212,7 +212,7 @@ class CmdTestAutosignBase(CmdTestBase):
|
|||
mn_type = mn_type or 'mmgen'
|
||||
|
||||
if sys.platform == 'darwin' and not self.cfg.no_daemon_stop:
|
||||
self._macOS_eject_disk(self.asi.ramdisk.label)
|
||||
self._macOS_eject_disk(self.asi.macos_ramdisk.label)
|
||||
|
||||
self.insert_device()
|
||||
|
||||
|
|
@ -258,7 +258,7 @@ class CmdTestAutosignBase(CmdTestBase):
|
|||
self.remove_device()
|
||||
|
||||
if sys.platform == 'darwin' and not self.cfg.no_daemon_stop:
|
||||
atexit.register(self._macOS_eject_disk, self.asi.ramdisk.label)
|
||||
atexit.register(self._macOS_eject_disk, self.asi.macos_ramdisk.label)
|
||||
|
||||
return t
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue