Ejemplo n.º 1
0
Archivo: app.py Proyecto: luoyibei/Blog
def add_blog():
    '''添加初始数据'''
    b1 = Blog(blogname = 'Firstblog',blogcontent = '亲亲' )
    b2 = Blog(blogname = 'Secondtblog',blogcontent = '抱抱')
    b3 = Blog(blogname = 'Thirdblog',blogcontent = '举高高')

    db.session.add_all([b1,b2,b3])
    db.session.commit()
Ejemplo n.º 2
0
def fillUp(modeladmin, request, queryset):

    for obj in queryset:
        #if self.connected==False:
        obj.connect()

        result, data = obj.mail.uid('search', None,
                                    "ALL")  # search and return uids instead
        id_list = data[0].split()

        for latest_email_uid in id_list[-100::1]:
            result, data = obj.mail.uid('fetch', latest_email_uid, '(RFC822)')
            raw_email = data[0][1]

            # here's the body, which is raw text of the whole email
            # including headers and alternate payloads

            #Parsing
            manager = BytesParser()
            email_message = manager.parsebytes(raw_email)

            try:
                message_juice = email_message.get_payload(decode=False)
                while type(message_juice) == type([1, 2]) and type(
                        message_juice[0].get_payload(decode=False)) == type(
                            [1, 2]):
                    message_juice = message_juice[0].get_payload(decode=False)

                if type(message_juice) == type([1, 2]):
                    if message_juice[-1].get_filename() == None:
                        html_message_juice = message_juice[-1].get_payload(
                            decode=True)
                    else:
                        html_message_juice = message_juice[0].get_payload(
                            decode=True)
                else:
                    html_message_juice = email_message.get_payload(decode=True)

                try:
                    newBlog = Blog(title=email_message['Subject'],
                                   body=html_message_juice.decode())
                    newBlog.save()
                except:
                    newBlog = Blog(
                        title=email_message['Subject'],
                        body=html_message_juice.decode('windows-1251'))
                    newBlog.save()

            except:
                newBlog = Blog(
                    title=email_message['Subject'],
                    body=
                    "This email could not be processed see what happened \n\nSubject: "
                    + email_message['Subject'])
                newBlog.save()
                pass
            obj.setData(repr(latest_email_uid))
Ejemplo n.º 3
0
def register(request):
    if request.method == 'POST':
        form = RegisterationForm(request.POST)
        if form.is_valid():
            user = User.objects.create_user(username=form.cleaned_data['username'], password=form.cleaned_data['password'])
            user.set_password(form.cleaned_data['password'])
            user.first_name = form.cleaned_data['first_name']
            user.last_name = form.cleaned_data['last_name']
            user.save()

            author = Users()
            author.user = user

            newBlog = Blog()
            newBlog.save()

            author.blog_id = newBlog.id
            author.save()

            newBlog.owner = author
            newBlog.save()

            return JsonResponse(data={'status': 0}, safe=False )
        else:
            return JsonResponse(data={'status': -1}, safe=False)

    else:
        return JsonResponse(data={'status': -1, 'message': "Something wrong!"}, safe=False)
Ejemplo n.º 4
0
def setup():
    form = SetupForm()
    error = ""
    if form.validate_on_submit():
        salt = bcrypt.gensalt()
        hashed_password = bcrypt.hashpw(form.password.data, salt)
        author = Author(form.fullname.data, form.email.data,
                        form.username.data, hashed_password, True)
        db.session.add(author)
        db.session.flush()
        if author.id:
            blog = Blog(form.name.data, author.id)
            db.session.add(blog)
            db.session.flush()
        else:
            db.session.rollback()
            error = "Error creating user"
        if author.id and blog.id:
            db.session.commit()
            flash("Blog created")
            return redirect(url_for('index'))
        else:
            db.session.rollback()
            error = "Error creating blog"
    return render_template('blog/setup.html', form=form, error=error)
