Beispiel #1
0
def bookmark_reply(request, id):
    bookmark = get_object_or_404(Bookmark, id=id)
    if bookmark.item is None:
        try:
            item = Item.objects.get(url=bookmark.url)
        except Item.DoesNotExist:
            item = Item(title=get_bookmark_title(bookmark.url), url=bookmark.url, favorites=1)
            item.save()
        bookmark.item = item
        bookmark.save()
        item.favorites = item.bookmark_set.count()
        item.save()
    else:
        item = bookmark.item

    return redirect('item_reply', id=item.id)
Beispiel #2
0
def addurl(request):
    if request.session.get('id', None) is None:
        request.session['redirect_url'] = request.GET.get('url', None)
        return redirect('signin')

    url   = current_url(request.GET.get('url', None).encode('utf-8'))
    title = get_bookmark_title(url)
    user  = get_object_or_404(User, id=request.session.get('id', None))

    # 添加到Item表
    try:
        item = Item.objects.get(url=url)
        try:
            # 如果书签已存在 直接跳到编辑页面
            bookmark = Bookmark.objects.get(url=item.url, user=user)
            # 如果书签通过导入文件添加 不走item表 所以bookmark表item_id为0
            if bookmark.item_id is None:
                bookmark.item = item
                bookmark.save()
                # 更新item的书签数量
                item.favorites = item.bookmark_set.count()
                item.save()
            return redirect('bookmark_edit', id=bookmark.id)
        except Bookmark.DoesNotExist:
            pass

    except Item.DoesNotExist:
        item = Item(url=url.encode('utf-8'), title=title.encode('utf-8'))
        item.save()
        try:
            # 如果书签已存在 直接跳到编辑页面
            bookmark = Bookmark.objects.get(url=item.url, user=user)
            # 如果书签通过导入文件添加 不走item表 所以bookmark表item_id为0
            if bookmark.item_id is None:
                bookmark.item = item
                bookmark.save()
                # 更新item的书签数量
                item.favorites = item.bookmark_set.count()
                item.save()
            return redirect('bookmark_edit', id=bookmark.id)
        except Bookmark.DoesNotExist:
            pass

    form = BookmarkForm(initial={'title':title})
    lists = user.list_set.all()
    return render(request, 'bookmark/new.html', {'form': form, 'lists': lists, 'item': item})
Beispiel #3
0
def edit(request, id):
    bookmark = get_object_or_404(Bookmark, id=id)

    if bookmark.user.id != request.session.get('id', None):
        raise Http404

    if bookmark.item is None:
        try:
            item = Item.objects.get(url=bookmark.url)
        except Exception, e:
            title = get_bookmark_title(bookmark.url)
            item = Item(url=bookmark.url, title=title.encode('utf-8'), favorites=1)
            item.save()
        bookmark.item = item
        bookmark.save()
        item.favorites = item.bookmark_set.count()
        item.save()