def MoveTo(request): try: key = request.POST['key'] except: key = '' try: parentId = request.POST['parentId'] except: parentId = '' if key and parentId: returnValue = PermissionItemService.MoveTo(None, key, parentId) if returnValue: response = HttpResponse() response.content = json.dumps({'Success': True, 'Data': '1', 'Message': '移动成功!'}) return response else: response = HttpResponse() response.content = json.dumps({'Success': False, 'Data': '0', 'Message': '移动失败!'}) return response else: response = HttpResponse() response.content = json.dumps({'Success': False, 'Data': '0', 'Message': '移动失败!'}) return response
def MoveTo(request): try: key = request.POST['key'] except: key = '' try: organizeId = request.POST['organizeId'] except: organizeId = '' if key and organizeId: returnValue = RoleService.MoveTo(None, key, organizeId) if returnValue: response = HttpResponse() response.content = json.dumps({'Success': True, 'Data': '1', 'Message': '移动成功!'}) return response else: response = HttpResponse() response.content = json.dumps({'Success': False, 'Data': '0', 'Message': '移动失败!'}) return response else: response = HttpResponse() response.content = json.dumps({'Success': False, 'Data': '0', 'Message': '移动失败!'}) return response
def RemoveRoleByUserId(request): try: userId = request.POST['userId'] except: userId = None try: removeRoleIds = request.POST['targetIds'] except: removeRoleIds = None if removeRoleIds and len(removeRoleIds) > 0 and userId: returnValue = UserRoleService.RemoveUserFromRole(None, userId, removeRoleIds) if returnValue > 0: response = HttpResponse() response.content = json.dumps({'Success': True, 'Data': '1', 'Message': FrameworkMessage.MSG3010}) return response else: response = HttpResponse() response.content = json.dumps({'Success': True, 'Data': '0', 'Message': FrameworkMessage.MSG3020}) return response else: response = HttpResponse() response.content = json.dumps({'Success': False, 'Data': '0', 'Message': FrameworkMessage.MSG3020}) return response
def Delete(request): try: keys = request.POST['keys'] except: key = '' returnValue = ExceptionService.Delete( CommonUtils.Current(HttpResponse(), request), keys.split(',')) if returnValue > 0: response = HttpResponse() response.content = json.dumps({ 'Success': True, 'Data': '1', 'Message': FrameworkMessage.MSG0013 }) return response else: response = HttpResponse() response.content = json.dumps({ 'Success': False, 'Data': '0', 'Message': FrameworkMessage.MSG3020 }) return response
def RemoveRoleUser(request): try: roleId = request.POST['roleId'] except: roleId = None try: targetIds = request.POST['targetIds'] except: targetIds = None response = HttpResponse() for id in str(targetIds).split(','): returnValue = UserRoleService.RemoveUserFromRole(None, id, roleId) if returnValue > 0: successFlag = 1 response.content = json.dumps({ 'Success': True, 'Data': '1', 'Message': '操作成功!' }) return response else: response.content = json.dumps({ 'Success': False, 'Data': '0', 'Message': '操作失败!' }) return response
def GetStaffByOrganizeId(request): """ 起始页 Args: Returns: """ jsons = "[]" organizeId = None try: organizeId = request.POST['organizeId'] except: organizeId = None response = HttpResponse() returnValue = '[' if organizeId: recordCount = 0 dtStaff = StaffService.GetDTByOrganize( CommonUtils.Current(response, request), organizeId, True) for staff in dtStaff: returnValue = returnValue + staff.toJSON() + "," returnValue = returnValue.strip(",") returnValue = returnValue + "]" response.content = returnValue else: response.content = jsons return response
def Delete(request): try: key = request.POST['key'] except: key = '' response = HttpResponse() returnValue = 0 if key: returnValue = MessageService.SetDeleted( CommonUtils.Current(response, request), [key]) if returnValue > 0: response.content = json.dumps({ 'Success': True, 'Data': '1', 'Message': FrameworkMessage.MSG3010 }) return response else: response.content = json.dumps({ 'Success': False, 'Data': '0', 'Message': FrameworkMessage.MSG3020 }) return response
def GetModuleTreeJson(request): isTree = None try: isTree = request.GET['isTree'] if isTree == '1': isTree = True else: isTree = False except: isTree = True response = HttpResponse() dtModule = GetModuleScope(response, request, "Resource.ManagePermission") CommonUtils.CheckTreeParentId(dtModule, 'id', 'parentid') moduleJson = "[" + GroupJsondata(dtModule, "#") + "]" if isTree: response.content = moduleJson.replace("fullname", "text").replace( "icon ", "").replace("\"iconcss\"", "\"iconCls\"").replace("expand", "state") return response else: response.content = moduleJson return response
def SetRolePermissionItem(request): try: roleId = request.POST['roleId'] except: roleId = None try: grantIds = request.POST['grantIds'] except: grantIds = None try: revokeIds = request.POST['revokeIds'] except: revokeIds = None response = HttpResponse() vUser = CommonUtils.Current(response, request) if not roleId: response.content = json.dumps({ 'Success': False, 'Data': '0', 'Message': '请选择相应的角色!' }) return response successFlag = 0 if grantIds and (grantIds != ','): arrayGrantIds = str(grantIds).strip(',').split(',') if len(arrayGrantIds) > 0: successFlag = successFlag + RolePermission.GrantRolePermissions( vUser, [roleId], arrayGrantIds) else: successFlag = 1 if revokeIds and (revokeIds != ','): arrayRevokeIds = str(revokeIds).strip(',').split(',') if len(arrayRevokeIds) > 0: successFlag = successFlag + RolePermission.RevokeRolePermissions( None, [roleId], arrayRevokeIds) else: successFlag = 1 if successFlag > 0: successFlag = 1 response.content = json.dumps({ 'Success': True, 'Data': '1', 'Message': '操作成功!' }) return response else: response.content = json.dumps({ 'Success': False, 'Data': '0', 'Message': '操作失败!' }) return response
def GetOrganizeTreeJson(request): try: isTree = request.GET['isTree'] if isTree == '1': isTree = True else: isTree = False except: isTree = False response = HttpResponse() dtOrganize = GetOrganizeScope(CommonUtils.Current(response, request), 'Resource.ManagePermission', False) if dtOrganize: dataTable = CommonUtils.CheckTreeParentId(dtOrganize, 'id', 'parentid') organizeJson = "[" + GroupJsondata(dtOrganize, "#") + "]" if isTree: response.content = organizeJson.replace("fullname", "text") return response else: response.content = organizeJson return response else: organizeJson = "[]" response.content = organizeJson return response
def ReadMessage(request): try: key = request.POST['key'] except: key = '' returnValue = 0 response = HttpResponse() curUser = CommonUtils.Current(response, request) if key: returnValue = MessageService.Read(curUser, key) if returnValue > 0: response.content = json.dumps({ 'Success': True, 'Data': '1', 'Message': FrameworkMessage.MSG3010 }) return response else: response.content = json.dumps({ 'Success': False, 'Data': '0', 'Message': FrameworkMessage.MSG3020 }) return response
def SetUserPassword(request): userId = '' password = '' try: userId = request.POST['userId'] except: userId = '' try: password = request.POST['password'] except: password = '' if userId and password: returnCode, returnValue = LogOnService.SetPassword( None, [userId], password) if returnCode and returnCode == StatusCode.statusCodeDic[ 'SetPasswordOK']: response = HttpResponse() response.content = json.dumps({ 'Success': True, 'Data': '1', 'Message': FrameworkMessage.MSG9963 }) return response else: response = HttpResponse() response.content = json.dumps({ 'Success': True, 'Data': '1', 'Message': FrameworkMessage.MSG3020 }) return response
def SetUserDimission(request): response = HttpResponse() curUser = CommonUtils.Current(response, request) userEntity = Piuser() userEntity.loadJson(request) if userEntity.username and userEntity.id: userEntity.username = UserSerivce.GetEntity(curUser.Id).username returnValue = LogOnService.UserDimission(None, userEntity.username, userEntity.dimissioncause, userEntity.dimissiondate, userEntity.dimissionwhither) if returnValue > 0: response = HttpResponse() response.content = json.dumps({ 'Success': True, 'Data': '1', 'Message': FrameworkMessage.MSG3010 }) return response else: response = HttpResponse() response.content = json.dumps({ 'Success': False, 'Data': '0', 'Message': FrameworkMessage.MSG3020 }) return response
def Delete(request): try: keys = str(request.POST['keys']).split(',') except: keys = [] count = 0 for key in keys: count = LogService.Delete(None, key) + count if count > 0: response = HttpResponse() response.content = json.dumps({ 'Success': True, 'Data': '1', 'Message': FrameworkMessage.MSG0013 }) return response else: response = HttpResponse() response.content = json.dumps({ 'Success': False, 'Data': '0', 'Message': FrameworkMessage.MSG3020 }) return response
def AddRoleUser(request): try: roleId = request.POST['roleId'] except: userId = None try: targetIds = request.POST['targetIds'] except: targetIds = None returnValue = 0 response = HttpResponse() for id in str(targetIds).split(','): UserRoleService.AddUserToRole(CommonUtils.Current(response, request), id, roleId) returnValue = returnValue + 1 if returnValue > 0: response.content = json.dumps({ 'Success': True, 'Data': '1', 'Message': '添加成功!' }) return response else: response.content = json.dumps({ 'Success': False, 'Data': '0', 'Message': '添加失败!' }) return response
def RemoveUserFromRole(request): try: roleId = request.POST['roleId'] userId = request.POST['userId'] except: roleId = None userId = None response = HttpResponse() if not userId: response.content = json.dumps({ 'Success': False, 'Data': '0', 'Message': '无选择的用户!' }) return response else: returnValue = RoleService.RemoveUserFromRole( CommonUtils.Current(response, request), [userId], roleId) if returnValue > 0: response.content = json.dumps({ 'Success': True, 'Data': '1', 'Message': FrameworkMessage.MSG3010 }) return response else: response.content = json.dumps({ 'Success': False, 'Data': '0', 'Message': FrameworkMessage.MSG3020 }) return response
def AddUserToRole(request): try: roleId = request.POST['roleId'] addUserIds = request.POST['addUserIds'] except: roleId = None addUserIds = None response = HttpResponse() if roleId and len(str(addUserIds).strip()) > 0: returnValue = RoleService.AddUserToRole( CommonUtils.Current(response, request), roleId, str(addUserIds).split(',')) if returnValue > 0: response.content = json.dumps({ 'Success': True, 'Data': '1', 'Message': '添加成功!' }) return response else: response.content = json.dumps({ 'Success': False, 'Data': '0', 'Message': '添加失败!' }) return response else: response = HttpResponse() response.content = json.dumps({ 'Success': False, 'Data': '0', 'Message': '无选择的用户!' }) return response
def AddUserToRole(request): try: userId = request.POST['userId'] except: userId = None try: targetIds = request.POST['targetIds'] except: targetIds = None response = HttpResponse() returnValue = UserRoleService.AddUserToRole( CommonUtils.Current(response, request), userId, targetIds) if returnValue: response.content = json.dumps({ 'Success': True, 'Data': '1', 'Message': '添加成功!' }) return response else: response.content = json.dumps({ 'Success': False, 'Data': '0', 'Message': '添加失败!' }) return response
def MoveTo(request): try: organizeId = request.POST['organizeId'] parentId = request.POST['parentId'] except: organizeId = None parentId = None if organizeId and parentId: returnValue = OrganizeService.MoveTo(None, organizeId, parentId) if returnValue: response = HttpResponse() response.content = json.dumps({ 'Success': True, 'Data': '1', 'Message': '移动成功!' }) return response else: response = HttpResponse() response.content = json.dumps({ 'Success': False, 'Data': '0', 'Message': '移动失败!' }) return response
def SubmitForm(request): try: IsOk = '1' try: key = request.GET['key'] except: key = None response = HttpResponse() curUser = CommonUtils.Current(response, request) if not key: user = Piuser() user = user.loadJson(request) user.id = uuid.uuid4() # user.isstaff = 0 # user.isvisible = 1 # user.isdimission = 0 user.deletemark = 0 user.createon = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') user.createby = curUser.RealName user.createuserid = curUser.Id user.isstaff = 0 user.isvisible = 1 user.isdimission = 0 if user.sortcode == None or user.sortcode == 0: sequence = SequenceService.GetSequence(None, 'PIUSER') user.sortcode = int(sequence) returnCode, returnMessage, returnValue = UserSerivce.AddUser(CommonUtils.Current(response, request), user) if returnCode == StatusCode.statusCodeDic['OKAdd']: response.content = json.dumps({'Success':True, 'Data':IsOk, 'Message':returnMessage}) return response else: response.content = json.dumps({'Success': False, 'Data': '0', 'Message': returnMessage}) return response else: updateEntity = UserSerivce.GetEntity(CommonUtils.Current(HttpResponse(), request), key) if updateEntity: updateEntity = updateEntity.loadJson(request) if curUser: updateEntity.modifiedby = curUser.RealName updateEntity.modifieduserid = curUser.Id returnCode, returnMessage = UserSerivce.UpdateUser(CommonUtils.Current(response, request), updateEntity) if returnCode == StatusCode.statusCodeDic['OKUpdate']: response.content = json.dumps({'Success': True, 'Data': IsOk, 'Message': returnMessage}) return response else: response.content = json.dumps({'Success': False, 'Data': '0', 'Message': returnMessage}) return response except Exception as e: print(e) response = HttpResponse() response.content = json.dumps({'Success': False, 'Data': '0', 'Message': FrameworkMessage.MSG3020}) return response
def SubmitForm(request): try: IsOk = '1' try: key = request.GET['key'] except: key = None response = HttpResponse() curUser = CommonUtils.Current(response, request) if not key: role = Pirole() role = role.loadJson(request) role.id = uuid.uuid4() # user.isstaff = 0 # user.isvisible = 1 # user.isdimission = 0 role.deletemark = 0 role.allowdelete = 1 role.allowedit = 1 role.createon = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') role.createby = curUser.RealName role.modifiedon = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') role.modifiedby = curUser.RealName role.enabled = 1 returnCode, returnMessage, returnValue = RoleService.Add(curUser, role) if returnCode == StatusCode.statusCodeDic['OKAdd']: response.content = json.dumps({'Success':True, 'Data':IsOk, 'Message':returnMessage}) return response else: response.content = json.dumps({'Success': False, 'Data': '0', 'Message': returnMessage}) return response else: role = RoleService.GetEntity(curUser, key) if role: role = role.loadJson(request) if curUser: role.modifiedby = curUser.RealName role.modifieduserid = curUser.Id returnCode, returnMessage = RoleService.Update(curUser, role) if returnCode == StatusCode.statusCodeDic['OKUpdate']: response.content = json.dumps({'Success': True, 'Data': IsOk, 'Message': returnMessage}) return response else: response.content = json.dumps({'Success': False, 'Data': '0', 'Message': returnMessage}) return response except Exception as e: print(e) response = HttpResponse() response.content = json.dumps({'Success': False, 'Data': '0', 'Message': FrameworkMessage.MSG3020}) return response
def make_link(request): if request.method == "POST" and len(request.body) > 0: params = json.loads(request.body) # key validation keys = params.keys() if len(keys) > 1 or 'url' not in keys: res = HttpResponse() res.status_code = 400 res.content = 'Please provide a json object with the format { "url" : "http://example.com" }' return res # url validation url = params.get('url') validate = URLValidator() try: validate(url) except: res = HttpResponse() res.status_code = 400 res.content = "Not a valid URL" return res # look up link by long url try: Link.objects.get(long=url) except ObjectDoesNotExist: # if doesnotexist: # generate shortid and make new url in db # add 1 visit record shorty = sid.generate() short_url = build_short_url(request.is_secure(), request.get_host(), shorty) link = Link(long=url, short=short_url) link.save() visit = Visit(link_id=link.id) visit.save() # return newly created short link return JsonResponse({"shorturl": link.short}) # if link exists already, return it found = Link.objects.get(long=url) return JsonResponse({'shorturl': found.short}) return HttpResponse( status=400, content="Bad request body or wrong request type (POST only)")
def UpdateUserConfig(request): if request.POST['themeJson']: response = HttpResponse() vUser = CommonUtils.Current(response, request) jobj = json.loads(request.POST['themeJson']) pageSize = str(jobj['gridRows']) themeName = str(jobj['theme']['name']) navType = str(jobj['navType']) returnValue = 0 if pageSize: returnValue = returnValue + ParameterService.SetParameter( vUser, "User", vUser.Id, "WebPageSize", pageSize) if themeName: returnValue = returnValue + ParameterService.SetParameter( vUser, "User", vUser.Id, "WebTheme", themeName) response.set_signed_cookie( 'theme', themeName, max_age=int( ParameterService.GetServiceConfig( CommonUtils.Current(response, request), 'CookieMaxAge')), salt=ParameterService.GetServiceConfig( CommonUtils.Current(response, request), 'LoginUserKey')) if navType: returnValue = returnValue + ParameterService.SetParameter( vUser, "User", vUser.Id, "NavType", navType) response.set_signed_cookie( 'UIStyle', navType, max_age=int( ParameterService.GetServiceConfig( CommonUtils.Current(response, request), 'CookieMaxAge')), salt=ParameterService.GetServiceConfig( CommonUtils.Current(response, request), 'LoginUserKey')) if returnValue > 0: response.content = '1' else: response.content = '保存失败!' return response else: response = HttpResponse() response.content = "无保存数据!" return response
def SaveRolePermissionItemScope(request): try: targetRoleId = request.POST['targetRoleId'] except: targetRoleId = None try: permissionItemIds = request.POST['permissionItemIds'] except: permissionItemIds = None response = HttpResponse() if not targetRoleId: response.content = json.dumps({'Success': True, 'Data': '-1', 'Message': '角色主键为空!'}) return response try: tmpScopeIds = RolePermission.GetScopePermissionItemIdsByRoleId(None, targetRoleId, "Resource.ManagePermission") if not permissionItemIds: if tmpScopeIds and len(tmpScopeIds) > 0: RolePermission.RevokeRolePermissionItemScope(None, targetRoleId, "Resource.ManagePermission", tmpScopeIds) else: #revokeIds = list(set(tmpRoleIds) ^ set(str(roleIds).split(','))) revokeIds = [] for r in tmpScopeIds: if r not in permissionItemIds: revokeIds.append(r) #grantIds = list(set(str(roleIds).split(',')) ^ set(tmpRoleIds)) grantIds = [] for g in str(permissionItemIds).split(','): if g not in tmpScopeIds: grantIds.append(g) if len(grantIds) > 0: RolePermission.GrantRolePermissionItemScope(CommonUtils.Current(response, request), targetRoleId, "Resource.ManagePermission", grantIds) if len(revokeIds) > 0: RolePermission.RevokeRolePermissionItemScope(None, targetRoleId, "Resource.ManagePermission", revokeIds) response.content = json.dumps({'Success': True, 'Data': '1', 'Message': "授权成功!"}) return response except Exception as e: print(e) response.content = json.dumps({'Success': False, 'Data': '-2', 'Message': '操作失败!'}) return response
def OptionUserJson(request): try: keyword = request.GET['keyword'] except: keyword = '' response = HttpResponse() vUser = CommonUtils.Current(response, request) ListData = UserSerivce.Search(vUser, keyword, '', None) sb = '[' if len(ListData) > 0: for item in ListData: sb = sb + '{' sb = sb + "\"id\":\"" + item["ID"] + "\"," sb = sb + "\"text\":\"" + item["REALNAME"] + "(" + item[ "USERNAME"] + ")\"," Genderimg = "user_female" if str(item["GENDER"]) == "男": Genderimg = "user_green" sb = sb + "\"iconCls\":\"icon16_" + Genderimg + "\"," sb = sb + "\"username\":\"" + item["USERNAME"] + "\"," sb = sb + "\"code\":\"" + item["CODE"] + "\"," sb = sb + "\"realname\":\"" + item["REALNAME"] + "\"," sb = sb + "\"hasChildren\":false" sb = sb + "}," sb = sb.strip(',') sb = sb + ']' response.content = sb return response
def post(self, request, *args, **kwargs): """ Doesn't allow requests from localhost. If form data is correct, function adds new Note object. If not, returns form with errors. Allows CORS. """ response = HttpResponse() response['Content-Type'] = 'application/json' response['Access-Control-Allow-Origin'] = '*' response['Access-Control-Allow-Credentials'] = 'true' response['Access-Control-Allow-Methods'] = ', '.join(self.default_methods) response['Access-Control-Allow-Headers'] = ', '.join(self.default_headers) if request.META['REMOTE_ADDR'] == '127.0.0.1': content = {'result': 'error', 'msg': 'POST is not allowed from localhost.'} else: form = AddNoteForm(request.POST, request.FILES) if form.is_valid(): text = form.cleaned_data['text'] img = form.cleaned_data['img'] Note.objects.create(text=text, img=img) content = {'result': 'success', 'redirect': reverse('note_list')} else: t = loader.get_template('add_note_form.html') ctx = RequestContext(request, {'form': form}) form_with_errors = t.render(ctx) content = {'result': 'success', 'form': unicode(form_with_errors)} response.content = json.dumps(content) return response
def Form(request): response = HttpResponse() tmp = loader.get_template('ModuleAdmin/Form.html') # 加载模板 render_content = {} # 将要渲染到模板的数据 new_body = tmp.render(render_content) # 渲染模板 response.content = new_body # 设置返回内容 return response
def render_pdf( self, html, filename = None ): response = HttpResponse( content_type = self.PDF_CNT_TYPE ) w = Watch( "BaseView.render_pdf" ) w.start() if filename == None: filename = datetime.now().strftime( "%Y%m%d" ) + '-export.pdf' pdf_path = settings.MEDIA_ROOT + '/pdf/contracts/' + filename pdf_file = open( pdf_path, "w+b" ) try: pisa.CreatePDF( html, dest = pdf_file ) except Exception as e : print ( traceback.format_exc() ) pdf_file.seek( 0 ) pdf = pdf_file.read() pdf_file.close() response['Content-Disposition'] = filename response["Cache-Control"] = "max-age=0" response["Accept-Ranges"] = "none" response.content = pdf print( "Rendering PDF took :" ) print( w.display() ) return response
def GetPermissionItemsByUserId(request): try: userId = request.POST['userId'] except: userId = None if userId: ids = UserPermission.GetUserPermissionItemIds(None, userId) returnValue = StringHelper.GetSpitString(ids, ',') response = HttpResponse() response.content = returnValue return response else: response = HttpResponse() response.content = '' return response
def UserRoleBatchSet(request): response = HttpResponse() tmp = loader.get_template('PermissionSet/UserRoleBatchSet.html') # 加载模板 render_content = {} # 将要渲染到模板的数据 new_body = tmp.render(render_content) # 渲染模板 response.content = new_body # 设置返回内容 return response
def GetUserRoleIds(request): try: userId = request.POST['userId'] except: userId = None if userId: ids = UserRoleService.GetUserRoleIds(None, userId) returnValue = StringHelper.GetSpitString(ids, ',') response = HttpResponse() response.content = returnValue return response else: response = HttpResponse() response.content = '' return response
def Search(request): response = HttpResponse() tmp = loader.get_template('Utility/Search.html') # 加载模板 render_content = {} # 将要渲染到模板的数据 new_body = tmp.render(render_content) # 渲染模板 response.content = new_body # 设置返回内容 return response
def make_response(status=200, content=None): if content is None: content = {} response = HttpResponse() response.status_code = status response['Content-Type'] = "application/json" response.content = json.dumps(content) return response
def get(self, request): resp = HttpResponse() pid = request.session.get('pid', None) if not pid: resp.content = ugettext("No active process to kill") else: os.kill(pid, signal.SIGINT) i = 0 while i <= settings.SCRIPT_MAX_WAIT and check_pid(pid): time.sleep(settings.SCRIPT_WAIT) i += 1 if check_pid(pid): os.killpg(pid, signal.SIGKILL) resp.content = ugettext("Success: The process was killed successfully.") return resp
def get(self, request): response = HttpResponse() response['Content-Type'] = 'application/json' response['Access-Control-Allow-Origin'] = '*' if Note.objects.count() < 1: content = {'result': 'failure', 'msg': 'No text notes'} else: t = loader.get_template('note.html') ctx = RequestContext(request, {'note': self.get_random_note()}) random_note_repr = t.render(ctx) content = {'result': 'success', 'random_note': unicode(random_note_repr)} response.content = json.dumps(content) return response
def post(self, request): form = self.form_class(request.POST) if form.is_valid(): job = form.save(commit=False) left = default_storage.open(job.left_table.handle.name) right = default_storage.open(job.right_table.handle.name) left = csv.DictReader(left) right = csv.DictReader(right) keys = left.fieldnames for key in right.fieldnames: if key not in keys: keys.append(key) keys = sorted(keys) left = [r for r in left] right = [r for r in right] union = left + right path = os.path.join(BASE_DIR, MEDIA_ROOT, 'catalogs', '{}.csv'.format(job.results_label)) handler = open(path,'w') handler = csv.DictWriter(handler, fieldnames=keys) handler.writeheader() handler.writerows(union) job.msg_json = union job.job_status = "complete" job.completed = True job.results_handle = 'catalogs/{}.csv'.format(job.results_label) response = HttpResponse() response['content-type'] = 'text/plain' # data['left_table'] = job.left_table.handle.name # data['left_content'] = default_storage.exists(job.left_table.handle.name) data = json.dumps(union, indent=2) result = Catalog( name=job.results_label, json=data, handle='catalogs/{}.csv'.format(job.results_label) ) # result.handle.save('catalogs/joined_csv.csv', union) result.save() response.content = data job.save() return response # return redirect(reverse('jobs:index')) return render(request, self.template_name, {'form': form})
def get(self, request, *args, **kwargs): response = HttpResponse(content_type=self.content_type) geom = self.kwargs.get('geometry_field', 'geom') geom_type = 'stations' if geom == 'district': geom_type = 'districts' department = get_object_or_404(FireDepartment, id=kwargs['pk']) queryset = self.get_queryset(department=department) filename = self.filename(department=department, geom_type=geom_type) file_path, zip_file = self.create_shapefile(queryset, filename, geom) response['Content-Disposition'] = 'attachment; filename="{0}.zip"'.format(smart_str(filename)) response['X-Accel-Redirect'] = smart_str(zip_file) response.content = file_path return response
def file_as_image(path): response = HttpResponse(content_type=mimetypes.guess_type(path)) with open(path, 'rb') as cover_file: response.content = cover_file.read() response['Content-Length'] = len(response.content) return response