diff --git a/app/models.py b/app/models.py index 0ade97e..8c7be6d 100644 --- a/app/models.py +++ b/app/models.py @@ -26,12 +26,13 @@ class User(UserMixin, db.Model): class Search(db.Model): id = db.Column(db.Integer, primary_key=True) exact_url = db.Column(db.String(160)) - query = db.Column(db.String(120)) + query_args = db.Column(db.String(120)) timestamp = db.Column(db.DateTime, index=True, default=datetime.utcnow) user_id = db.Column(db.Integer, db.ForeignKey('user.id')) def __repr__(self): - return ''.format(self.query if len(self.query) < 10 else self.query[:10] + '...') + return ''.format(User.query.filter_by(id=self.user_id).first().username, self.timestamp) + class Post(db.Model): id = db.Column(db.Integer, primary_key=True) diff --git a/app/routes.py b/app/routes.py index 331f170..be60ece 100644 --- a/app/routes.py +++ b/app/routes.py @@ -1,5 +1,5 @@ from app import app, db -from app.models import User +from app.models import User, Search from app.forms import LoginForm, RegistrationForm from werkzeug.urls import url_parse from flask import render_template, redirect, url_for, flash, request, jsonify @@ -149,10 +149,10 @@ def hidden(id): count = min(25, count) else: count = min(50, count) - print(request.args) - # search = Search(query=) - # db.session.add(search) - # db.session.commit() + # print(type(jsonify(request.args.to_dict()))) + search = Search(user_id=current_user.id, exact_url=str(request.url), query_args=json.dumps(request.args.to_dict())) + db.session.add(search) + db.session.commit() return render_template('hidden.html', title='Gelbooru Browser', data=data, tags=tags, page=page, count=count, base64=base64, showfull=showfull, showtags=showtags) def base64ify(url): diff --git a/app/tempCodeRunnerFile.py b/app/tempCodeRunnerFile.py new file mode 100644 index 0000000..88f1f8a --- /dev/null +++ b/app/tempCodeRunnerFile.py @@ -0,0 +1 @@ +filter \ No newline at end of file diff --git a/app/templates/hidden.html b/app/templates/hidden.html index 3c78830..9f41694 100644 --- a/app/templates/hidden.html +++ b/app/templates/hidden.html @@ -22,7 +22,7 @@
-
+
@@ -98,7 +98,7 @@ {% for image in data %} -
+
diff --git a/app/templates/hidden_history.html b/app/templates/hidden_history.html index 3676b14..e231621 100644 --- a/app/templates/hidden_history.html +++ b/app/templates/hidden_history.html @@ -7,14 +7,33 @@
+ {% set result_count = current_user.search_history.all() | length %}
-

Search History

-
+
Search History
+
{{ result_count }} result{% if result_count > 1 %}s{% endif %} found
+
- {% for post in current_user.search_history %} - Post : {{ post }} - {% endfor %} + + + + + + + + + + + {% for post in current_user.search_history | reverse %} + + + + + + + {% endfor %} + +
IDExact URLQuery ArgumentsTimestamp
{{ post.id }}{{ post.exact_url }}{{ post.query_args }}{{ post.timestamp }}
diff --git a/wsgi.py b/wsgi.py index a8ceb84..6362dd4 100644 --- a/wsgi.py +++ b/wsgi.py @@ -1,9 +1,9 @@ from app import app, db -from app.models import User, Post +from app.models import User, Post, Search @app.shell_context_processor def make_shell_context(): - return {'db' : db, 'User' : User, 'Post' : Post} + return {'db' : db, 'User' : User, 'Post' : Post, 'Search' : Search} if __name__ == "__main__": app.run(host="0.0.0.0") \ No newline at end of file