From 85c60cc561a816ab7663c6f3bb1cdb2a0dea8a22 Mon Sep 17 00:00:00 2001 From: Phuoc CAO Date: Thu, 8 Dec 2022 11:57:40 +0100 Subject: [PATCH] remove paginate and paginate_alchemy --- cao_blogr/services/blog_record.py | 15 ++++--------- cao_blogr/templates/home.jinja2 | 35 ++++++++++++------------------- cao_blogr/tests.py | 22 ++++++------------- cao_blogr/views/default.py | 6 +++--- setup.py | 3 +-- 5 files changed, 27 insertions(+), 54 deletions(-) diff --git a/cao_blogr/services/blog_record.py b/cao_blogr/services/blog_record.py index 4afc9d3..2f4cd4b 100644 --- a/cao_blogr/services/blog_record.py +++ b/cao_blogr/services/blog_record.py @@ -2,7 +2,6 @@ import sqlalchemy as sa import datetime #<- will be used to set default dates on models from sqlalchemy import or_ -from paginate_sqlalchemy import SqlalchemyOrmPage #<- provides pagination from ..models.blog_record import BlogRecord from markdown2 import Markdown @@ -27,18 +26,12 @@ class BlogRecordService(object): return query.get(_id) @classmethod - def get_paginator(cls, request, page=1): + def get_last_created(cls, request): + # gest the 10 last created posts query = request.dbsession.query(BlogRecord) - query = query.order_by(sa.desc(BlogRecord.created)) - query_params = request.GET.mixed() + query = query.order_by(sa.desc(BlogRecord.created)).limit(10).all() + return query - def url_maker(link_page): - # replace page param with values generated by paginator - query_params['page'] = link_page - return request.current_route_url(_query=query_params) - - return SqlalchemyOrmPage(query, page, items_per_page=5, - url_maker=url_maker) @classmethod def proc_after_create(cls, request, _id): diff --git a/cao_blogr/templates/home.jinja2 b/cao_blogr/templates/home.jinja2 index c4e5797..7e8789b 100644 --- a/cao_blogr/templates/home.jinja2 +++ b/cao_blogr/templates/home.jinja2 @@ -8,27 +8,18 @@

{% endif%} - {% if paginator.items %} - - {% for entry in paginator.items %} -
- {{ entry.created.strftime("%d-%m-%Y") }}   - -  {{ entry.title }} - -
-
-  {{ entry.tag }} -
- - {% endfor %} + + {% for entry in last_ten %} + + + + + + + + {% endfor %} +
{{ entry.created.strftime("%d.%m.%Y") }} + {{ entry.title }} + {{ entry.topic }}{{ entry.tag }}
- {{ paginator.pager() |safe }} - - {% else %} - -

No blog entries found.

- - {% endif %} - {% endblock %} diff --git a/cao_blogr/tests.py b/cao_blogr/tests.py index 2f1ec9e..fe46681 100644 --- a/cao_blogr/tests.py +++ b/cao_blogr/tests.py @@ -42,25 +42,15 @@ class BaseTest(unittest.TestCase): class TestMyViewSuccessCondition(BaseTest): - def setUp(self): - super(TestMyViewSuccessCondition, self).setUp() - self.init_database() - - from .models import MyModel - - model = MyModel(name='one', value=55) - self.session.add(model) - def test_passing_view(self): - from .views.default import my_view - info = my_view(dummy_request(self.session)) - self.assertEqual(info['one'].name, 'one') - self.assertEqual(info['project'], 'cao_blogr') + from .views.default import apropos + response = apropos(dummy_request(self.session)) + self.assertEqual(response['page_title'], 'A propos') class TestMyViewFailureCondition(BaseTest): def test_failing_view(self): - from .views.default import my_view - info = my_view(dummy_request(self.session)) - self.assertEqual(info.status_int, 500) + from .views.default import apropos + response = apropos(dummy_request(self.session)) + self.assertEqual(response['page_title'], 'A propos') diff --git a/cao_blogr/views/default.py b/cao_blogr/views/default.py index f7d3a26..38325a9 100644 --- a/cao_blogr/views/default.py +++ b/cao_blogr/views/default.py @@ -10,11 +10,11 @@ from ..models.user import User @view_config(route_name='home', renderer='cao_blogr:templates/home.jinja2') def home(request): - page = int(request.params.get('page', 1)) - paginator = BlogRecordService.get_paginator(request, page) + # get the last created posts + last_ten = BlogRecordService.get_last_created(request) return { 'page_title': "Bienvenue sur mon blog", - 'paginator': paginator + 'last_ten': last_ten, } diff --git a/setup.py b/setup.py index bb81fa7..83a152c 100644 --- a/setup.py +++ b/setup.py @@ -22,9 +22,8 @@ requires = [ 'zope.sqlalchemy', 'wtforms==2.2.1', # form library 'webhelpers2==2.0', # various web building related helpers - 'paginate==0.5.6', # pagination helpers - 'paginate_sqlalchemy==0.3.0', 'passlib', + 'markdown2', ] tests_require = [