From 5538aa8799788e19a1691bd3c2e889bb088e654b Mon Sep 17 00:00:00 2001 From: Johannes Löthberg Date: Tue, 2 Jan 2018 19:08:10 +0100 Subject: Add pagination to JSON package search (#73) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add pagination to JSON search form using Paginator The downside of this is that we can't easily run prefetch_related anymore, but given the limit I don't suspect this to be a problem. Signed-off-by: Johannes Löthberg * packages/views/search: Add appropriate newlines to search_json Signed-off-by: Johannes Löthberg * Update package fixture to be the same as devel/fixtures/core.db.tar.gz Signed-off-by: Johannes Löthberg * packages/tests: Add tests for JSON search pagination Signed-off-by: Johannes Löthberg --- main/fixtures/package.json | 153 ++++++++++++++++++++++++++++++++++++++------- 1 file changed, 130 insertions(+), 23 deletions(-) (limited to 'main') diff --git a/main/fixtures/package.json b/main/fixtures/package.json index 2ed00389..d191027a 100644 --- a/main/fixtures/package.json +++ b/main/fixtures/package.json @@ -1,25 +1,132 @@ [ - { - "fields": { - "arch": 2, - "build_date": "2017-04-27T10:37:12Z", - "compressed_size": 61650988, - "created": "2017-05-20T13:06:46.688Z", - "epoch": 0, - "filename": "linux-4.10.13-1-x86_64.pkg.tar.xz", - "installed_size": 74946560, - "last_update": "2017-05-20T13:06:46.688Z", - "packager_str": "Tobias Powalowski ", - "pkgbase": "linux", - "pkgdesc": "The Linux kernel and modules", - "pkgname": "linux", - "pkgrel": "1", - "pkgver": "4.10.13", - "repo": 1, - "signature_bytes": "iQEzBAABCAAdFiEEW34/txt/EDKaHAOrdx32Yn7faB8FAlkC3M8ACgkQdx32Yn7faB8kHAf/YSMTEnIyLK/dTFWjM9P/X8iUVzoJUVn2X76m5QrMVLdX8rrqAXZt74DmEl87X4cjEweHgM3ihhP2L1i5YcFZ2t1NFhApJcdElPRZpLP/0BjR7ZoY9aUfnpseyBzzN+LamkUjAMdsQRBJDP3URfIFf+/r+F2bda0yto7h9yekuOphltkISF6ABn3VPrO5AxgI6SNrsXRdek3AUuOWr8BSAuIeRYt2chDuRPmztAy7DaDcZ71V9S90F+u2FkpcLKJygAAQbfKIPHVTS5GL2wc8gO5jXw+8lj4ioj4/fE+/Nq/ytn0zQHdebQ9akKzW+13D2r49pEU8EZiianmOgwd6yw==", - "url": "https://www.kernel.org/" - }, - "model": "main.package", - "pk": 1 - } + { + "fields": { + "build_date": "2017-06-24T07:08:48Z", + "compressed_size": 64291412, + "pkgname": "linux", + "files_last_update": null, + "pkgdesc": "The Linux kernel and modules", + "created": "2017-12-30T02:21:43.788Z", + "url": "https://www.kernel.org/", + "epoch": 0, + "filename": "linux-4.11.7-1-x86_64.pkg.tar.xz", + "repo": 1, + "signature_bytes": "iQEzBAABCAAdFiEEW34/txt/EDKaHAOrdx32Yn7faB8FAllOGpcACgkQdx32Yn7faB9xnAf/fzWz4rAEWx97ad2DAD3kzy7yZK/sCx4lC762kyap2INJWJYwu7K46ub+NE7K7YlORg2wOn8H8Do5X40Q6/NWLS7f6YZqdL3PyIkdjB+oyblOsYR+DsWWY67lyhfT1FDJyqrdfAYbMptgubWvyjPcMeOJ2DwK2wa9T4mnSenXEOx/kbGhjIB+zWjEHvnW/Sptp5LYjSYKfBOqj60Y4pZPfoBl5POl47PRwMgFerA3UTqtylYlrnx3BmeNbi5IUmQYUmbpl0DxvX02zew11sP+f8y9P4hEnJgQazvl6V/q7ekbSScB/NtLr3vyCTkprKX9Un0+B224B0jY+twH3pLkFw==", + "pkgbase": "linux", + "pkgrel": "1", + "flag_date": null, + "installed_size": 84407296, + "packager_str": "Tobias Powalowski ", + "last_update": "2017-12-30T02:21:43.788Z", + "arch": 3, + "packager": null, + "pkgver": "4.11.7" + }, + "model": "main.package", + "pk": 1 + }, + { + "fields": { + "build_date": "2017-03-12T14:09:38Z", + "compressed_size": 2288568, + "pkgname": "coreutils", + "files_last_update": null, + "pkgdesc": "The basic file, shell and text manipulation utilities of the GNU operating system", + "created": "2017-12-30T02:21:43.808Z", + "url": "https://www.gnu.org/software/coreutils/", + "epoch": 0, + "filename": "coreutils-8.27-1-x86_64.pkg.tar.xz", + "repo": 1, + "signature_bytes": "iQIrBAABCAAdFiEEdPGyFg//myr+77hJPByHYDC2X+IFAljFVskACgkQPByHYDC2X+J+Wg/AjTXNEb9xwV84Se8XzIowoTjUaoFAar9+VfOBGarQbmOwyU6I+jMtSXI4VTTrNBJzfarA3GEXEUzBa7OVRgB04yU5puAdnRHWIBU5Ma6fkmrW/JUR/sF1A+mhJncZvs/D19TucsEKCHuyqguOMmJN1YTwRtsbE4qbj+Kc4QZXYaH08I5qQXQds6wf0eIc1D6qV2ZNivbm5LusSUZ8UnO3kSJf6gMKGxEy+JKckSS/Q0VgHp8TXNAodOOF0V81fxdu/apye3JgWRJgnP+V+kSOSG11TODBVZlW51U2+ADuSroDNW2Lws52eNHVblyNOlIY71jlk++KsfLopqUGk62ZLt+JMZO75XSbrJF8ZPvLwa4xx9iq1Z8ywoNxVGM3wKhPeeYebJbr1QLctcrQdzznNKbUCR48US+FmQBVqx5Xov9NT4ZuoDazPDefLfMChX/oEDSUZUg3dC9ffjyJG3bcWGO1TJb7iK9ZzEuhR9SHE8r40qpaFxZbZ+nur7gkMmDiTB6Xf27zZmcw8cNf7mg+m2gYeMFA9Ivg2HRkK/MtYPBj3ljjgBLPVOzEJPrIjxz04CiesX3JDYNAh6qN+8gQh0B90Jj3dHnXJRlQolMCgnzQQQy8kGjC0nZCPK04dGpMGYpNKLG4f9CqwhJDKEUvtYh/HNF9HTSj", + "pkgbase": "coreutils", + "pkgrel": "1", + "flag_date": null, + "installed_size": 14427136, + "packager_str": "Sébastien Luttringer ", + "last_update": "2017-12-30T02:21:43.808Z", + "arch": 3, + "packager": null, + "pkgver": "8.27" + }, + "model": "main.package", + "pk": 2 + }, + { + "fields": { + "build_date": "2017-06-21T09:00:35Z", + "compressed_size": 8850512, + "pkgname": "glibc", + "files_last_update": null, + "pkgdesc": "GNU C Library", + "created": "2017-12-30T02:21:43.825Z", + "url": "http://www.gnu.org/software/libc", + "epoch": 0, + "filename": "glibc-2.25-5-x86_64.pkg.tar.xz", + "repo": 1, + "signature_bytes": "iQEzBAABCAAdFiEEghj4iEmqxSLpTPRwpekojE+kFfoFAllKSO8ACgkQpekojE+kFfrjjwgAmqv4C9UY2inHokoSZAL49ic3K5IjAG209DckVbOvOTIKljvqGrJb5G47fQ8y5OfK5J39R98AIyq57oMgcUwfr1TZBnKOHiKOJDwurGGj9+PP3XSGIYpQxt4YBEt9Sd30J3KTCqS/bHyO/y3Il3Cg5k/5JNqu6sPqrheqjPwVXpvCbXfQUK5IKx45j8qmO5j/HZtqyuB497DkmZ3gDSn63YqoE5A51Ap8cMRp3hCdplgVh1T6T2wp/DK5PmNWqxrV0Qgd8Xii9yigMCSsQRR+ivEJI6Hh3gYw8eyT/L+AR2VB45u3jywzH+wan4ic5qjEl9yX0C+/nwf3w37FVm7pNA==", + "pkgbase": "glibc", + "pkgrel": "5", + "flag_date": null, + "installed_size": 38140928, + "packager_str": "Jan Alexander Steffens (heftig) ", + "last_update": "2017-12-30T02:21:43.825Z", + "arch": 3, + "packager": null, + "pkgver": "2.25" + }, + "model": "main.package", + "pk": 3 + }, + { + "fields": { + "build_date": "2017-06-13T12:11:40Z", + "compressed_size": 753348, + "pkgname": "pacman", + "files_last_update": null, + "pkgdesc": "A library-based package manager with dependency support", + "created": "2017-12-30T02:21:43.848Z", + "url": "http://www.archlinux.org/pacman/", + "epoch": 0, + "filename": "pacman-5.0.2-1-x86_64.pkg.tar.xz", + "repo": 1, + "signature_bytes": "iQFCBAABCAAsFiEEAv0cepNOYUVFhJ8ZpiNAdEmOnO4FAlk/1rAOHGFyY2hAZXdvcm0uZGUACgkQpiNAdEmOnO5kXAf/bfbuoh1VNU/tOjfAAaR8ahtxihvqobMfpLTIeLuZDjk0U1sEE8ltk7Ky8wwFWduz1SSjeCuSm/020zizNXrCv1Wq3x6mOANs2VY+JDbWMk48KAR9dajY1buu8rWRq+Rt0mFA8XTZhVXhijG7hXYWSVBtcokevrN3cDizxchb6gQeh0xYE7/vlHwblch+Y+MXMR0bbjF8xEIITZYr4895i8xvuJtD6Ll7Wr/WBGXdFlm9Z0LmAZlDHDusJ7cC5gr7HPhUcKg4tnm8mtVmCJugoiHUVel5llZ1MW4iUCcx4suUyQAqKa9HqxXE9e5ADzZHBdZA4hJ6UQQwDRm57cLwFQ==", + "pkgbase": "pacman", + "pkgrel": "1", + "flag_date": null, + "installed_size": 4694016, + "packager_str": "Christian Hesse ", + "last_update": "2017-12-30T02:21:43.848Z", + "arch": 3, + "packager": null, + "pkgver": "5.0.2" + }, + "model": "main.package", + "pk": 4 + }, + { + "fields": { + "build_date": "2017-01-28T22:32:41Z", + "compressed_size": 3905996, + "pkgname": "systemd", + "files_last_update": null, + "pkgdesc": "system and service manager", + "created": "2017-12-30T02:21:43.865Z", + "url": "https://www.github.com/systemd/systemd", + "epoch": 0, + "filename": "systemd-232-8-x86_64.pkg.tar.xz", + "repo": 1, + "signature_bytes": "iQEzBAABCAAdFiEESH6swIVXrQggiNq6HrJjj/VsDFMFAliOFSIACgkQHrJjj/VsDFPKYgf/aM3TnZOHoU4avTZt0KmPszRN9o4iQD50buvwgre3kt7WiiOqxpPgyML7B/s0erT3bgz22JD199kC6RbTn+qBqo/fBPZOywX0NhVIqgPsHvZjxuDJeehboqlePtJ4LtLG882TQxb1bsf8PBzTqmX7H8n/2lEommWwiruVo9bwOeaCh5ax9V8/a6UaEMkD4VwLUkAOQkVLvi8HZG7YbczotSMhhU9tSyH36UCUaA/xW3qiibD4WT2lZbKnbaC3JtddEfJn0hrwOqkiVjN0fDWnO3PLw/KOprZ18q4Be7j8AyYBdEUtEdZEmJUkqzaAKFp+3EzL1bq+g7S8nlf/Q929bA==", + "pkgbase": "systemd", + "pkgrel": "8", + "flag_date": null, + "installed_size": 18100224, + "packager_str": "Dave Reisner ", + "last_update": "2017-12-30T02:21:43.865Z", + "arch": 3, + "packager": null, + "pkgver": "232" + }, + "model": "main.package", + "pk": 5 + } ] -- cgit v1.2.3-55-g3dc8