Ejemplo n.º 5
0
def create_blog(request):
    errors = []
    template = "blog/templates/create_blog.html"
    form = CreateBlogForm()
    user = request.user

    if not user.is_authenticated():
        raise Http404

    if request.method == "POST":
        form = CreateBlogForm(request.POST)

        if form.is_valid():
            try:
                data = form.cleaned_data
                _blog = Blog()
                _blog.title = data["title"]
                _blog.owner = user
                _blog.url = data["url"]
                _blog.tagline = data["tagline"]
                _blog.active = True
                _blog.save()
                _blog.contributors.add(user)
                _blog.save()
                return HttpResponseRedirect("/blog/%s/" % user.username)
            except:
                errors.append("Blog URL already taken.")

    return render(request, template, {"errors": errors, "form": form})
Ejemplo n.º 6
0
def setup():
    form = SetupForm()
    error = ""

    if form.validate_on_submit():
        salt = bcrypt.gensalt()
        hashed_password = bcrypt.hashpw(form.password.data, salt)
        author = Author(form.fullname.data, form.email.data,
                        form.username.data, hashed_password, True)
        db.session.add(author)
        # this will flush data, but not commit, and this gives us an author.id
        db.session.flush()
        if author.id:
            # have author id, so record does not already exit in author table
            # now build blog record
            blog = Blog(form.name.data, author.id)
            db.session.add(blog)
            db.session.flush()
        else:
            db.session.rollback()
            error = "Error creating user"

        if author.id and blog.id:
            db.session.commit()
            flash("Blog created")
            return redirect(url_for('index'))
        else:
            db.session.rollback()
            error = "Error creating blog"

    return render_template('blog/setup.html', form=form, error=error)
Ejemplo n.º 7
0
def setup():
    form = SetupForm()
    error = ""
    if form.validate_on_submit():
        author = Author(
                form.fullname.data,
                form.email.data,
                form.username.data,
                bcrypt.generate_password_hash(form.password.data),
                True
            )
        db.session.add(author)
        db.session.flush()
        if author.id:
            blog = Blog(
                    form.name.data,
                    author.id
                )
            db.session.add(blog)
            db.session.flush()
            if author.id and blog.id:
                db.session.commit()
                flash("Blog created")
                return redirect(url_for("index"))
            else:
                error = "Error creating blog"
                db.session.rollback()
        else:
            error = "Error creating author"
            db.session.rollback()
    return render_template("blog/setup.html", form=form, error=error)
Ejemplo n.º 8
0
def setup():
    error = None
    form = SetupForm()
    if form.validate_on_submit():
        author = Author(form.fullname.data, form.email.data,
                        form.username.data, form.password.data, True)
        db.session.add(author)
        db.session.flush()
        if author.id:
            blog = Blog(form.name.data, author.id)
            db.session.add(blog)
            db.session.flush()
        else:
            db.session.rollback()
            error = "Error creating user"

        if author.id and blog.id:
            db.session.commit()
            flash("Blog created")
            return redirect(url_for('admin'))
        else:
            db.session.rollback()
            error = "Error creating blog"

    return render_template('blog/setup.html', form=form)
Ejemplo n.º 9
0
    def process_item(self, item, spider):
        blog = Blog()
        blog.blog_title = item['title']
        #blog.blog_text="[%s](%s)"%(item['title'],item['href'])
        #处理href,只取最后几位数字
        num = item['href'].split('.')[-2][-7:]
        blog.blog_text = 'blog/html/' + num + '.html'
        blog.blog_img = ''
        blog.blog_text_brief = ''
        blog.pub_date = datetime.datetime.strptime(item['date_str'],
                                                   '%Y-%m-%d %H:%M')
        blog.blog_praise = int(item['commentnum'])
        blog.save()

        #html=open(blog.blog_text,'w')
        #content=item['content']
        #html.write(content.encode("gbk"))
        #html.close()
        html_dir = '/home/dk/mysite/blog/templates/' + blog.blog_text

        file = open(html_dir, 'w')

        u = item['content']

        file.write(u.encode('utf-8'))  #utf8转str

        file.close()

        return item
