def return_main_job(requests, thomson_name, jid): if not requests.user.is_authenticated(): return HttpResponse(status=401) user = user_info(requests) args = {} result = acThomson(thomson_name).returnMainJob(jid) # print result if result.upper() == "OK": args['detail'] = "Return successful!" message = json.dumps(args) return HttpResponse(message, content_type='application/json', status=200) elif result.upper() == "NOTOK": args['detail'] = "Return Error!" message = json.dumps(args) return HttpResponse(message, content_type='applicatiob/json', status=203) else: args['detail'] = "Error!" + result message = json.dumps(args) return HttpResponse(message, content_type='applicatiob/json', status=203)
def start_job(request, name): date_time = DateTime() opdate = date_time.get_now() if not request.user.is_authenticated(): return HttpResponseRedirect('/accounts/login') user = user_info(request) args={} args['name'] = name typeStream=Streaming(name).get_type() args['typeStream'] = typeStream if typeStream == 'Facebook': args['ip'] = Facebook(name).get_ip() args['streamkey'] = Facebook(name).get_streamkey() elif Streaming(name).get_type() == 'Youtube': args['ip'] = Youtube(name).get_ip() args['streamkey'] = Youtube(name).get_streamkey() if request.method == 'POST': #Restart job if user not input new infor if 'startWithOldInfo' in request.POST: Process(name).restart_job() return HttpResponseRedirect('/supvisor/') #End restart job if user not input new infor if 'saveAndStart' in request.POST: #Get new infor from template streamkey = request.POST.get('command', '').strip() ip = request.POST.get('ip', '').strip() event = request.POST.get('event', '').strip() #Return deffault ip if new ip is none if not ip: ip = '225.1.1.7:30120' #Get new infor from template #write log msg= " user: "******" edit process "+name write_log(request.user.username,"edit", msg) #End check new infor #Update job if new onfor and old infor different if event == "Facebook": Facebook(name).save(ip, streamkey) elif event == "Youtube": Youtube(name).save(ip, streamkey) if Process(name).get_job_status() == 1: Process(name).stop_job() Process(name).update_job() Process(name).start_job() cldate = date_time.get_now() rslog = { "sev" : "Warning", "jname" : name, "type" : event, "res" : ip, "desc" : msg, "cat" : "live stream", "host" : "118.69.166.162", "opdate" : opdate, "cldate" : cldate } logger.warning(json.dumps(rslog)) return HttpResponseRedirect('/supvisor/') return render_to_response('supvisor/start.html', args)
def get_log(request, thomson_name): if not request.user.is_authenticated(): return HttpResponseRedirect('/accounts/login') user = user_info(request) """ Template show list all Logs. /log/ """ return render_to_response('log/'+thomson_name+'.html',user)
def get_open_log(request): """ Template show list all open Logs. /log/open/ """ if not request.user.is_authenticated(): return HttpResponseRedirect('/accounts/login') user = user_info(request) return render_to_response('log/log_open.html',user)
def get_system_log(request): """ Template show list all system Logs. /log/api/system """ if not request.user.is_authenticated(): return HttpResponseRedirect('/accounts/login') user = user_info(request) return render_to_response('log/log_system.html',user)
def rtmp_edit_job(request, name): if not request.user.is_authenticated(): return HttpResponseRedirect('/accounts/login') date_time = DateTime() opdate = date_time.get_now() if request.method == 'POST': if 'saveAndStart' in request.POST: #Get new infor from template encode = request.POST.get('encode', '').strip() print encode domain = request.POST.get('domain', '').strip() print domain ip = request.POST.get('ip', '').strip() print ip #check infor is change if RTMP(name).get_source()==ip and RTMP(name).get_encode()==encode and RTMP(name).get_destination()==domain: Process(name).restart_job() return HttpResponseRedirect('/supvisor/') '''Save command''' rtmp_pattern=re.compile("\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\:30120") aa = re.findall(rtmp_pattern, ip) if aa: RTMP(name).save_udp(ip, encode, domain) else: RTMP(name).save_rtmp(ip, encode, domain) '''End save command''' if Process(name).get_job_status() == 1: Process(name).stop_job() Process(name).update_job() Process(name).start_job() msg= " user: "******" edit process "+name write_log(request.user.username,"edit", msg) cldate = date_time.get_now() rslog = { "sev" : "Warning", "jname" : name, "type" : "rtmp", "res" : None, "desc" : msg, "cat" : "live stream", "host" : "118.69.166.162", "opdate" : opdate, "cldate" : cldate } logger.warning(json.dumps(rslog)) return HttpResponseRedirect('/supvisor/') else: user = user_info(request) args={} args['name'] = name args['ip'] = RTMP(name).get_source() args['domain'] = RTMP(name).get_destination() args['encode'] = RTMP(name).get_encode() return render_to_response('supvisor/rtmp/edit.html', args)
def password_change(request): if not request.user.is_authenticated(): return HttpResponseRedirect('/accounts/login') if request.method == 'POST': agrs = {} data = json.loads(request.body) oldpassword = data['oldpassword'] newpassword = data['newpassword'] retypepassword = data['retypepassword'] #Check password input incorrect if newpassword != retypepassword: agrs["detail"] = "Sorry, passwords do not match!" messages = json.dumps(agrs) return HttpResponse(messages, content_type='application/json', status=203) #check new password whith current password username = request.user.username user = user = authenticate(username=username, password=oldpassword) if user is None: agrs["detail"] = "Sorry, password incorrect!" messages = json.dumps(agrs) return HttpResponse(messages, content_type='application/json', status=203) #Check new pass word not same old password if newpassword == oldpassword: agrs["detail"] = "Sorry, new password same old password!" messages = json.dumps(agrs) return HttpResponse(messages, content_type='application/json', status=203) user = User.objects.get(pk=int(request.user.id)) user.set_password(newpassword) users = user.save() #update_session_auth_hash(request, users) agrs["detail"] = "Password change sucessfuly!" messages = json.dumps(agrs) return HttpResponse(messages, content_type='application/json', status=202) else: user = user_info(request) return render_to_response('accounts/password_change.html', user)
def set_auto_return_backup(requests, thomson_name, jid): if not requests.user.is_authenticated(): return HttpResponse(status=401) user = user_info(requests) data = '' args = {} try: data = json.loads(requests.body) except Exception as e: return HttpResponse(e, content_type='application/json', status=203) if JobDB().update_job_auto(thomson_name, data): args['detail'] = "Update successful!" message = json.dumps(args) return HttpResponse(message, content_type='application/json', status=200) else: args['detail'] = "Update Error!" message = json.dumps(args) return HttpResponse(message, content_type='applicatiob/json', status=203)
def profile(request): if request.method == 'GET': user = user_info(request) return render_to_response('accounts/profile.html', user) agrs = {} if request.method == 'POST': user = User.objects.get(pk=int(request.user.id)) data = json.loads(request.body) first_name = data['first_name'].strip() last_name = data['last_name'].strip() email = data['email'].strip() flag = 0 if user.first_name != first_name: user.first_name = first_name flag = 1 if user.last_name != last_name: user.last_name = last_name flag = 1 if user.email != email: user.email = email flag = 1 if flag: user.save() agrs["detail"] = "Profile change sucessfuly!" messages = json.dumps(agrs) return HttpResponse(messages, content_type='application/json', status=202) agrs["detail"] = "Info! Profile no change." messages = json.dumps(agrs) return HttpResponse(messages, content_type='application/json', status=203) agrs["detail"] = "Eror! unknow." messages = json.dumps(agrs) return HttpResponse(messages, content_type='application/json', status=203)
def test(request): user = user_info(request) return render_to_response('system/testcaptcha.html', locals())
def monitor_lab(request): user = user_info(request) return render_to_response('system/monitor-lab.html', user)
def monitor(request): user = user_info(request) return render_to_response('system/monitor.min.html', user)
def channel_profile(request): if not request.user.is_authenticated(): return HttpResponseRedirect('/accounts/login') user = user_info(request) return render_to_response('channel/profile/profile.html', user)
def get_waiting(request): if not request.user.is_authenticated(): return HttpResponseRedirect('/accounts/login') user = user_info(request) return render_to_response('job/job_waiting.html', user)
def supervisord(request): if not request.user.is_authenticated(): return HttpResponseRedirect('/accounts/login') if request.method == 'POST': agrs = {} try: data = json.loads(request.body) except Exception as e: agrs["detail"] = "No data input found!" messages = json.dumps(agrs) return HttpResponse(messages, content_type='application/json', status=203) name = data['name'].strip() stream_type = data['stream_type'].strip() source = data['source'] try: udp_pattern = re.compile( "\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\:\d{2,5}") source_list = re.findall(udp_pattern, source) source = source_list[0] except Exception as e: agrs["detail"] = "Invalid source input!" messages = json.dumps(agrs) return HttpResponse(messages, content_type='application/json', status=203) stream_key = data['stream_key'].strip() '''Check if stream name exists flag == 0 --> not exists flag == 1 --> adreally exists ''' flag = 0 configFileList = get_conf_files_list() for job in configFileList: if job == name: flag = 1 break #Cut white space name = name.replace(" ", "") if name.find(EXTENTION) < 0: name = name + EXTENTION '''get new stream id''' stream_id = random.randint(10000000000, 99999999999) if not flag: try: stream_id = StreamingHistory().get_new_id(request) except Exception as e: print e name = str(stream_id) + '_' + name else: stream_id = Streaming(name).get_id() '''Save as supervisord config''' if stream_type == "Facebook": #Facebook(name).save() Facebook(name).save(source, stream_key, stream_id, request.user.username, '') elif stream_type == "Youtube": Youtube(name).save(source, stream_key, stream_id, request.user.username, '') '''Add new job to supervisord''' if flag: '''Write history''' try: StreamingHistory().write_history(request.user.username, 'edited', stream_id) except Exception as e: print e if not Process(name).get_job_status(): Process(name).update_job() Process(name).stop_job() agrs["detail"] = "Successfully edited to stream %s" % (name) messages = json.dumps(agrs) else: '''Write history''' try: StreamingHistory().write_history(request.user.username, 'started', stream_id) except Exception as e: print e Process(name).update_job() Process(name).stop_job() agrs["detail"] = "Successfully added to stream %s" % (name) messages = json.dumps(agrs) return HttpResponse(messages, content_type='application/json', status=202) user = user_info(request) return render_to_response('supervisord/supervisord.html', user)
def get_workflow(request, thomson_name): if not request.user.is_authenticated(): return HttpResponseRedirect('/accounts/login') user = user_info(request) return render_to_response('workflow/' + thomson_name + '.html', user)
def get_system(request, thomson_name): if not request.user.is_authenticated(): return HttpResponse(status=401) user = user_info(request) return render_to_response('system/' + thomson_name + '.html', user)
def supvisor(request): if not request.user.is_authenticated(): return HttpResponseRedirect('/accounts/login') user = user_info(request) return render_to_response('supvisor/supvisor.html',user)
def monitor_add(self, request): if not request.user.is_authenticated(): return HttpResponseRedirect('/accounts/login') user = user_info(request) return render_to_response("event/monitor/add/add.html", user)
def service(self, request): if not request.user.is_authenticated(): return HttpResponseRedirect('/accounts/login') user = user_info(request) return render_to_response("event/service.html", user)
def get_index(request): if not request.user.is_authenticated(): return HttpResponseRedirect('/accounts/login') user = user_info(request) return render_to_response("schedule/schedule.html", user)
def agent_view(request): if not request.user.is_authenticated(): return HttpResponseRedirect('/accounts/login') user = user_info(request) return render_to_response('agent/agent.html', user)
def test_login(request): agrs = user_info(request) print agrs print agrs['id'] print agrs['email'] return render_to_response('test_login.html', agrs)