diff options
author | Nikolay Zamotaev <nzamotaev@luxoft.com> | 2020-11-11 19:00:50 +0300 |
---|---|---|
committer | Nikolay Zamotaev <nzamotaev@luxoft.com> | 2020-11-12 16:22:19 +0000 |
commit | 7259d1a839a698e68bc4a7020a63d2aca79a5ec6 (patch) | |
tree | b795c20657f2890c1ea78a9ecd15848f852b7cc0 | |
parent | 5597690fd3be37294df53dcb4b0986ccd799495d (diff) |
Fix for broken verify-upload-package and store-sign-package commands
Task-number: AUTOSUITE-1631
Change-Id: I7c17bc2a34ead2f094a2b3d28315191e80912a98
Pick-to: 5.15
Reviewed-by: Grigorii Zimin <gzimin@luxoft.com>
-rw-r--r-- | store/management/commands/store-sign-package.py | 44 | ||||
-rw-r--r-- | store/management/commands/verify-upload-package.py | 17 |
2 files changed, 44 insertions, 17 deletions
diff --git a/store/management/commands/store-sign-package.py b/store/management/commands/store-sign-package.py index cf51670..ade1546 100644 --- a/store/management/commands/store-sign-package.py +++ b/store/management/commands/store-sign-package.py @@ -30,31 +30,51 @@ ## ############################################################################# +import argparse + from django.core.management.base import BaseCommand, CommandError -from django.conf import settings from store.utilities import parseAndValidatePackageMetadata, addSignatureToPackage class Command(BaseCommand): help = 'Adds a store signature to the package' + def add_arguments(self, parser): + parser.add_argument('source-package', + metavar='sourcepackage', + type=argparse.FileType('rb'), + nargs=1, + help='package file to sign') + parser.add_argument('destination-package', + metavar='destinationpackage', + type=str, + nargs=1, + help='signed package file destination') + parser.add_argument('device ID', + metavar='deviceID', + type=str, + nargs='?', + default="", + help='device ID') + def handle(self, *args, **options): - if 2 > len(args) > 3: - raise CommandError('Usage: manage.py store-sign-package <source package> <destination-package> [device id]') + if not options["source-package"]: + raise CommandError('Usage: manage.py store-sign-package <source package>\ + <destination-package> [device id]') - sourcePackage = args[0] - destinationPackage = args[1] - deviceId = args[2] if len(args) == 3 else '' + source_package = options["source-package"] + destination_package = options["destination-package"][0] + device_id = options["device ID"] try: - self.stdout.write('Parsing package %s' % sourcePackage) - packageFile = open(sourcePackage, 'rb') - pkgdata = parseAndValidatePackageMetadata(packageFile) + self.stdout.write('Parsing package %s' % source_package[0].name) + package_file = source_package[0] + pkgdata = parseAndValidatePackageMetadata(package_file) self.stdout.write(' -> passed validation (internal name: %s)\n' % pkgdata['storeName']) - self.stdout.write('Adding signature to package %s' % destinationPackage) - addSignatureToPackage(sourcePackage, destinationPackage, pkgdata['rawDigest'], - deviceId, pkgdata['packageFormat']['formatVersion']) + self.stdout.write('Adding signature to package %s' % destination_package) + addSignatureToPackage(source_package[0].name, destination_package, pkgdata['rawDigest'], + device_id, pkgdata['packageFormat']['formatVersion']) self.stdout.write(' -> finished') except Exception as error: diff --git a/store/management/commands/verify-upload-package.py b/store/management/commands/verify-upload-package.py index 59df116..298e3aa 100644 --- a/store/management/commands/verify-upload-package.py +++ b/store/management/commands/verify-upload-package.py @@ -30,7 +30,7 @@ ## ############################################################################# -import sys +import argparse from django.core.management.base import BaseCommand, CommandError @@ -39,14 +39,21 @@ from store.utilities import parseAndValidatePackageMetadata class Command(BaseCommand): help = 'Checks if packages are valid for store upload' + def add_arguments(self, parser): + parser.add_argument('package', + metavar='package', + type=argparse.FileType('rb'), + nargs=1, + help='package file to verify') + def handle(self, *args, **options): - if len(args) != 1: + if not options["package"]: raise CommandError('Usage: manage.py verify-upload-package <package>') try: - self.stdout.write('Parsing package %s' % args[0]) - packageFile = open(args[0], 'rb') - pkgdata = parseAndValidatePackageMetadata(packageFile) + self.stdout.write('Parsing package %s' % options['package'][0].name) + package_file = options['package'][0] + pkgdata = parseAndValidatePackageMetadata(package_file) self.stdout.write(' -> passed validation (internal name: %s)\n' % pkgdata['storeName']) |