Ejemplo n.º 10
0
def setup():
    error = ''
    form = SetupForm()
    if form.validate_on_submit():

        salt = bcrypt.gensalt()
        hashed_pwd = bcrypt.hashpw(form.password.data.encode('utf-8'), salt)

        author = Author(form.fullname.data, form.email.data,
                        form.username.data, hashed_pwd, True)
        db.session.add(author)
        db.session.flush()
        if author.id:
            blog = Blog(form.name.data, author.id)
            db.session.add(blog)
            db.session.flush()
        else:
            db.session.rollback()
            error = 'err. creatin user'

        if author.id and blog.id:
            db.session.commit()
        else:
            db.session.rollback()
            error = 'err.creatin blog'

        flash('blog created')
        redirect(url_for('admin'))

    return render_template('blog/setup.html', form=form, error=error)
Ejemplo n.º 11
0
def create_blog(request):
    u = request.session.get('username')
    l = request.session.get('login_state')
    user = User.objects.get(username=u)
    img = user.img
    info = {}
    info['login_state'] = l
    info['user'] = u
    info['img'] = img
    if request.method == 'GET':
        info['msg'] = '欢迎创建新博客!'
        return render(request,'blog/create_blog.html',info)
    elif request.method == 'POST':
        data = request.POST
        submit = data.get('submit')
        title = data.get('title')
        summary = data.get('summary')
        content = data.get('content')
        if submit == '取消':
            return redirect(blog)
        error = ''
        if not title:
            error = '标题不能为空!'
        if not (summary or error):
            error = '摘要不能为空!'
        if not (content or error):
            error = '内容不能为空!'
        if error:
            info['msg'] = error
            return render(request,'blog/create_blog.html',info)
        new_blog = Blog(author=user,title=title,summary=summary,content=content)
        new_blog.save()
        info['msg'] = '创建成功!'
        return render(request,'blog/create_blog.html',info)
Ejemplo n.º 12
0
def setup():
    form = SetupForm()
    error = ""
    if form.validate_on_submit():
        admin_id = session.get('id')
        # salt = bcrypt.gensalt()
        # pssword =form.password.data
        # hashed_password = bcrypt.hashpw(pssword.encode('utf8'),salt)
        # author = Author(form.fullname.data,
        # 			form.email.data,
        # 			form.username.data,
        # 			hashed_password,
        # 			True)
        # db.session.add(author)
        # db.session.flush()
        if admin_id:
            blog = Blog(form.name.data, admin_id)
            db.session.add(blog)
            db.session.flush()
            if blog.id:
                db.session.commit()
                flash("Blog Created")
                return redirect(url_for('admin'))
            else:
                db.session.rollback()
                error = "Blog not created"
        else:
            db.session.rollback()
            error = "Author not created"

    return render_template('blog/setup.html', form=form, error=error)
Ejemplo n.º 13
0
def setup():
    form = SetupForm()
    error = ""
    # taking data from form and adding that data it to the table
    if form.validate_on_submit():
        salt = bcrypt.gensalt()  # generating salt
        hashed_password = bcrypt.hashpw(form.password.data.encode('utf8'),
                                        salt)
        author = Author(form.fullname.data, form.email.data,
                        form.username.data, hashed_password, True)
        db.session.add(author)
        db.session()
        db.session.flush()
        if author.id:
            blog = Blog(form.name.data, author.id)
            db.session.add(blog)
            db.session.flush()
        else:
            db.session.rollback()
            error = "Error Creating user"
        if author.id and blog.id:
            db.session.commit()
            flash("Blog Created")
            return redirect(url_for('admin'))
        else:
            db.session.rollback()
            error = "Error Creating Blog"
    return render_template('blog/setup.html', form=form)
Ejemplo n.º 14
0
def addBlog(request):
    if request.method == 'POST':
        title = request.POST['title']
        subTitle = request.POST['subTitle']
        content = request.POST['content']
        authorId = request.POST['authorId']
        if title == "" or content == "" or subTitle == "" or authorId == "" or authorId == 0:
            return formatMessageJson(success=False,
                                     status=10003,
                                     message="字段缺失")
        try:
            blog = Blog(title=title,
                        subTitle=subTitle,
                        content=content,
                        author_id=authorId)
            blog.save()
            # 或者
            # Blog.objects.create(title=title,content=content,author_id=authorId)
            # return JsonResponse({"code": 200, "message": "新增成功"})
            return formatMessageJson(success=True, message="添加成功")
        except ValidationError:
            return formatMessageJson(success=False,
                                     status=10002,
                                     message="添加失败")
    else:
        return formatMessageJson(success=False,
                                 status=10001,
                                 message="请使用POST提交请求")
