def quickSearch(request): if request.method == "GET": search_customer = request.GET.get("customer", None) search_manager = request.GET.get('manager', None) search_status = request.GET.get('status', None) search_module = request.GET.get('module', None) search_permission = request.GET.get('permission', None) search_perm_num = request.GET.get('num', None) search_perm_bool = request.GET.get('bool', None) search_config = request.GET.get('config', None) is_actual = request.GET.get('isActual', None) search_position = request.GET.get('position', None) if search_customer: if is_actual == "是": customers = Customer.objects(is_sys=False).order_by('+tag') elif is_actual == "否": customers = Customer.objects(is_sys=True).order_by('+tag') elif is_actual == "任意": customers = Customer.objects().order_by('+tag') cus_states = CustomerDeployStatus.objects() error = request.GET.get("error", None) cus_aftersales = [] for customer in customers: if customer.aftersale in cus_aftersales: continue cus_aftersales.append(customer.aftersale) results = [] if search_customer: for customer in customers: if search_customer == customer.name: results.append(customer) if search_manager and search_manager != '任意': for customer in customers: if search_manager == customer.aftersale: if is_actual == '是': if "实盘" in customer.name: results.append(customer) else: results.append(customer) if search_status and search_status != '任意': for customer in customers: if search_status == customer.customerstatus: if is_actual == '是': if "实盘" in customer.name: results.append(customer) else: results.append(customer) if search_module and search_module != '任意': for customer in customers: cus_modules = customer.modules for module in cus_modules: if search_module == module.name: if is_actual == '是': if "实盘" in customer.name: results.append(customer) else: results.append(customer) if search_permission and search_permission != '任意': for customer in customers: cus_permission = customer.permissions perm_settings = CustomerPermissionSettings.objects() for perm_setting in perm_settings: if perm_setting.name == search_permission[1:]: perm_id = str(perm_setting.id) if str(search_perm_num) == str( cus_permission[perm_id]) or str( search_perm_bool) == str( cus_permission[perm_id]): if is_actual == '是': if "实盘" in customer.name: results.append(customer) else: results.append(customer) if search_config: for customer in customers: setting = customer.settings pattern = re.compile(search_config, re.X) match = pattern.search(setting) if match is not None: if is_actual == '是': if "实盘" in customer.name: results.append(customer) else: results.append(customer) if is_actual == '是': for customer in customers: if '实盘' in customer.name: results.append(customer) elif is_actual == '否': for customer in customers: results.append(customer) if search_position and search_position != '任意': for customer in customers: if customer.position == search_position: results.append(customer) else: customers = Customer.objects().order_by('+tag') cus_states = CustomerDeployStatus.objects() error = request.GET.get("error", None) cus_aftersales = [] results = [] for customer in customers: if customer.aftersale in cus_aftersales: continue cus_aftersales.append(customer.aftersale) results.append(customer) return render_to_response("demo/search_view.html", locals(), context_instance=RequestContext(request)) elif request.method == 'POST': response = {"success": False, "error": "", "id": None} try: response["success"] = True response["error"] = "执行成功!" return HttpResponse(json.dumps(response), mimetype="application/json") except Exception, e: response["error"] = "系统异常![%s]" % str(e) logger.error(response["error"] + getTraceBack()) return HttpResponse(json.dumps(response), mimetype="application/json")
def quickSearch(request): if request.method == "GET": search_customer = request.GET.get("customer", None) search_manager = request.GET.get("manager", None) search_status = request.GET.get("status", None) search_module = request.GET.get("module", None) search_permission = request.GET.get("permission", None) search_perm_num = request.GET.get("num", None) search_perm_bool = request.GET.get("bool", None) search_config = request.GET.get("config", None) is_actual = request.GET.get("isActual", None) search_position = request.GET.get("position", None) if search_customer: if is_actual == "是": customers = Customer.objects(is_sys=False).order_by("+tag") elif is_actual == "否": customers = Customer.objects(is_sys=True).order_by("+tag") elif is_actual == "任意": customers = Customer.objects().order_by("+tag") cus_states = CustomerDeployStatus.objects() error = request.GET.get("error", None) cus_aftersales = [] for customer in customers: if customer.aftersale in cus_aftersales: continue cus_aftersales.append(customer.aftersale) results = [] if search_customer: for customer in customers: if search_customer == customer.name: results.append(customer) if search_manager and search_manager != "任意": for customer in customers: if search_manager == customer.aftersale: if is_actual == "是": if "实盘" in customer.name: results.append(customer) else: results.append(customer) if search_status and search_status != "任意": for customer in customers: if search_status == customer.customerstatus: if is_actual == "是": if "实盘" in customer.name: results.append(customer) else: results.append(customer) if search_module and search_module != "任意": for customer in customers: cus_modules = customer.modules for module in cus_modules: if search_module == module.name: if is_actual == "是": if "实盘" in customer.name: results.append(customer) else: results.append(customer) if search_permission and search_permission != "任意": for customer in customers: cus_permission = customer.permissions perm_settings = CustomerPermissionSettings.objects() for perm_setting in perm_settings: if perm_setting.name == search_permission[1:]: perm_id = str(perm_setting.id) if str(search_perm_num) == str(cus_permission[perm_id]) or str(search_perm_bool) == str( cus_permission[perm_id] ): if is_actual == "是": if "实盘" in customer.name: results.append(customer) else: results.append(customer) if search_config: for customer in customers: setting = customer.settings pattern = re.compile(search_config, re.X) match = pattern.search(setting) if match is not None: if is_actual == "是": if "实盘" in customer.name: results.append(customer) else: results.append(customer) if is_actual == "是": for customer in customers: if "实盘" in customer.name: results.append(customer) elif is_actual == "否": for customer in customers: results.append(customer) if search_position and search_position != "任意": for customer in customers: if customer.position == search_position: results.append(customer) else: customers = Customer.objects().order_by("+tag") cus_states = CustomerDeployStatus.objects() error = request.GET.get("error", None) cus_aftersales = [] results = [] for customer in customers: if customer.aftersale in cus_aftersales: continue cus_aftersales.append(customer.aftersale) results.append(customer) return render_to_response("demo/search_view.html", locals(), context_instance=RequestContext(request)) elif request.method == "POST": response = {"success": False, "error": "", "id": None} try: response["success"] = True response["error"] = "执行成功!" return HttpResponse(json.dumps(response), mimetype="application/json") except Exception, e: response["error"] = "系统异常![%s]" % str(e) logger.error(response["error"] + getTraceBack()) return HttpResponse(json.dumps(response), mimetype="application/json")
def main(): response = {"success": False, "error": ""} customers = Customer.objects.order_by('-create_time') machine_json = {'portal_svn_info': [], 'server_svn_info': []} i = 0 for customer in customers: i += 1 print i if not customer: response['error'] = '查找客户失败!' return HttpResponse(json.dumps(response, ensure_ascii=False), mimetype="application/json") customerdeploystatus = CustomerDeployStatus() customerdeploystatus.customer = customer if not customer.machines: customerdeploystatus.state = 'unkown' customerdeploystatus.save() continue machines = customer.machines portal_is_old = False server_is_old = False customerdeploystatus.machines = machines records = CustomerDeployRecord.objects( customer=customer).order_by("-start_time") server_key_submits = [] portal_key_submits = [] if len(records) == 0: customerdeploystatus.state = '未知' customerdeploystatus.save() continue record = records[0] cus_pack = record.cus_package portal_package = cus_pack.portal_package server_pack = cus_pack.machine_packages[0] if not server_pack: response['error'] = '查找server包失败!' return HttpResponse(json.dumps(response, ensure_ascii=False), mimetype="application/json") if not portal_package: response['error'] = '查找portal包失败!' return HttpResponse(json.dumps(response, ensure_ascii=False), mimetype="application/json") #判断portal的svn_url和server的svn_url是否存在 if not portal_package.svn_url and not server_pack.svn_info: customerdeploystatus.state = '未知' customerdeploystatus.save() continue if portal_package.svn_url: machine_json[ 'portal_svn_info'], portal_is_old, portal_key_submits = get_portal_status( portal_package) if server_pack.svn_info: machine_json[ 'server_svn_info'], server_is_old, server_key_submits = get_serve_status( server_pack.svn_info) #判断是否为关键更新 if (portal_is_old and portal_key_submits) or (server_key_submits and server_is_old): customerdeploystatus.portal_svn_info = machine_json[ 'portal_svn_info'] customerdeploystatus.server_svn_info = machine_json[ 'server_svn_info'] customerdeploystatus.state = '关键更新' elif portal_is_old or server_is_old: customerdeploystatus.portal_svn_info = machine_json[ 'portal_svn_info'] customerdeploystatus.server_svn_info = machine_json[ 'server_svn_info'] customerdeploystatus.state = '有更新' else: customerdeploystatus.state = '未知' customerdeploystatus.portal_is_old = portal_is_old customerdeploystatus.server_is_old = server_is_old customerdeploystatus.create_time = datetime.datetime.now() customerdeploystatus.save() return HttpResponse(json.dumps(response, ensure_ascii=False), mimetype="application/json")