mirror of https://github.com/sipwise/repoapi.git
* loads data exported via dumpdata_release command Change-Id: I027f409e4121e6c3d4679ac400668a7efd993b78mprokop/trixie
parent
c50546efe3
commit
5f14868b6a
@ -0,0 +1,48 @@
|
|||||||
|
# Copyright (C) 2023 The Sipwise Team - http://sipwise.com
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify it
|
||||||
|
# under the terms of the GNU General Public License as published by the Free
|
||||||
|
# Software Foundation, either version 3 of the License, or (at your option)
|
||||||
|
# any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||||
|
# more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License along
|
||||||
|
# with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
import argparse
|
||||||
|
|
||||||
|
from django.core.management.base import BaseCommand
|
||||||
|
from tablib import Dataset
|
||||||
|
|
||||||
|
from repoapi.admin import JenkinsBuildInfoResource
|
||||||
|
|
||||||
|
|
||||||
|
class Command(BaseCommand):
|
||||||
|
help = "import BuildRelease info"
|
||||||
|
|
||||||
|
def add_arguments(self, parser):
|
||||||
|
parser.add_argument(
|
||||||
|
"--format", choices=["json", "yaml"], default="yaml"
|
||||||
|
)
|
||||||
|
parser.add_argument("file", type=argparse.FileType("r"))
|
||||||
|
|
||||||
|
def handle(self, *args, **options):
|
||||||
|
jbi = JenkinsBuildInfoResource()
|
||||||
|
data = Dataset()
|
||||||
|
with options["file"] as f:
|
||||||
|
data.load(f)
|
||||||
|
loaded = len(data)
|
||||||
|
self.stdout.write(
|
||||||
|
self.style.SUCCESS("Successfully loaded %s jbi objects" % loaded)
|
||||||
|
)
|
||||||
|
result = jbi.import_data(
|
||||||
|
data, raise_errors=True, use_transactions=True
|
||||||
|
)
|
||||||
|
self.stdout.write(
|
||||||
|
self.style.SUCCESS(
|
||||||
|
"Successfully imported %s jbi objects" % result.total_rows
|
||||||
|
)
|
||||||
|
)
|
||||||
Loading…
Reference in new issue