Ejemplo n.º 15
0
 def test_whenever_post_saved_with_published_status_date_is_set(self):
     blog = Blog(title='Words and stuff', body='', author=self.user, status='draft')
     blog.save()
     self.assertIsNone(blog.date_published)
     blog.status = 'published'
     blog.save()
     self.assertIsNotNone(blog.date_published)
Ejemplo n.º 16
0
def blog_add(request):
    if request.method == 'POST':
        form = BlogForm(request.POST)
        tag = TagForm(request.POST)
        if form.is_valid() and tag.is_valid():
            cd = form.cleaned_data
            cdtag = tag.cleaned_data
            tagname = cdtag['tag_name']
            for taglist in tagname.split():
                Tag.objects.get_or_create(tag_name=taglist.strip())
                title = cd['caption']
                author = Author.objects.get(id=1)
                content = cd['content']
                blog = Blog(caption=title, author=author, content=content)
                blog.save()
            for taglist in tagname.split():
                blog.tags.add(Tag.objects.get(tag_name=taglist.strip()))
                blog.save()
            id = Blog.objects.order_by('-publish_time')[0].id
            return HttpResponseRedirect('/myblog/blog/%s' % id)
        #return HttpResponseRedirect(reverse('detailblog',args=[id]))
    else:
        form = BlogForm()
        tag = TagForm(initial={'tag_name': 'notags'})
    return render(request,
                  'blog_add.html', {
                      'form': form,
                      'tag': tag
                  },
                  context_instance=RequestContext(request))
Ejemplo n.º 17
0
def api_create_blog_view(request):
    if request.method == 'POST':
        data = JSONParser().parse(request)
        blog = Blog(user=request.user)
        blog_serializer = CreateUpdateBlogSerializer(data=data, instance=blog)
        if blog_serializer.is_valid():
            try:
                with transaction.atomic():
                    new_blog = blog_serializer.save()
                    # 新增tags
                    wanted_tag_id = data.get('tags', [])
                    wanted_tag_obj = Tag.objects.filter(
                        id__in=wanted_tag_id).all()
                    if wanted_tag_id:
                        Blog_Tag.objects.bulk_create([
                            Blog_Tag(tag=tag_obj, blog=new_blog)
                            for tag_obj in wanted_tag_obj
                        ])
            except Exception as err:
                logging.error(err)
                return Response({'response': 'DB safe failed.'},
                                status=status.HTTP_500_INTERNAL_SERVER_ERROR)

        else:
            return Response(blog_serializer.errors,
                            status=status.HTTP_400_BAD_REQUEST)

        message = {
            'blog': blog_serializer.data,
        }
        return Response(message, status=status.HTTP_201_CREATED)
Ejemplo n.º 18
0
def setup():
    form = SetupForm()
    error = ''
    if form.validate_on_submit():
        salt = bcrypt.gensalt()
        hashed_password = bcrypt.hashpw(form.password.data, salt)
        author = Author(
            form.fullname.data,
            form.email.data,
            form.username.data,
            hashed_password, #bcrypt hashed
            True
            )
        # send to db
        db.session.add(author)
        # needs to match "admin = ...db.ForeignKey('author.id'))" in models.py
        db.session.flush() # sqlalchemy simulates record being written to db = check
        if author.id:
            blog = Blog(
                form.name.data,
                author.id
                )
            db.session.add(blog)
            db.session.flush()
        else:
            db.session.rollback()
            error = 'Error creating user'
        if author.id and blog.id:
            db.session.commit()
            flash('Blog created')
            return redirect(url_for('index'))
        else:
            db.session.rollback()
            error = 'Error creating blog'
    return render_template('blog/setup.html', form=form, error=error)
Ejemplo n.º 19
0
 def testBlogModel(self):
     blog = Blog(author="*****@*****.**",
                 title="test",
                 slug="test-slug",
                 content="testContent")
     blog.put()
     self.assertEqual(1, len(Blog.query().fetch(2)))
