def article_archive(request): # 告警 messageinfo_list = models_frame.TabAlarmInfo.objects.all() type = request.GET.get('type') author_id = request.GET.get('author_id') blog_tags = models_blog.BlogTag.objects.all() blog_views = models_blog.BlogArticle.objects.order_by('-views')[:10] sql = """ select a.id, date_format(a.created_time,'%%Y-%%m-%%d') created_time, date_format(a.created_time,'%%Y') created_year, date_format(a.created_time,'%%m') created_month, a.title, a.body, a.pub_time, a.type, a.subtype, a.views, a.author_id, b.username from blog_article a left join accounts_bloguser b on a.author_id = b. id where if ('%s'='None',1=1,a.type='%s') and if ('%s'='None',1=1,a.author_id='%s') order by a.id desc """ % (type, type, author_id, author_id) blog_articles = tools.mysql_django_query(sql) now = tools.now() if request.method == 'POST': if request.POST.has_key('search'): search = request.POST.get('search', None) return HttpResponseRedirect('/blog_index?search=%s' % search) else: logout(request) return HttpResponseRedirect('/login/') if messageinfo_list: msg_num = len(messageinfo_list) msg_last = models_frame.TabAlarmInfo.objects.latest('id') msg_last_content = msg_last.alarm_content tim_last = (datetime.datetime.now() - msg_last.alarm_time).seconds / 60 else: msg_num = 0 msg_last_content = '' tim_last = '' return render_to_response( 'my_blog/article_archive.html', { 'messageinfo_list': messageinfo_list, 'msg_num': msg_num, 'now': now, 'msg_last_content': msg_last_content, 'tim_last': tim_last, 'blog_articles': blog_articles, 'blog_tags': blog_tags, 'blog_views': blog_views })
def article_detail(request): # 告警 article_id = request.GET.get('id') messageinfo_list = models_frame.TabAlarmInfo.objects.all() blog_tags = models_blog.BlogTag.objects.all() blog_views = models_blog.BlogArticle.objects.order_by('-views')[:10] sql = """ select a.id, date_format(a.created_time,'%%Y-%%m-%%d') created_time, a.title, a.body, a.pub_time, a.type, a.subtype, a.views, a.author_id, b.username from blog_article a left join accounts_bloguser b on a.author_id = b. id where a.id= %s """ % article_id article_detail = tools.mysql_django_query(sql) sql = "update blog_article a set a.views = a.views+1 where id = %s " % article_id tools.mysql_exec(sql, '') now = tools.now() if request.method == 'POST': if request.POST.has_key('search'): search = request.POST.get('search', None) return HttpResponseRedirect('/blog_index?search=%s' % search) else: logout(request) return HttpResponseRedirect('/login/') if messageinfo_list: msg_num = len(messageinfo_list) msg_last = models_frame.TabAlarmInfo.objects.latest('id') msg_last_content = msg_last.alarm_content tim_last = (datetime.datetime.now() - msg_last.alarm_time).seconds / 60 else: msg_num = 0 msg_last_content = '' tim_last = '' return render_to_response( 'my_blog/article_detail.html', { 'messageinfo_list': messageinfo_list, 'msg_num': msg_num, 'now': now, 'msg_last_content': msg_last_content, 'tim_last': tim_last, 'article_detail': article_detail, 'blog_tags': blog_tags, 'blog_views': blog_views })
def oracle_grant(request): messageinfo_list = models_frame.TabAlarmInfo.objects.all() tags = request.GET.get('tags') print tags username = request.GET.get('username') sql = "select host,port,service_name,user,password,user_os,password_os from tab_oracle_servers where tags= '%s' " %tags oracle = tools.mysql_query(sql) host = oracle[0][0] port = oracle[0][1] service_name = oracle[0][2] user = oracle[0][3] password = oracle[0][4] password = base64.decodestring(password) url = host + ':' + port + '/' + service_name # 角色权限 sql = """ select grantee, granted_role, admin_option, default_role, to_char(sysdate, 'yyyy-mm-dd') get_date from dba_role_privs where grantee = '%s' """ %username user_roles = tools.oracle_django_query(user,password,url,sql) # 系统权限 sql = """ select grantee,privilege,admin_option,to_char(sysdate,'yyyy-mm-dd') get_date from dba_sys_privs where grantee = '%s' """ %username sys_privs = tools.oracle_django_query(user,password,url,sql) # 对象权限 sql = """ select owner,grantee,grantor,table_name,privilege ,grantable,hierarchy,to_char(sysdate,'yyyy-mm-dd') get_date from dba_tab_privs where grantee <> 'PUBLIC' and privilege <> 'EXECUTE' and grantee = '%s' """ %username tab_privs = tools.oracle_django_query(user,password,url,sql) now = tools.now() if request.method == 'POST': logout(request) return HttpResponseRedirect('/login/') if messageinfo_list: msg_num = len(messageinfo_list) msg_last = models_frame.TabAlarmInfo.objects.latest('id') msg_last_content = msg_last.alarm_content tim_last = (datetime.datetime.now() - msg_last.alarm_time).seconds / 60 else: msg_num = 0 msg_last_content = '' tim_last = '' return render_to_response('oracle_grant.html', {'messageinfo_list': messageinfo_list, 'msg_num':msg_num,'user_roles': user_roles,'sys_privs':sys_privs, 'tab_privs':tab_privs,'username':username,'tags': tags,'now': now, 'msg_last_content': msg_last_content, 'tim_last': tim_last})
def article_add(request): # 告警 article_id = request.GET.get('id') messageinfo_list = models_frame.TabAlarmInfo.objects.all() blog_tags = models_blog.BlogTag.objects.all() blog_views = models_blog.BlogArticle.objects.order_by('-views')[:10] author_id = 1 now = tools.now() if request.method == 'POST': if request.POST.has_key('commit'): title = request.POST.get('title', None) body = request.POST.get('body', None) type = request.POST.get('type', None) subtype = request.POST.get('subtype', None) created_time = datetime.datetime.now().strftime( "%Y-%m-%d %H:%M:%S") models_blog.BlogArticle.objects.create(title=title, body=body, type=type, subtype=subtype, author_id=author_id, created_time=created_time, views=0) # models_blog.BlogArticle.objects.filter(id=article_id).update(title=title, body=body, type=type, subtype=subtype,author_id=author_id) return HttpResponseRedirect('/blog_index') elif request.POST.has_key('search'): search = request.POST.get('search', None) return HttpResponseRedirect('/blog_index?search=%s' % search) else: logout(request) return HttpResponseRedirect('/login/') if messageinfo_list: msg_num = len(messageinfo_list) msg_last = models_frame.TabAlarmInfo.objects.latest('id') msg_last_content = msg_last.alarm_content tim_last = (datetime.datetime.now() - msg_last.alarm_time).seconds / 60 else: msg_num = 0 msg_last_content = '' tim_last = '' return render_to_response( 'my_blog/article_add.html', { 'messageinfo_list': messageinfo_list, 'msg_num': msg_num, 'now': now, 'msg_last_content': msg_last_content, 'tim_last': tim_last, 'blog_tags': blog_tags, 'blog_views': blog_views })
def oracle_profile(request): messageinfo_list = models_frame.TabAlarmInfo.objects.all() tags = request.GET.get('tags') profile_name = request.GET.get('profile_name') sql = "select host,port,service_name,user,password,user_os,password_os from tab_oracle_servers where tags= '%s' " % tags oracle = tools.mysql_query(sql) host = oracle[0][0] port = oracle[0][1] service_name = oracle[0][2] user = oracle[0][3] password = oracle[0][4] password = base64.decodestring(password) url = host + ':' + port + '/' + service_name sql = """ select profile,resource_name,resource_type,limit,to_char(sysdate,'yyyy-mm-dd') get_date from dba_profiles where profile = '%s' """ % profile_name oracle_profiles = tools.oracle_django_query(user, password, url, sql) now = tools.now() if request.method == 'POST': logout(request) return HttpResponseRedirect('/login/') if messageinfo_list: msg_num = len(messageinfo_list) msg_last = models_frame.TabAlarmInfo.objects.latest('id') msg_last_content = msg_last.alarm_content tim_last = (datetime.datetime.now() - msg_last.alarm_time).seconds / 60 else: msg_num = 0 msg_last_content = '' tim_last = '' return render_to_response( 'oracle_profile.html', { 'messageinfo_list': messageinfo_list, 'msg_num': msg_num, 'oracle_profiles': oracle_profiles, 'profile_name': profile_name, 'tags': tags, 'now': now, 'msg_last_content': msg_last_content, 'tim_last': tim_last })
def mysql_ctl(request): # 告警 messageinfo_list = models_frame.TabAlarmInfo.objects.all() oper_type = request.GET.get('oper_type') host = request.GET.get('host') if oper_type: log_type = 'Mysql启停' sql = '''select user,password from tab_linux_servers where host='%s' ''' % host mysql = tools.mysql_query(sql) user = mysql[0][0] password = mysql[0][1] password = base64.decodestring(password) if oper_type == 'startup': # ora_do.oracle_startup(host, user, password) return HttpResponseRedirect('/mysql_ctl/') elif oper_type == 'shutdown': # ora_do.oracle_shutdown(host, user, password) return HttpResponseRedirect('/mysql_ctl/') else: # ora_do.oracle_shutdown(host, user, password) # ora_do.oracle_startup(host, user, password) return HttpResponseRedirect('/mysql_ctl/') else: # 数据库操作面板 mysql_ctl_sql = '''select t1.tags, t1.host, t1.port, (case t2.mon_status when 'connected' then 'running' else 'suspend' end) run_status, (case t2.mon_status when 'connected' then 'success' else 'danger' end) is_run, (case t2.mon_status when 'connected' then 'red' else 'green' end) run_color, (case t2.mon_status when 'connected' then 'shutdown' else 'startup' end) oper_type from tab_mysql_servers t1 left join mysql_db t2 on t1.tags = t2.tags''' mysql_ctl_list = tools.mysql_django_query(mysql_ctl_sql) paginator_mysql_ctl = Paginator(mysql_ctl_list, 5) page_mysql_ctl = request.GET.get('page_mysql_ctl') try: mysql_ctls = paginator_mysql_ctl.page(page_mysql_ctl) except PageNotAnInteger: # If page is not an integer, deliver first page. mysql_ctls = paginator_mysql_ctl.page(1) except EmptyPage: # If page is out of range (e.g. 9999), deliver last page of results. mysql_ctls = paginator_mysql_ctl.page(page_mysql_ctl.num_pages) now = tools.now() if request.method == 'POST': logout(request) return HttpResponseRedirect('/login/') if messageinfo_list: msg_num = len(messageinfo_list) msg_last = models_frame.TabAlarmInfo.objects.latest('id') msg_last_content = msg_last.alarm_content tim_last = (datetime.datetime.now() - msg_last.alarm_time).seconds / 60 return render_to_response('mysql_mon/mysql_ctl.html', {'messageinfo_list': messageinfo_list, 'mysql_ctls': mysql_ctls, 'msg_num': msg_num, 'now': now, 'msg_last_content': msg_last_content, 'tim_last': tim_last}) else: msg_num = 0 msg_last_content = '' tim_last = '' return render_to_response('mysql_mon/mysql_ctl.html', {'messageinfo_list': messageinfo_list, 'mysql_ctls': mysql_ctls, 'now': now, 'msg_last_content': msg_last_content, 'tim_last': tim_last})
def blog_index(request): # 告警 messageinfo_list = models_frame.TabAlarmInfo.objects.all() type = request.GET.get('type') subtype = request.GET.get('subtype') search = request.GET.get('search') author_id = request.GET.get('author_id') blog_tags = models_blog.BlogTag.objects.all() blog_views = models_blog.BlogArticle.objects.order_by('-views')[:10] sql = """ select a.id, date_format(a.created_time,'%%Y-%%m-%%d') created_time, a.title, a.body, a.pub_time, a.type, a.subtype, a.views, a.author_id, b.username from blog_article a left join accounts_bloguser b on a.author_id = b. id where if ('%s'='None',1=1,a.type='%s') and if ('%s'='None',1=1,a.author_id='%s') and if ('%s'='None',1=1,a.subtype='%s') and if ('%s'='None',1=1,a.title like '%%%s%%' ) order by a.id desc """ % (type, type, author_id, author_id, subtype, subtype, search, search) blog_article_list = tools.mysql_django_query(sql) if blog_article_list: paginator = Paginator(blog_article_list, 10) page = request.GET.get('page') try: blog_articles = paginator.page(page) except PageNotAnInteger: # If page is not an integer, deliver first page. blog_articles = paginator.page(1) except EmptyPage: # If page is out of range (e.g. 9999), deliver last page of results. blog_articles = paginator.page(paginator.num_pages) else: blog_articles = {} now = tools.now() if request.method == 'POST': if request.POST.has_key('search'): search = request.POST.get('search', None) return HttpResponseRedirect('/blog_index?search=%s' % search) else: logout(request) return HttpResponseRedirect('/login/') if messageinfo_list: msg_num = len(messageinfo_list) msg_last = models_frame.TabAlarmInfo.objects.latest('id') msg_last_content = msg_last.alarm_content tim_last = (datetime.datetime.now() - msg_last.alarm_time).seconds / 60 else: msg_num = 0 msg_last_content = '' tim_last = '' return render_to_response( 'my_blog/blog_index.html', { 'messageinfo_list': messageinfo_list, 'msg_num': msg_num, 'now': now, 'msg_last_content': msg_last_content, 'tim_last': tim_last, 'blog_articles': blog_articles, 'blog_tags': blog_tags, 'blog_views': blog_views, 'type': type, 'subtype': subtype, 'search': search })