From 05d636fc087945db7db8397c56c87ead02c4db2a Mon Sep 17 00:00:00 2001 From: Michiel Scholten Date: Tue, 2 Aug 2016 14:05:17 +0200 Subject: [PATCH] json view of public tag page --- CHANGELOG.md | 7 ++++++- digimarks.py | 17 ++++++++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b2576f7..21765d2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,12 +4,17 @@ - Sort by title - Sort by date - Logging of actions -- json/rss views of public tag pages +- rss views of public tag pages - On tags overview page: - Show which tags have public pages, with link - How many bookmarks each tag has +## v0.3.0 (unreleased) + +- rss view of public tag pages + + ## v0.2.0 2016-08-02 diff --git a/digimarks.py b/digimarks.py index da48f88..1975f6e 100644 --- a/digimarks.py +++ b/digimarks.py @@ -11,7 +11,7 @@ from urlparse import urlparse, urlunparse from utilkit import datetimeutil -from flask import Flask, abort, redirect, render_template, request, url_for +from flask import Flask, abort, redirect, render_template, request, url_for, jsonify from flask_peewee.db import Database #from flask_peewee.utils import get_object_or_404 from peewee import * # noqa @@ -403,6 +403,21 @@ def publictag(tagkey): abort(404) +@app.route('/pub//json') +def publictagjson(tagkey): + """ json representation of the Read-only overview of the bookmarks in the userkey/tag of this PublicTag """ + #this_tag = get_object_or_404(PublicTag.select().where(PublicTag.tagkey == tagkey)) + try: + this_tag = PublicTag.get(PublicTag.tagkey == tagkey) + bookmarks = Bookmark.select().where(Bookmark.userkey == this_tag.userkey, Bookmark.tags.contains(this_tag.tag), Bookmark.status == Bookmark.VISIBLE) + result = {'count': len(bookmarks), 'items': []} + for bookmark in bookmarks: + result['items'].append(bookmark.to_dict()) + return jsonify(result) + except PublicTag.DoesNotExist: + abort(404) + + @app.route('///makepublic', methods=['GET', 'POST']) def addpublictag(userkey, tag): #user = get_object_or_404(User.get(User.key == userkey))