Ejemplo n.º 20
0
    def make(self, **kwargs):
        make_path = kwargs.get("make", "")
        if not make_path:
            smart_print(u"请指定文件名")

        post_root = settings.POST_DIR_ROOT
        path = os.path.join(post_root, "%s.md" %make_path)
        file_handler = open(path, "r")
        text = file_handler.read()
        file_handler.close()

        html = md.convert(text.decode("utf-8"))
        metadata = parse_meta(md)
        metadata['content'] = HtmlFormatter.format_html(html)
        title = metadata.get("title", "")
        if not title:
            print("MD文件无title")
            return

        blog = Blog.get_by_unique(title=title)
        if not blog:
            blog = Blog()

        for key, value in metadata.items():
            setattr(blog, key, value)

        blog.save()
        smart_print("博客: %s,存储成功" %title)
Ejemplo n.º 21
0
def add_news(request):

    if not request.user.is_authenticated():

        return redirect('/login/')
    else:
        error = ""
        title = content = ""
        maybe_title = maybe_content = ""

        if 'add_title' in request.POST and 'add_content' in request.POST:
            add_title = request.POST.get('add_title')
            add_content = request.POST.get('add_content')
            if not add_content or not add_title:
                error = "please enter the form completely"
                maybe_title = request.POST.get('add_title')
                maybe_content = request.POST.get('add_content')
            else:
                #print 'time'
                #print datetime.datetime.now()
                p = Blog(title=add_title,
                         content=add_content,
                         time=datetime.datetime.now())
                p.save()
                return redirect('/cpanel/')

    return render(request, 'addnews.html', {
        'state': error,
        'maybe_title': maybe_title,
        'maybe_content': maybe_content
    })
Ejemplo n.º 22
0
def create_blog(**kw):
    blogs = Blog.objects.all()

    if len(blogs) == 0 or len(kw) != 0:
        return Blog(create_author(), 'test', **kw)
    else:
        return blogs[0]
Ejemplo n.º 23
0
    def get(self, request, blog_id, page=1):
        posts_per_page = 10

        blog = Blog().get_blog_by_id(blog_id)
        post_list_raw = blog.posts.all().order_by('-pub_date')

        paginator = Paginator(post_list_raw, posts_per_page)
        post_list = paginator.get_page(page)

        if request.user.is_authenticated:
            try:
                if blog.subscribers.get(pk=request.user.id):
                    subscribed = True
            except User.DoesNotExist:
                subscribed = False
        else:
            subscribed = False

        context = {
            'blog': blog, 
            'post_list': post_list,
            'pagination': post_list,
            'pagination_url': '/blog/' + str(blog_id) + '/page-',
            'subscribed': subscribed,        
        }
        return render(request, 'blog/blog/blog_detail.html', context)
Ejemplo n.º 24
0
def setup():
	form = SetupForm()

	if request.method == 'POST':

		if form.validate_on_submit():
			
			blog_name = form.blog_name.data
			author_name = form.author_name.data
			email = form.email.data
			username = form.username.data
			password = form.password.data
			is_author = True

			author = Author(author_name, email, username, password, is_author)
			db.session.add(author)
			db.session.flush()


			if author.id:
				blog = Blog(blog_name, author.id)
				db.session.add(blog)
				db.session.commit()

				return redirect(url_for('login'))

			else:
				db.session.rollback()
				return 'Form set up Failed'

			return 'Form Set Up Done!!'

	return render_template('author/setup.html', form = form)
Ejemplo n.º 25
0
def setup():
    form = SetupForm()
    error = None
    if form.validate_on_submit():

        # Encrypt password data
        salt = bcrypt.gensalt()
        hashed_password = bcrypt.hashpw(form.password.data, salt)

        # Create Author entitiy
        author = Author(form.fullname.data, form.email.data,
                        form.username.data, hashed_password, True)
        db.session.add(author)
        db.session.flush()

        # Check author entity for errors, create Blog entity if none
        if author.id:
            blog = Blog(form.name.data, author.id)
            db.session.add(blog)
            db.session.flush()
        else:
            db.session.rollback()
            error = "Error creating user"

        # Check Blog entity for errors
        if author.id and blog.id:
            db.session.commit()
            flash("Blog Created")
            return redirect(url_for('admin'))
        else:
            db.session.rollback()
            error = "Error creating blog"

    return render_template('blog/setup.html', form=form)
