mirror of
https://github.com/lilydjwg/nvchecker.git
synced 2025-03-10 06:14:02 +00:00
Allow nvtake to update to a specific version
This is useful when the new version is somehow broken and you currently can only update the software to a version in between. It's also useful when you ran nvtake by accident and want to reset it back to the correct old version.
This commit is contained in:
parent
0eb5860584
commit
3591bd8ce8
1 changed files with 16 additions and 11 deletions
|
@ -18,7 +18,8 @@ def take() -> None:
|
||||||
parser.add_argument('--ignore-nonexistent', action='store_true',
|
parser.add_argument('--ignore-nonexistent', action='store_true',
|
||||||
help='ignore nonexistent names')
|
help='ignore nonexistent names')
|
||||||
parser.add_argument('names', metavar='NAME', nargs='*',
|
parser.add_argument('names', metavar='NAME', nargs='*',
|
||||||
help='software name to be updated')
|
help='software name to be updated. use NAME=VERSION to update '
|
||||||
|
'to a specific version instead of the new version.')
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
if core.process_common_arguments(args):
|
if core.process_common_arguments(args):
|
||||||
return
|
return
|
||||||
|
@ -41,17 +42,21 @@ def take() -> None:
|
||||||
oldvers.update(newvers)
|
oldvers.update(newvers)
|
||||||
else:
|
else:
|
||||||
for name in args.names:
|
for name in args.names:
|
||||||
try:
|
if "=" in name:
|
||||||
oldvers[name] = newvers[name]
|
name, newver = name.split("=")
|
||||||
except KeyError:
|
oldvers[name] = newver
|
||||||
if args.ignore_nonexistent:
|
else:
|
||||||
logger.warning('nonexistent in newver, ignored', name=name)
|
try:
|
||||||
continue
|
oldvers[name] = newvers[name]
|
||||||
|
except KeyError:
|
||||||
|
if args.ignore_nonexistent:
|
||||||
|
logger.warning('nonexistent in newver, ignored', name=name)
|
||||||
|
continue
|
||||||
|
|
||||||
logger.critical(
|
logger.critical(
|
||||||
"doesn't exist in 'newver' set.", name=name,
|
"doesn't exist in 'newver' set.", name=name,
|
||||||
)
|
)
|
||||||
sys.exit(2)
|
sys.exit(2)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
oldverf.rename(
|
oldverf.rename(
|
||||||
|
|
Loading…
Add table
Reference in a new issue