コード例 #1
0
 def add_build(self, builf_file, version, build_number):
     try:
         CommCareBuild.create_from_zip(builf_file, version, build_number)
     except Exception as e:
         raise CommandError("%s" % e)
     self.stdout.write('Build %s #%s created\n' % (version, build_number))
     self.stdout.write('You can see a list of builds at [your-server]/builds/')
     self.stdout.write(' and edit its label at [your-server]/builds/edit_menu\n')
コード例 #2
0
 def add_build(self, builf_file, version, build_number):
     try:
         CommCareBuild.create_from_zip(builf_file, version, build_number)
     except Exception as e:
         raise CommandError("%s" % e)
     self.stdout.write('Build %s #%s created\n' % (version, build_number))
     self.stdout.write('You can see a list of builds at [your-server]/builds/')
     self.stdout.write(' and edit its label at [your-server]/builds/edit_menu\n')
コード例 #3
0
def _create_build_with_latest_version():
    version = _get_latest_commcare_build_version()

    commcare_version_build = next((cc_build
                                   for cc_build in CommCareBuild.all_builds()
                                   if cc_build.version == version), None)
    if commcare_version_build is None:
        CommCareBuild.create_without_artifacts(version, None)
        _update_commcare_build_menu(version)
コード例 #4
0
 def _create_build_with_version(self, version):
     if any(build.version == version
            for build in CommCareBuild.all_builds()):
         self.stdout.write(
             f"A build for version {version} already exists. You're up-to-date!"
         )
     else:
         CommCareBuild.create_without_artifacts(version, None)
         _update_commcare_build_menu(version)
         self.stdout.write(f"Added build for version {version}.")
コード例 #5
0
    def handle(self, build_path, version, build_number, **options):
        try:
            build_number = int(build_number)
        except ValueError:
            raise CommandError("Build Number %r is not an integer" % build_number)

        try:
            CommCareBuild.create_from_zip(build_path, version, build_number)
        except Exception as e:
            raise CommandError("%s" % e)
        self.stdout.write('Build %s #%s created\n' % (version, build_number))
        self.stdout.write('You can see a list of builds at [your-server]/builds/\n')
コード例 #6
0
ファイル: views.py プロジェクト: mchampanis/core-hq
def get(request, version, build_number, path):
    build = CommCareBuild.get_build(version, build_number)
    file = build.fetch_file(path)

    response = HttpResponse(file)
    response['Content-Disposition'] = "attachment; filename=%s" % path.split("/")[-1]
    return response
コード例 #7
0
def post(request):
    artifacts       = request.FILES.get('artifacts')
    build_number    = request.POST.get('build_number')
    version         = request.POST.get('version')

    if not artifacts:
        return HttpResponseBadRequest("Must post a zip file called 'artifacts' with a username, password"
            "and the following meta-data: build_number (i.e. 2348), version (i.e. '1.2.3')")
    try:
        build_number = int(build_number)
    except Exception:
        print "%r" % build_number
        return HttpResponseBadRequest("build_number has to be a base-10 integer")


    CommCareBuild.create_from_zip(artifacts, build_number=build_number, version=version)
    return HttpResponse()
コード例 #8
0
    def handle(self, *args, **options):
        try:
            build_path, version, build_number = args
        except ValueError:
            raise CommandError('Usage: %s\n%s' % (self.args, self.help))

        try:
            build_number = int(build_number)
        except ValueError:
            raise CommandError("Build Number %r is not an integer" % build_number)

        try:
            CommCareBuild.create_from_zip(build_path, version, build_number)
        except Exception as e:
            raise CommandError("%s" % e)
        self.stdout.write('Build %s #%s created\n' % (version, build_number))
        self.stdout.write('You can see a list of builds at [your-server]/builds/\n')
コード例 #9
0
ファイル: views.py プロジェクト: mchampanis/core-hq
def post(request):
    artifacts       = request.FILES.get('artifacts')
    build_number    = request.POST.get('build_number')
    version         = request.POST.get('version')

    if not artifacts:
        return HttpResponseBadRequest("Must post a zip file called 'artifacts' with a username, password"
            "and the following meta-data: build_number (i.e. 2348), version (i.e. '1.2.3')")
    try:
        build_number = int(build_number)
    except Exception:
        print "%r" % build_number
        return HttpResponseBadRequest("build_number has to be a base-10 integer")


    CommCareBuild.create_from_zip(artifacts, build_number=build_number, version=version)
    return HttpResponse()
コード例 #10
0
 def handle(self, build_path, version, build_number, **options):
     if options.get('latest'):
         _create_build_with_latest_version()
     else:
         if build_path and version and build_number:
             try:
                 CommCareBuild.create_from_zip(build_path, version,
                                               build_number)
             except Exception as e:
                 raise CommandError("%s" % e)
             self.stdout.write('Build %s #%s created\n' %
                               (version, build_number))
             self.stdout.write(
                 'You can see a list of builds at [your-server]/builds/\n')
         else:
             raise CommandError(
                 "<build_path>, <version> or <build_number> not specified!")
コード例 #11
0
def get(request, version, build_number, path):
    build = CommCareBuild.get_build(version, build_number)
    try:
        file = build.fetch_file(path)
    except ResourceNotFound:
        raise Http404()

    response = HttpResponse(file)
    response['Content-Disposition'] = "attachment; filename=%s" % path.split("/")[-1]
    return response
コード例 #12
0
 def handle(self, build_args, **options):
     if options['latest']:
         version = _get_latest_commcare_build_version()
         self._create_build_with_version(version)
     elif options['build_version']:
         self._create_build_with_version(options['build_version'])
     else:
         if len(build_args) == 3:
             build_path, version, build_number = build_args
             try:
                 CommCareBuild.create_from_zip(build_path, version,
                                               build_number)
             except Exception as e:
                 raise CommandError("%s" % e)
             self.stdout.write('Build %s #%s created\n' %
                               (version, build_number))
             self.stdout.write(
                 'You can see a list of builds at [your-server]/builds/\n')
         else:
             raise CommandError(
                 "<build_path>, <version> or <build_number> not specified!")
コード例 #13
0
ファイル: views.py プロジェクト: mchampanis/core-hq
def get_all(request):
    builds = sorted(CommCareBuild.all_builds(), key=lambda build: build.time)
    return render_to_response(request, 'builds/all.html', {'builds': builds})
コード例 #14
0
 def make_sure_there_is_a_build():
     path = os.path.join(os.path.dirname(__file__), "jadjar")
     jad_path = os.path.join(
         path, 'CommCare_%s_%s.zip' % (version, build_number))
     CommCareBuild.create_from_zip(jad_path, version, build_number)
コード例 #15
0
ファイル: util.py プロジェクト: soitun/commcare-hq
def add_build(version, build_number):
    path = os.path.join(os.path.dirname(__file__), "jadjar")
    jad_path = os.path.join(path,
                            'CommCare_%s_%s.zip' % (version, build_number))
    return CommCareBuild.create_from_zip(jad_path, version, build_number)
コード例 #16
0
 def add_build(version, build_number):
     path = os.path.join(os.path.dirname(__file__), "jadjar")
     jad_path = os.path.join(path, 'CommCare_%s_%s.zip' % (version, build_number))
     CommCareBuild.create_from_zip(jad_path, version, build_number)
コード例 #17
0
def get_all(request):
    builds = sorted(CommCareBuild.all_builds(), key=lambda build: build.time)
    return render(request, 'builds/all.html', {'builds': builds})