Ejemplo n.º 26
0
def save_blog(request):
    try:
        user = User.objects.get(pk=request.user.id)
        title = request.POST.get('title')
        bk = Bankuai.objects.get(pk=request.POST.get('bankuai'))
        lx = Leixing.objects.get(pk=request.POST.get('leixing'))
        content = request.POST.get('content')
        pub_date = timezone.now()
        b = Blog(title=title,
                 content=content,
                 zuozhe=user,
                 bankuai=bk,
                 leixing=lx,
                 pub_date=pub_date,
                 kuaizhao=getkuaizhao(content))
        form = ImageUploadForm(request.POST, request.FILES)  # 有文件上传要传如两个字段
        if form.is_valid():
            b.fengmian = form.cleaned_data['picture']  # 直接在这里使用 字段名获取即可
            b.save()
            setmoney(user.id, len(content))
            print('ok')
        return HttpResponseRedirect("/blog/" + str(b.id))

    except Exception as e:
        return HttpResponse(
            '保存失败!</br>非常抱歉,请将下方您编写的博客存根保存下来,或复制到编写区重新编写提交</br>注意!如果是重新编写可以直接复制到文本编辑区,如果是保存的话因为本站博客存根为HTML代码,不要直接保存在txt文本文档中,必要时可以右键查看源代码保存</br></br>'
            + content)
Ejemplo n.º 27
0
def create(request):
    blog = Blog()
    blog.title = request.POST['title']
    blog.title = request.POST['body']
    blog.pub_date = timezone.datetime.now()
    blog.save()
    return redirect('/blog')
Ejemplo n.º 28
0
def addcontent(request):
    if request.method == 'POST':
        form = ContentForm(request.POST, request.FILES)
        if form.is_valid():
            current_user = request.user
            data = Blog() # model ile bağlantı kur
            data.user_id = current_user.id
            data.title = form.cleaned_data['title']
            data.keywords = form.cleaned_data['keywords' ]
            data.description = form.cleaned_data['description']
            data.image = form.cleaned_data['image']
            data.type = form.cleaned_data['type']
            data.slug = form.cleaned_data['slug']
            data.detail = form.cleaned_data['detail']
            data.status = 'False'
            data.category = form.cleaned_data['category']
            data.save()  # verirabanına kaydet
            messages.success(request, 'Your Content Insterted Successfuly')
            return HttpResponseRedirect('/user/contents')
        else:
            messages.success(request, 'Content Form Error :' + str(form.errors))
            return HttpResponseRedirect('/user/addcontent')
    else:
        category = Category.objects.all()
        form=ContentForm()
        context={
            'category': category,
            'form' : form,
            }
        return render(request, 'user_addcontent.html', context)
Ejemplo n.º 29
0
def create(request):
    blog = Blog()
    blog.title = request.GET['title']
    blog.body = request.GET['body']
    blog.pub_date = timezone.datetime.now()
    blog.save()
    return redirect('/blog/'+str(blog.id))
Ejemplo n.º 30
0
def setup():
    blogs = Blog.query.count()
    if blogs:
        return redirect(url_for('admin'))
    form = SetupForm()
    if form.validate_on_submit():
        salt = bcrypt.gensalt()
        hashed_password = bcrypt.hashpw(form.password.data, salt)
        user = User(
            form.fullname.data,
            form.email.data,
            form.username.data,
            hashed_password,
            True
        )
        db.session.add(user)
        db.session.flush()
        if user.id:
            blog = Blog(form.name.data, user.id)
            db.session.add(blog)
            db.session.flush()
        else:
            db.session.rollback()
            error = "Error creating user"
        if user.id and blog.id:
            db.session.commit()
        else:
            db.session.rollback()
            error = "Error creating blog"
        flash('Blog created')
        return redirect('/admin')
    return render_template('blog/setup.html', form=form)