def modify_domain(request, domain_id): domain = get_object_or_404(Domain, id=domain_id) if request.method == 'POST': form = CheckForm(request.POST) if form.is_valid(): domain_url = form.cleaned_data['domain'] hosting = form.cleaned_data['host'] #host = Host.objects.get(name=hosting) if len(Host.objects.filter(name__icontains=hosting)) >= 1: host = Host.objects.get(name__icontains=hosting) domain.url = domain_url domain.host = host domain.save() return redirect('/domains/') else: host_errors = "Please input correct host name!" return render_to_response("domains/check.html", { "form":form, "host_errors":host_errors }, context_instance=RequestContext(request)) else: form = CheckForm({"domain":domain.url, "host":domain.host.name}) return render_to_response("domains/check.html", { "form":form }, context_instance=RequestContext(request))
def check(request): if request.method == "POST": form = CheckForm(request.POST) if form.is_valid(): domain_url = form.cleaned_data["domain"] hosting = form.cleaned_data["host"] if domain_url != "Enter your Domain Name" and hosting != "Enter your web host": # the host is url or string dot_num = len(re.findall("\\.", hosting)) if dot_num >= 1: temp_host = hosting if len(re.findall("http", hosting)) > 0: temp_host = temp_host[8:] if len(re.findall("www\\.", hosting)) > 0: temp_host = temp_host[4:] host = Host.objects.filter(signup_url__icontains=temp_host) else: host = Host.objects.filter(name__icontains=hosting) # verify the host against certified green hosts if len(host) == 1: # green # save domain information return redirect(reverse("before_verify") + "?domain=" + domain_url + "&hostid=" + str(host[0].id)) elif len(host) > 1: # multiple host host_errors = "The host name is not accurate!" return render_to_response( "domains/check.html", {"form": form, "host_errors": host_errors}, context_instance=RequestContext(request), ) else: # not find host # here do IP ping r = subprocess.Popen(["ping", domain_url, "-c 6"], stdout=subprocess.PIPE) ip_text = r.stdout.read() ipaddress = re.findall("\\((.+)\\):", ip_text) hostname = re.findall("from (.+) \\(", ip_text) ipstr = "" server = "" if len(ipaddress) > 0: ipstr = ipaddress[0] else: ipstr = "not" if len(hostname) > 0: server = hostname[0] else: server = "not" # here do whois w = subprocess.Popen(["whois", domain_url], stdout=subprocess.PIPE) whois_text = w.stdout.read() logs = Log.objects.filter(url__icontains=domain_url) if len(logs) >= 1: log = logs[0] else: log = Log() log.url = domain_url log.host = hosting log.ip = ipstr log.server = server log.whois = whois_text log.save() return redirect(reverse("co2_display", args=[log.id])) else: form = CheckForm() return render_to_response("domains/check.html", {"form": form}, context_instance=RequestContext(request))