def tryit(request): error_message = '' if request.method == 'POST': form = TryitForm(request.POST) if form.is_valid(): # "normalize" the url url = str(form.cleaned_data['url']).lower() # test for site existence res = get_http_response(url) if not res: error_message += "We can not connect '" \ + url +"', Please make sure you didnt have any typos in the url field" # site exists else: # site description website_info = {} website_info['url'] = url # for favicon nolanding_url = remove_landing_url(url) # clean url for compete website_info['compete_url'] = remove_leading_http(nolanding_url) # website's name website_info['name'] = extract_website_name(nolanding_url) # get available description of website website_info['description'] = get_site_description(res) # get the website's icon website_info['favicon_url'] = get_site_favicon_url(nolanding_url) # for screenshot website_info['screenshot_url'] = tryit_screenshot(url) or '' return render_to_response('website_info.html', website_info, context_instance=RequestContext(request), ) # request.method is GET else: form = TryitForm() return render_form('tryit_form.html', form, error_message, request)
def signup(request): if request.method == 'POST': form = SignupForm(request.POST) if form.is_valid(): email = form.cleaned_data['email'] fullname = form.cleaned_data['fullname'] password = form.cleaned_data['password'] url = str(form.cleaned_data['url']).lower() # creating the fresh user user = User(fullname=fullname, email=email, password=password, type=1) user.save() # creating activation record for the fresh user User_Activation(user=user).save() description ='' res = get_http_response(url) # saving website's description if res: description=get_site_description(res)[0:510] if len(description) >= 507: description=description[0:507]+'...' name=extract_website_name(remove_landing_url(url)) # insert the url to websites table in an unverified state # associated to the fresh user -- custom validator made sure that no # record with same url is verified yet website = Website(url=url, name=name, description=description, type=1) website.save() # saving website's icon favicon_url = get_site_favicon_url(remove_landing_url(url)) or '' if favicon_url: favicon_content = http_read(favicon_url) or '' if favicon_content: filename32 = make_random_string(32)+'.png' filename48 = make_random_string(32)+'.png' filename64 = make_random_string(32)+'.png' favicon32 = ContentFile(normalize_img((32,32),favicon_content)) favicon48 = ContentFile(normalize_img((48,48),favicon_content)) favicon64 = ContentFile(normalize_img((64,64),favicon_content)) website.favicon32.save(filename32, favicon32) website.favicon48.save(filename48, favicon48) website.favicon64.save(filename64, favicon64) # first site screenshot insertion screenshot_name = make_random_string(32)+'.png' screenshot_image_content = site_screenshot(url) if screenshot_image_content: p = ImageFile.Parser() p.feed(screenshot_image_content) im=p.close() screenshot_image_content = ContentFile(normalize_img((im.size[0]/2,im.size[1]/2),screenshot_image_content)) wi = Website_Image(name=name, website=website) wi.image.save(screenshot_name, screenshot_image_content) # the actual user-website association creation User_Website(user=user,website=website).save() response = HttpResponse('Signup successful, please activate via email') return response # request.method is GET else: form = SignupForm() # An unbound form return render_form('signup_form.html', form, '', request)