def new_app(): """ 用户创建APP """ if check_user_login(): return redirect(url_for('main.signin')) if request.method == 'GET': return render_template('new-app.html') app_name = request.form.get('app_name', '', type=str) platform = request.form.get('app_usage', -1, type=int) description = request.form.get('description', '', type=str) # 判断是否为空 if app_name.strip() == '' or description.strip() == '': return jsonify({'status':400}) developer = Developer.query.filter_by(username=session.get("username")).first() if description.strip() == '' or app_name.strip() == '': return render_template('new-app.html', warning='') app = App(app_name=app_name, description=description, platform=platform) app.developer = developer try: app.save() except Exception, e: print e return jsonify({'status':401})
def setUp(self): self.old_name = 'oldname' app = App() app.code = self.old_name app.name = self.old_name app.introduction = "introduction" app.creater = 'admin', app.language = 'python' app.auth_token = '1234' app.deploy_token = '1234' app.tags = None app.save()
def setUp(self): # Every test needs access to the request factory. self.factory = RequestFactory() self.user = BkUser.objects.create_user('test', password='******') self.old_name = 'oldname' app = App() app.code = self.old_name app.name = self.old_name app.introduction = "introduction" app.creater = 'admin', app.language = 'python' app.auth_token = '1234' app.deploy_token = '1234' app.tags = None app.save()
def setUp(self): self.factory = RequestFactory() # from django.test.client import Client # self.client = Client() self.user = BkUser.objects.create_user('test', password='******') self.code = 'test' app = App() app.code = self.code app.name = self.code app.introduction = "introduction" app.creater = 'admin', app.language = 'python' app.auth_token = '1234' app.deploy_token = '1234' app.tags = None app.save()
def csv_to_db(csvfile): App.objects.all().delete() # DANGER: Delete existing apps info reader = csv.DictReader(csvfile) num_apps = 0 warnings = [] infos = [] for rid, row in enumerate(reader): acronym = row['Acronym'].strip() version = row['Version Number'].strip() if acronym == '': msg = "Ignoring row=%d without Acronym" % rid warnings.append(msg) logging.warning(msg) continue if len(acronym) < 2: msg = "Ignoring row=%d with too-short Acronym=%s" % (rid, acronym) warnings.append(msg) logging.warning(msg) continue existing = App.objects.filter(acronym__iexact=acronym, version_number=version) if existing: msg = "Ignoring extant acronym=%s version=%s" % (acronym, version) warnigns.append(msg) logging.warning(msg) continue app = App() app.save() # save for M2M for k, v in row.items(): v = v.strip() if not v: # don't store empty values continue # MAYBE TODO: filter nulls from M2M, check nullish # MAYBE TODO: transform Date, Time, Boolean, Integer try: setattr(app, mogrify(k), v) except (TypeError, ValidationError), e: logging.error("SETATTR: %s", e) import pdb; pdb.set_trace() try: app.save() except (TypeError, ValidationError), e: logging.error("SAVE: %s", e) import pdb; pdb.set_trace()
def app_add(request): # getAppBaseInfo(os.getcwd() + "/appStorage/Smart360.apk") try: if request.method == 'POST': upload_file = request.FILES.get('file') appName = request.POST['appName'] buildName = request.POST['buildName'] version = request.POST['version'] release_note = request.POST['releaseNote'] if not upload_file: raise FileNotFoundError("please upload file") isExists = Update.objects.filter(app_name=appName, build_name=buildName) if isExists: return HttpResponse("添加失败,该应用以存在,请在更新列表中进行更新即可") name = upload_file.name[0:-4] + "_" + buildName + "_" + str( version) + ".apk" upload_file_path = os.getcwd() + "/appStorage/" + name with open(upload_file_path, 'wb+') as destination: for chunk in upload_file.chunks(): destination.write(chunk) update = Update(app_name=appName, build_name=buildName, version=version, size=upload_file.size, release_note=release_note, release_time=datetime.datetime, storage_name=name) update.save() app = App(app_name=appName, build_name=buildName, version=version, size=upload_file.size, release_time=datetime.datetime, storage_name=name) app.save() return HttpResponse("Add application success") else: return HttpResponse("Must use the POST method") except Exception as e: return HttpResponse("Add application failed. >>> ")
def new(request): CONFIG = config if request.method == 'POST': form = AppForm(request.POST, request.FILES) if form.is_valid(): handle_uploaded_file(request.FILES['file']) name = form.cleaned_data['name'] desc = form.cleaned_data['description'] author = form.cleaned_data['author'] version = form.cleaned_data['version'] location = CONFIG.APP_DIRECTORY + request.FILES['file'].name anApp = App(name=name, description=desc, version=version, location=location, author=author) anApp.save() anApp.downloadLink = request.build_absolute_uri(reverse('app.views.download', kwargs={'id':anApp.id})) anApp.save() messages.add_message(request, messages.SUCCESS, 'Successfully Created') return HttpResponseRedirect('/app/') else: form = AppForm() return render(request, 'app/new.html', locals())
def new(request): CONFIG = config if request.method == "POST": form = AppForm(request.POST, request.FILES) if form.is_valid(): handle_uploaded_file(request.FILES["file"]) name = form.cleaned_data["name"] desc = form.cleaned_data["description"] author = form.cleaned_data["author"] version = form.cleaned_data["version"] location = CONFIG.APP_DIRECTORY + request.FILES["file"].name anApp = App(name=name, description=desc, version=version, location=location, author=author) anApp.save() anApp.downloadLink = request.build_absolute_uri(reverse("app.views.download", kwargs={"id": anApp.id})) anApp.save() messages.add_message(request, messages.SUCCESS, "Successfully Created") return HttpResponseRedirect("/app/") else: form = AppForm() return render(request, "app/new.html", locals())
def upload_app(request): try: upload_file = request.FILES.get('file') version = request.POST['version'] appName = request.POST['appName'] buildName = request.POST['buildName'] release_note = request.POST['releaseNote'] if not upload_file: raise FileNotFoundError("please upload file.") updateApp = Update.objects.get(app_name=appName, build_name=buildName) if updateApp.version >= int(version): return HttpResponse("更新失败,新版本号小于当前版本") name = upload_file.name[:-4] + "_" + buildName + "_" + str( version) + ".apk" upload_file_path = os.getcwd() + "/appStorage/" + name with open(upload_file_path, 'wb+') as destination: for chunk in upload_file.chunks(): destination.write(chunk) print(upload_file.size) updateApp.version = version updateApp.size = upload_file.size updateApp.release_note = release_note updateApp.release_time = datetime.datetime.now() updateApp.storage_name = name updateApp.save() app = App(app_name=appName, build_name=buildName, version=version, size=upload_file.size, release_time=datetime.datetime, storage_name=name) app.save() except BaseException as e: return HttpResponse(e) return HttpResponse("upload success")