1
0
mirror of https://github.com/gryf/fs-uae-wrapper.git synced 2026-02-13 12:45:46 +01:00

Fix some lint errors and warnings

This commit is contained in:
2024-09-14 10:53:58 +02:00
parent 7b40974779
commit 3b597e34ee
6 changed files with 166 additions and 43 deletions

View File

@@ -82,7 +82,7 @@ class Base(object):
"""execute fs-uae"""
curdir = os.path.abspath('.')
os.chdir(self.dir)
utils.run_command(['fs-uae'] + self.fsuae_options.list())
utils.run_command(['fs-uae', *self.fsuae_options.list()])
os.chdir(curdir)
return True

View File

@@ -11,8 +11,8 @@ from fs_uae_wrapper import path
class Archive(object):
"""Base class for archive support"""
ADD = ['a']
EXTRACT = ['x']
ADD = ('a',)
EXTRACT = ('x',)
ARCH = 'false'
def __init__(self):
@@ -27,8 +27,8 @@ class Archive(object):
files = files if files else ['.']
logging.debug("Calling `%s %s %s %s'.", self._compress,
" ".join(self.ADD), arch_name, " ".join(files))
result = subprocess.call([self._compress] + self.ADD + [arch_name]
+ files)
result = subprocess.call([self._compress, *self.ADD, arch_name,
*files])
if result != 0:
logging.error("Unable to create archive `%s'.", arch_name)
return False
@@ -44,8 +44,7 @@ class Archive(object):
logging.debug("Calling `%s %s %s'.", self._compress,
" ".join(self.ADD), arch_name)
result = subprocess.call([self._decompress] + self.EXTRACT +
[arch_name])
result = subprocess.call([self._decompress, *self.EXTRACT, arch_name])
if result != 0:
logging.error("Unable to extract archive `%s'.", arch_name)
return False
@@ -53,16 +52,16 @@ class Archive(object):
class TarArchive(Archive):
ADD = ['cf']
EXTRACT = ['xf']
ADD = ('cf',)
EXTRACT = ('xf',)
ARCH = 'tar'
def create(self, arch_name, files=None):
files = files if files else sorted(os.listdir('.'))
logging.debug("Calling `%s %s %s %s'.", self._compress,
" ".join(self.ADD), arch_name, " ".join(files))
result = subprocess.call([self._compress] + self.ADD + [arch_name] +
files)
result = subprocess.call([self._compress, *self.ADD, arch_name,
*files])
if result != 0:
logging.error("Unable to create archive `%s'.", arch_name)
return False
@@ -70,15 +69,15 @@ class TarArchive(Archive):
class TarGzipArchive(TarArchive):
ADD = ['zcf']
ADD = ('zcf',)
class TarBzip2Archive(TarArchive):
ADD = ['jcf']
ADD = ('jcf',)
class TarXzArchive(TarArchive):
ADD = ['Jcf']
ADD = ('Jcf',)
class LhaArchive(Archive):
@@ -86,8 +85,8 @@ class LhaArchive(Archive):
class ZipArchive(Archive):
ADD = ['a', '-tzip']
ARCH = ['7z', 'zip']
ADD = ('a', '-tzip')
ARCH = ('7z', 'zip')
def __init__(self):
super(ZipArchive, self).__init__()
@@ -102,7 +101,7 @@ class SevenZArchive(Archive):
class LzxArchive(Archive):
EXTRACT = ['-x']
EXTRACT = ('-x',)
ARCH = 'unlzx'
@classmethod
@@ -113,7 +112,7 @@ class LzxArchive(Archive):
class RarArchive(Archive):
ARCH = ['rar', 'unrar']
ARCH = ('rar', 'unrar')
def create(self, arch_name, files=None):
files = files if files else sorted(os.listdir('.'))
@@ -124,8 +123,8 @@ class RarArchive(Archive):
logging.debug("Calling `%s %s %s %s'.", self._compress,
" ".join(self.ADD), arch_name, " ".join(files))
result = subprocess.call([self._compress] + self.ADD + [arch_name] +
files)
result = subprocess.call([self._compress, *self.ADD, arch_name,
*files])
if result != 0:
logging.error("Unable to create archive `%s'.", arch_name)
return False
@@ -134,7 +133,7 @@ class RarArchive(Archive):
class Archivers(object):
"""Archivers class"""
archivers = [{'arch': TarArchive, 'name': 'tar', 'ext': ['tar']},
archivers = ({'arch': TarArchive, 'name': 'tar', 'ext': ['tar']},
{'arch': TarGzipArchive, 'name': 'tgz',
'ext': ['tar.gz', 'tgz']},
{'arch': TarBzip2Archive, 'name': 'tar.bz2',
@@ -144,7 +143,7 @@ class Archivers(object):
{'arch': SevenZArchive, 'name': '7z', 'ext': ['7z']},
{'arch': ZipArchive, 'name': 'zip', 'ext': ['zip']},
{'arch': LhaArchive, 'name': 'lha', 'ext': ['lha', 'lzh']},
{'arch': LzxArchive, 'name': 'lzx', 'ext': ['lzx']}]
{'arch': LzxArchive, 'name': 'lzx', 'ext': ['lzx']})
@classmethod
def get(cls, extension):

View File

@@ -16,8 +16,8 @@ class Wrapper(base.Base):
def _run_emulator(self):
"""execute fs-uae"""
utils.run_command(['fs-uae'] + [self.conf_file] +
self.fsuae_options.list())
utils.run_command(['fs-uae', self.conf_file,
*self.fsuae_options.list()])
def clean(self):
"""Do the cleanup. Here - just do nothing"""

View File

@@ -80,12 +80,20 @@ class Wrapper(base.ArchiveBase):
# find slave name
slave_fname = None
slave_path = None
case_insensitvie_map = {}
# build case insensitive map of paths and find the slave file
for root, dirnames, fnames in os.walk('.'):
for dirname in dirnames:
full_path = os.path.normpath(os.path.join(root, dirname))
case_insensitvie_map[full_path.lower()] = full_path
for root, dirs, fnames in os.walk('.'):
for fname in fnames:
if fname.lower().endswith('.slave'):
full_path = os.path.normpath(os.path.join(root, fname))
case_insensitvie_map[full_path.lower()] = full_path
if not slave_fname and fname.lower().endswith('.slave'):
slave_path, slave_fname = os.path.normpath(root), fname
break
if slave_fname is None:
logging.error("Cannot find .slave file in archive.")
return False
@@ -103,10 +111,26 @@ class Wrapper(base.ArchiveBase):
"archive.", slave_fname)
return False
# Write startup file
with open("S/whdload-startup", "w") as fobj:
fobj.write(f"cd {slave_path}\n")
fobj.write(f"C:kgiconload {icon_fname}\n")
# find proper way to handle slave
# 1. check if there are user provided params
contents = f"cd {slave_path}\n"
if self.fsuae_options.get('wrapper_whdload_options'):
contents = (f"{contents}"
f"C:whdload "
f"{self.fsuae_options['wrapper_whdload_options']} "
f"Slave={slave_fname}\n")
else:
# no params, find if kgiconload is available
if case_insensitvie_map.get('c/kgiconload'):
contents = f"{contents}C:kgiconload {icon_fname}\n"
else:
# if not, just add common defaults
contents = (f"{contents}C:whdload Preload "
f"Slave={slave_fname}\n")
fname = os.path.join(case_insensitvie_map.get('s'), 'whdload-startup')
with open(fname, "w") as fobj:
fobj.write(contents)
os.chdir(curdir)
return True