mirror of
https://gitlab.com/dslackw/slpkg.git
synced 2025-01-18 10:26:29 +01:00
Fixed complexity
This commit is contained in:
parent
2c387c06ba
commit
cf17321c01
1 changed files with 103 additions and 88 deletions
191
slpkg/main.py
191
slpkg/main.py
|
@ -21,115 +21,112 @@ from slpkg.update_repository import UpdateRepository
|
||||||
class Argparse:
|
class Argparse:
|
||||||
args: list
|
args: list
|
||||||
|
|
||||||
def flags(self):
|
def __post_init__(self):
|
||||||
self.flags = []
|
self.flag()
|
||||||
yes = '--yes'
|
self.check = Check()
|
||||||
jobs = '--jobs'
|
|
||||||
resolve_off = '--resolve-off'
|
|
||||||
reinstall = '--reinstall'
|
|
||||||
|
|
||||||
if yes in self.args:
|
|
||||||
self.args.remove(yes)
|
|
||||||
self.flags.append(yes)
|
|
||||||
|
|
||||||
if jobs in self.args:
|
|
||||||
self.args.remove(jobs)
|
|
||||||
self.flags.append(jobs)
|
|
||||||
|
|
||||||
if resolve_off in self.args:
|
|
||||||
self.args.remove(resolve_off)
|
|
||||||
self.flags.append(resolve_off)
|
|
||||||
|
|
||||||
if reinstall in self.args:
|
|
||||||
self.args.remove(reinstall)
|
|
||||||
self.flags.append(reinstall)
|
|
||||||
|
|
||||||
def command(self):
|
|
||||||
|
|
||||||
self.flags()
|
|
||||||
check = Check()
|
|
||||||
|
|
||||||
if len(self.args) <= 0:
|
if len(self.args) <= 0:
|
||||||
usage(1)
|
usage(1)
|
||||||
|
|
||||||
|
def flag(self):
|
||||||
|
self.flags = []
|
||||||
|
|
||||||
|
options = ['--yes',
|
||||||
|
'--jobs',
|
||||||
|
'--resolve-off',
|
||||||
|
'--reinstall'
|
||||||
|
]
|
||||||
|
|
||||||
|
for option in options:
|
||||||
|
if option in self.args:
|
||||||
|
self.args.remove(option)
|
||||||
|
self.flags.append(option)
|
||||||
|
|
||||||
|
def help(self):
|
||||||
if len(self.args) == 1:
|
if len(self.args) == 1:
|
||||||
if self.args[0] in ['--help', '-h']:
|
usage(0)
|
||||||
usage(0)
|
usage(1)
|
||||||
|
|
||||||
if self.args[0] in ['--version', '-v']:
|
def version(self):
|
||||||
version = Version()
|
if len(self.args) == 1:
|
||||||
version.view()
|
version = Version()
|
||||||
raise SystemExit()
|
version.view()
|
||||||
|
raise SystemExit()
|
||||||
|
usage(1)
|
||||||
|
|
||||||
if self.args[0] == 'clean-logs':
|
def update(self):
|
||||||
logs = CleanLogsDependencies(self.flags)
|
if len(self.args) == 1:
|
||||||
logs.clean()
|
update = UpdateRepository()
|
||||||
raise SystemExit()
|
update.sbo()
|
||||||
|
raise SystemExit()
|
||||||
if self.args[0] == 'clean-tmp':
|
usage(1)
|
||||||
path = Configs.tmp_path
|
|
||||||
tmp_slpkg = Configs.tmp_slpkg
|
|
||||||
folder = Configs.prog_name
|
|
||||||
utils = Utilities()
|
|
||||||
utils.remove_folder_if_exists(path, folder)
|
|
||||||
utils.create_folder(tmp_slpkg, 'build/')
|
|
||||||
raise SystemExit()
|
|
||||||
|
|
||||||
# Update repository
|
|
||||||
if self.args[0] == 'update':
|
|
||||||
update = UpdateRepository()
|
|
||||||
update.sbo()
|
|
||||||
raise SystemExit()
|
|
||||||
|
|
||||||
usage(1)
|
|
||||||
|
|
||||||
|
def build(self):
|
||||||
if len(self.args) >= 2:
|
if len(self.args) >= 2:
|
||||||
# Build slackbuilds
|
packages = list(set(self.args[1:]))
|
||||||
if self.args[0] == 'build':
|
|
||||||
packages = list(set(self.args[1:]))
|
|
||||||
|
|
||||||
check.exists(packages)
|
self.check.exists(packages)
|
||||||
check.unsupported(packages)
|
self.check.unsupported(packages)
|
||||||
|
|
||||||
build = Slackbuilds(packages, self.flags, False)
|
build = Slackbuilds(packages, self.flags, False)
|
||||||
build.execute()
|
build.execute()
|
||||||
raise SystemExit()
|
raise SystemExit()
|
||||||
|
usage(1)
|
||||||
|
|
||||||
# Install packages
|
def install(self):
|
||||||
if self.args[0] == 'install':
|
if len(self.args) >= 2:
|
||||||
packages = list(set(self.args[1:]))
|
packages = list(set(self.args[1:]))
|
||||||
|
|
||||||
check.exists(packages)
|
self.check.exists(packages)
|
||||||
check.unsupported(packages)
|
self.check.unsupported(packages)
|
||||||
|
|
||||||
install = Slackbuilds(packages, self.flags, True)
|
install = Slackbuilds(packages, self.flags, True)
|
||||||
install.execute()
|
install.execute()
|
||||||
raise SystemExit()
|
raise SystemExit()
|
||||||
|
usage(1)
|
||||||
|
|
||||||
# Remove packages
|
def remove(self):
|
||||||
if self.args[0] == 'remove':
|
if len(self.args) >= 2:
|
||||||
packages = list(set(self.args[1:]))
|
packages = list(set(self.args[1:]))
|
||||||
packages = check.blacklist(packages)
|
packages = self.check.blacklist(packages)
|
||||||
|
|
||||||
check.installed(packages)
|
self.check.installed(packages)
|
||||||
|
|
||||||
remove = RemovePackages(packages, self.flags)
|
remove = RemovePackages(packages, self.flags)
|
||||||
remove.remove()
|
remove.remove()
|
||||||
raise SystemExit()
|
raise SystemExit()
|
||||||
|
usage(1)
|
||||||
|
|
||||||
# Search package
|
def search(self):
|
||||||
if self.args[0] == 'search':
|
# Search package
|
||||||
packages = list(set(self.args[1:]))
|
if len(self.args) >= 2:
|
||||||
packages = check.blacklist(packages)
|
packages = list(set(self.args[1:]))
|
||||||
|
packages = self.check.blacklist(packages)
|
||||||
|
|
||||||
check.exists(packages)
|
self.check.exists(packages)
|
||||||
|
|
||||||
search = Search()
|
search = Search()
|
||||||
search.package(packages)
|
search.package(packages)
|
||||||
|
raise SystemExit()
|
||||||
|
usage(1)
|
||||||
|
|
||||||
raise SystemExit()
|
def clean_logs(self):
|
||||||
|
if len(self.args) == 1:
|
||||||
|
logs = CleanLogsDependencies(self.flags)
|
||||||
|
logs.clean()
|
||||||
|
raise SystemExit()
|
||||||
|
usage(1)
|
||||||
|
|
||||||
usage(1)
|
def clean_tmp(self):
|
||||||
|
if len(self.args) == 1:
|
||||||
|
path = Configs.tmp_path
|
||||||
|
tmp_slpkg = Configs.tmp_slpkg
|
||||||
|
folder = Configs.prog_name
|
||||||
|
utils = Utilities()
|
||||||
|
utils.remove_folder_if_exists(path, folder)
|
||||||
|
utils.create_folder(tmp_slpkg, 'build/')
|
||||||
|
raise SystemExit()
|
||||||
|
usage(1)
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
@ -137,7 +134,25 @@ def main():
|
||||||
args.pop(0)
|
args.pop(0)
|
||||||
|
|
||||||
argparse = Argparse(args)
|
argparse = Argparse(args)
|
||||||
argparse.command()
|
|
||||||
|
arguments = {
|
||||||
|
'-h': argparse.help,
|
||||||
|
'--help': argparse.help,
|
||||||
|
'-v': argparse.version,
|
||||||
|
'--version': argparse.version,
|
||||||
|
'update': argparse.update,
|
||||||
|
'build': argparse.build,
|
||||||
|
'install': argparse.install,
|
||||||
|
'remove': argparse.remove,
|
||||||
|
'search': argparse.search,
|
||||||
|
'clean-logs': argparse.clean_logs,
|
||||||
|
'clean-tmp': argparse.clean_tmp,
|
||||||
|
}
|
||||||
|
|
||||||
|
try:
|
||||||
|
arguments[args[0]]()
|
||||||
|
except KeyError:
|
||||||
|
usage(1)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
Loading…
Reference in a new issue