Age | Commit message (Collapse) | Author |
|
Yay for way improved performance. Local testing showed render times
going from 265 ms to 135 ms.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Anytime we have a loop with >100 items, the Django template engine
begins to be the bottleneck. This one is relatively straightforward to
convert, and sets the stage for converting the mirror status page as
well.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
* Don't show non-packagers
* Don't hardcode group names in view code
* Reduce number of database queries for all of the cross-signature
developer name lookups
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
We were already doing this on the details page; no need to hide it on
the listing page.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This will allow us to be a bit more dynamic in showing the people
listings on the website. We'll be adding a Support Staff category to
recognize those that do things around here but aren't technically
developers.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
* Add country column to main mirror list overview page. Most mirrors are
strictly in one country, so do a little magic to show the right
country if it makes sense.
* Use new way of getting country names so we respect the overrides now
present in the django_countries package.
* Make the country selection box on the mirrorlist generation page a lot
taller by default so it is easier to use.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Not using this anywhere just yet, but suggested by Florian so we can do
some more fancy things down the road, like determine bandwidth by
country.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
We have Last-Modified here, and from what I can tell with some more
reading and playing with caching, it isn't necessarily wise to set both
of them in the same response. Set the one that we actually trust.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
We had two small files plus a handful of inline stuff in the HTML; move
as much of it as possible into a single static file.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
We've moved this around a few times, including changing the parameters
to ensure they are stable (commit bdfa22500f4). However, the bulk of the
work takes place in the mashing up of the data, so cache the full result
rather than just the result of a single query.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Get rid of all the junk trying to only return URLs that have been
checked in the last 24 hours; it just isn't worth it. Instead, do that
screening only in the views that need it, namely the HTML status page.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Do a few things to speed up the encoding of the JSON, including better
usage of list comprehensions, less dynamic setattr() usage, and removal
of the queryset specialization since we can easily do it outside of the
encoder.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
More Jinja2 conversion fallout, whoops.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
We had this elaborate system set up with caching and invalidation, which
is overkill since we cache the result of the view anyway. Just hit the
database when needed to find the last change to the respective model
class and be done with it.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This is another one we spend a lot of time rendering, and packges like
sage-mathematics with 80,000+ files can really make the Django template
engine grind.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
There have been a few proposed solutions to this, but there really isn't
anything without a drawback. Things break pagination, require loading
the entire result set from the database, etc.
Just plop a new table on the page if someone did a so-called "simple"
search and we have a match. Only show on the first page of the search
results. This results in a relatively fast experience for someone doing
something like searching for the "perl" package.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
|
|
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
We wrap the whole thing in a Django template so we don't have to convert
our base template to Jinja2 (or have one for each templating engine).
This also simplifies the static stuff so we can just keep using the
Django tags.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This is a start at improving performance of rendering the package
details page, our most-visited and slowest page on the production
website. The Django template system is not very efficient due to our
heavy use of broken out templates and pulling of various attributes and
such on related packages.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
|