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')
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)
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}.")
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')
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
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()
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')
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!")
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
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!")
def get_all(request): builds = sorted(CommCareBuild.all_builds(), key=lambda build: build.time) return render_to_response(request, 'builds/all.html', {'builds': builds})
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)
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)
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)
def get_all(request): builds = sorted(CommCareBuild.all_builds(), key=lambda build: build.time) return render(request, 'builds/all.html', {'builds': builds})