mirror of
https://github.com/arcan1s/ahriman.git
synced 2025-04-24 07:17:17 +00:00
add ability to add archive as well
This commit is contained in:
parent
550474f790
commit
e4317469d1
@ -16,7 +16,7 @@ source=("https://github.com/arcan1s/ahriman/releases/download/$pkgver/$pkgname-$
|
|||||||
'ahriman.sudoers'
|
'ahriman.sudoers'
|
||||||
'ahriman.sysusers'
|
'ahriman.sysusers'
|
||||||
'ahriman.tmpfiles')
|
'ahriman.tmpfiles')
|
||||||
sha512sums=('db4409942e3189da01fa41f5432e634c8a3ce4013cd19ef15d63cb1123010702c2f5636fb25ba43e64cdf198b082f8d54dfd448f30288b2fc96e7b30ea213258'
|
sha512sums=('b2ed7733fc73156edc0ff81db7626a3790a1c63ba89621890526f424c2bea8c4d52a4840702a679bfba80fe28244da86ae676f22b357dfa52ef9f543d2cfbb41'
|
||||||
'8c9b5b63ac3f7b4d9debaf801a1e9c060877c33d3ecafe18010fcca778e5fa2f2e46909d3d0ff1b229ff8aa978445d8243fd36e1fc104117ed678d5e21901167'
|
'8c9b5b63ac3f7b4d9debaf801a1e9c060877c33d3ecafe18010fcca778e5fa2f2e46909d3d0ff1b229ff8aa978445d8243fd36e1fc104117ed678d5e21901167'
|
||||||
'13718afec2c6786a18f0b223ef8e58dccf0688bca4cdbe203f14071f5031ed20120eb0ce38b52c76cfd6e8b6581a9c9eaa2743eb11abbaca637451a84c33f075'
|
'13718afec2c6786a18f0b223ef8e58dccf0688bca4cdbe203f14071f5031ed20120eb0ce38b52c76cfd6e8b6581a9c9eaa2743eb11abbaca637451a84c33f075'
|
||||||
'55b20f6da3d66e7bbf2add5d95a3b60632df121717d25a993e56e737d14f51fe063eb6f1b38bd81cc32e05db01c0c1d80aaa720c45cde87f238d8b46cdb8cbc4')
|
'55b20f6da3d66e7bbf2add5d95a3b60632df121717d25a993e56e737d14f51fe063eb6f1b38bd81cc32e05db01c0c1d80aaa720c45cde87f238d8b46cdb8cbc4')
|
||||||
|
@ -71,7 +71,7 @@ def update(args: argparse.Namespace) -> None:
|
|||||||
packages = app.get_updates(args.no_aur, args.no_manual, log_fn)
|
packages = app.get_updates(args.no_aur, args.no_manual, log_fn)
|
||||||
if args.dry_run:
|
if args.dry_run:
|
||||||
return
|
return
|
||||||
app.update(packages) # type: ignore
|
app.update(packages)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
@ -84,7 +84,7 @@ if __name__ == '__main__':
|
|||||||
subparsers = parser.add_subparsers(title='command')
|
subparsers = parser.add_subparsers(title='command')
|
||||||
|
|
||||||
add_parser = subparsers.add_parser('add', description='add package')
|
add_parser = subparsers.add_parser('add', description='add package')
|
||||||
add_parser.add_argument('package', help='package name', nargs='+')
|
add_parser.add_argument('package', help='package name or archive path', nargs='+')
|
||||||
add_parser.set_defaults(fn=add)
|
add_parser.set_defaults(fn=add)
|
||||||
|
|
||||||
check_parser = subparsers.add_parser('check', description='check for updates')
|
check_parser = subparsers.add_parser('check', description='check for updates')
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
#
|
#
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
|
import shutil
|
||||||
|
|
||||||
from typing import Callable, List, Optional
|
from typing import Callable, List, Optional
|
||||||
|
|
||||||
@ -55,11 +56,21 @@ class Application:
|
|||||||
return updates
|
return updates
|
||||||
|
|
||||||
def add(self, names: List[str]) -> None:
|
def add(self, names: List[str]) -> None:
|
||||||
for name in names:
|
def add_manual(name: str) -> None:
|
||||||
package = Package.load(name, self.config.get('aur', 'url'))
|
package = Package.load(name, self.config.get('aur', 'url'))
|
||||||
task = Task(package, self.architecture, self.config, self.repository.paths)
|
task = Task(package, self.architecture, self.config, self.repository.paths)
|
||||||
task.fetch(os.path.join(self.repository.paths.manual, package.name))
|
task.fetch(os.path.join(self.repository.paths.manual, package.name))
|
||||||
|
|
||||||
|
def add_archive(src: str) -> None:
|
||||||
|
dst = os.path.join(self.repository.paths.packages, os.path.basename(src))
|
||||||
|
shutil.move(src, dst)
|
||||||
|
|
||||||
|
for name in names:
|
||||||
|
if os.path.isfile(name):
|
||||||
|
add_archive(name)
|
||||||
|
else:
|
||||||
|
add_manual(name)
|
||||||
|
|
||||||
def remove(self, names: List[str]) -> None:
|
def remove(self, names: List[str]) -> None:
|
||||||
self.repository.process_remove(names)
|
self.repository.process_remove(names)
|
||||||
self._finalize()
|
self._finalize()
|
||||||
|
Loading…
Reference in New Issue
Block a user