summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNikolay Zamotaev <nzamotaev@luxoft.com>2020-11-11 19:00:50 +0300
committerNikolay Zamotaev <nzamotaev@luxoft.com>2021-03-25 16:36:52 +0000
commitc60fa6499647ff9f51577cf95b78040c4b550316 (patch)
tree02c6024702f3636d19ea46f6ce8bbb1667ea87ed
parent2ced350b23890e9286cc4d0ca6c38ee1985cde73 (diff)
Fix for broken verify-upload-package and store-sign-package commands5.15
Task-number: AUTOSUITE-1631 Change-Id: I7c17bc2a34ead2f094a2b3d28315191e80912a98 Reviewed-by: Grigorii Zimin <gzimin@luxoft.com> (cherry picked from commit 7259d1a839a698e68bc4a7020a63d2aca79a5ec6) Reviewed-by: Nikolay Zamotaev <nzamotaev@luxoft.com>
-rw-r--r--store/management/commands/store-sign-package.py44
-rw-r--r--store/management/commands/verify-upload-package.py17
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'])