Exemple #1
0
def generateQrCode(request):
    if request.method == 'POST':
        form = ToPhoneForm(request.POST)
        if form.is_valid():
            # process data
            print "\n\nProcessing data..."
            print form.cleaned_data

            link_val = form.cleaned_data.get('copy_value', None)
            # short circuit if no value exists, this should never happen
            # because the form will not validate without input
            if not link_val:
                return render(request, 'tophone.html', {'form': ToPhoneForm()})

            qrcode = pyqrcode.create(link_val)
            uuid_val = uuid() # third-party short, url-safe uuid generator
            img_name = "qrcoderepo/svg/%s.svg" % uuid_val
            print img_name
            qrcode.svg(img_name, scale=8)
            print "svg image created"

            return HttpResponseRedirect(uuid_val + '/')

    else:
        form = ToPhoneForm()

    return render(request, 'tophone.html', {'form': form})
Exemple #2
0
def save_backfile():
    target = os.path.join(settings.BASE_DIR, 'media', uuid() + 'jpg')
    with open(target, 'wb') as des:
        for chunk in f.chunks():
            des.write(chunk)

    return os.path.basename(target)
Exemple #3
0
def mergepic(image_file, msg, font_size, x, y):
    fill = (0,0,0,255)
    image_file = Image.open(image_file)
    im_w, im_h = image_file.size 
    im0 = Image.new('RGBA', (1,1))
    dw0 = ImageDraw.Draw(im0)
    font = ImageFont.truetype(os.path.join(settings.BASE_DIR,'wt014.ttf'), font_size)
    fn_w, fn_h = dw0.textsize(msg, font=font)

    im = Image.new('RGBA', (fn_w, fn_h), (255,0,0,0))
    dw = ImageDraw.Draw(im)
    dw.text((0,0), msg, font=font, fill=fill)
    image_file.paste(im, (x, y), im)
    saved_filename = uuid()+'.jpg'
    image_file.save(os.path.join(settings.BASE_DIR,"media", saved_filename))
    return saved_filename
Exemple #4
0
def mergepic(image_file, msg, font_size, x, y):
    fill = (0,0,0,255)
    try:
        image_file = Image.open(image_file)
    except:
        image_file = Image.open(os.path.join(settings.BASE_DIR, 'static/backimages/back1.jpg'))
    im_w, im_h = image_file.size 
    im0 = Image.new('RGBA', (1,1))
    dw0 = ImageDraw.Draw(im0)
    font = ImageFont.truetype(os.path.join(settings.BASE_DIR,'wt014.ttf'), font_size)
    fn_w, fn_h = dw0.textsize(msg, font=font)

    im = Image.new('RGBA', (fn_w, fn_h), (255,0,0,0))
    dw = ImageDraw.Draw(im)
    dw.text((0,0), msg, font=font, fill=fill)
    image_file.paste(im, (x, y), im)
    saved_filename = uuid()+'.jpg'
    image_file.save(os.path.join(settings.BASE_DIR,"media", saved_filename))
    return saved_filename
Exemple #5
0
def add_article(request):
    if request.method == 'POST':
        form_obj = CreateArticleForm(request.POST, request.FILES)
        if form_obj.is_valid():
            saved_data = dict()
            saved_data['title'] = form_obj.cleaned_data.get('title')
            raw_desc = form_obj.cleaned_data.get("desc")
            saved_data['user'] = request.user
            file_obj = form_obj.cleaned_data.get("image")
            if file_obj:
                file_uuid_name = uuid()
                file_ext = mimetypes.guess_extension(file_obj.content_type)
                file_name = "{}{}".format(file_uuid_name, file_ext)
                saved_data['prev_image'] = file_name
                filepath = path.join(settings.MEDIA_ROOT, 'image', file_name)
                with open(filepath, "wb") as f:
                    for chunk in file_obj.chunks():
                        f.write(chunk)

            from bs4 import BeautifulSoup
            bs = BeautifulSoup(raw_desc, "html.parser")
            saved_data['desc'] = bs.text[0:225] + "..." if len(bs.text) > 225 else bs.text
            # фильтруем опасные теги
            for tag in bs.find_all():
                if tag.name in ['script', 'link']:
                    tag.decompose()
            article_obj = Article.objects.create(**saved_data)
            ArticleDetail.objects.create(content=str(bs), article=article_obj,
                                         image=saved_data.get("prev_image", 'not_found.png'))
            return redirect("blog:home")

        else:
            return render(request, 'add_article.html', {'form_obj': form_obj, "title": "Добавить статью"})

    form_obj = CreateArticleForm()
    return render(request, 'add_article.html', {'form_obj': form_obj, "title": "Добавить статью"})
Exemple #6
0
def save_backfile(f):
    target = os.path.join(settings.BASE_DIR,"media", uuid()+'.jpg')
    with open(target, 'wb') as des:
        for chunk in f.chunks():
            des.write(chunk)
    return os.path.basename(target)