summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2014-01-11Add a 'last_modified' function for mirror status pagesrelease_2014-01-11Dan McGee1-0/+7
We can use this on both the HTML and JSON views of this data to prevent recomputation for smart clients that respect the modified date header. Signed-off-by: Dan McGee <dan@archlinux.org>
2014-01-11Speed up feeds generation by batching writesDan McGee1-3/+32
The XML generation underlying our package feeds was doing 1600+ calls to the write() method on the outfile. For some reason, the Python standard library insists on calling flush() after every write, which really makes performance take a nosedive. Wrap the write calls and do them in batches to remove some of the overhead and make feed generation a bit snappier. Signed-off-by: Dan McGee <dan@archlinux.org>
2014-01-09Bump psycopg2 versionDan McGee1-1/+1
Signed-off-by: Dan McGee <dan@archlinux.org>
2014-01-09Remove release fields we can pull from the torrentDan McGee3-9/+125
This makes entering new releases a bit less cumbersome as we don't really need to enter either the file size or the torrent infohash. Signed-off-by: Dan McGee <dan@archlinux.org>
2014-01-09Remove remaining references to release file_size fieldDan McGee3-3/+6
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-12-23A few more tweaks to the URL details templateDan McGee1-1/+9
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-12-23Set all attributes to default values on status URL fetchDan McGee1-0/+2
We were missing two duration-related attributes here, causing some 500 errors to happen if we had cached status_data around that didn't agree with our current list of checked mirrors. Don't blow up on the JSON data fetch by ensuring we provide a value, even if it is out of date. Signed-off-by: Dan McGee <dan@archlinux.org>
2013-12-23Change import location of django_countries fieldsDan McGee2-2/+2
This will work with both the newer and older versions. Signed-off-by: Dan McGee <dan@archlinux.org>
2013-12-18Allow mirror notes to wraprelease_2013-12-19Dan McGee1-1/+1
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-12-18reporead: implement delayed parsing of files dataDan McGee1-23/+35
This gives us some large memory savings in python due to the internal storage of Unicode strings vs. byte strings, as well as saving us processing time up front for filelist data we are never going to have to actually use. Signed-off-by: Dan McGee <dan@archlinux.org>
2013-12-18reporead: bring back batched_bulk_create()Dan McGee1-1/+19
For packages with filelists with > 80,000 items, we were starting to see some serious memory issues in reporead. This was both on the statement generation side in Python as well as on the database side. Break the updates into chunks of 10,000 when we encounter packages with tons of files to control things in a bit. Signed-off-by: Dan McGee <dan@archlinux.org>
2013-12-15Use select_related() in new mirror URL details viewDan McGee1-2/+4
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-12-15Add mirror URL details pageDan McGee5-1/+118
This will allow those that care about mirrors to zoom into URL-level details for each mirror and examine the individual check results. Signed-off-by: Dan McGee <dan@archlinux.org>
2013-12-15Add delay function to MirrorLog modelDan McGee1-0/+7
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-12-15Admin template updates for Django 1.6Dan McGee2-5/+9
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-12-14Use stable parameters for cacheable functionDan McGee1-2/+3
It doesn't do much good to mark a function as cacheable if we call it every single time with different arguments due to using the current date and time. Fix it by passing the offset in instead. Signed-off-by: Dan McGee <dan@archlinux.org>
2013-12-14Fix some caching issues on the front pageDan McGee3-6/+7
The return value from get_recent_updates() was too big for memcached due to all the attached objects, so the cache never actually worked. This sucks, because we ended up doing all the work in this function and most of the time we didn't use it because template fragment caching kicked in. Remove the cache_function decorator from this method, and instead implement delayed calling of the function so we don't compute values we aren't going to use. Template fragment caching will help us in most cases. Signed-off-by: Dan McGee <dan@archlinux.org>
2013-12-14Don't list downstream mirrors one per linerelease_2013-12-14Dan McGee1-6/+5
This looks really crazy on our current Tier 1 mirrors, as some of them have tons of downstream mirrors. Instead, do what we did on the package details page and allow wrapping of the comma-separated list. Signed-off-by: Dan McGee <dan@archlinux.org>
2013-12-14Add Flyspray Issue to mirror details templateDan McGee1-0/+4
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-12-14Add update query for extracting Flyspray bug numberDan McGee1-0/+8
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-12-14Add Flyspray Bug field to mirror modelDan McGee3-1/+86
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-12-14Show all mirror status data to authorized usersDan McGee2-14/+24
Regardless of whether the mirror URL is active or not, we often have data we can show the end user, especially if mirror admins care to see the data we've been gathering. Signed-off-by: Dan McGee <dan@archlinux.org>
2013-12-14Speed up master key listing pageDan McGee2-9/+17
We were spending a lot of time getting the developer name for a given key on this page, which involved sending one query per key ID. Use the cache to our advantage here and save ourselves the "expensive" lookups. This eliminates ~100 queries per page load. Signed-off-by: Dan McGee <dan@archlinux.org>
2013-12-14Fix double space in templateDan McGee1-1/+1
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-12-14Bump Django requirement for minor version releaseDan McGee2-2/+2
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-12-02Old TODO file is very out of dateDan McGee1-4/+0
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-11-27Stop using Django-provided floatformat template tagrelease_2013-11-30Dan McGee4-11/+16
It turns out this is a HUGE part of our slow mirror status template rendering, due to the internal workings. Everything is converted to a Python decimal object which is way slower than just staying in native floating point. Given we are always dealing with floats when we need to do our formatting, a home-rolled template tag can accomplish this much faster. Signed-off-by: Dan McGee <dan@archlinux.org>
2013-11-27Syntax cleanups to main adminDan McGee1-0/+4
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-11-27Remove date_hierarchy from several package admin viewsDan McGee1-8/+4
I was never using this and it adds some pretty substantial overhead to each render of the admin page, so toss it. Add the simple date filter to the sidebar instead. Signed-off-by: Dan McGee <dan@archlinux.org>
2013-11-27Allow pkg_details_link to honor package flag stateDan McGee2-8/+7
This allows the tag to be used in a few more places we weren't already able to use it, and hopefully speeds up rendering a tad on the package differences page. Signed-off-by: Dan McGee <dan@archlinux.org>
2013-11-27Use pkg_details_link tag on differences report pageDan McGee1-4/+3
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-11-25Move markdown formatted readme to README.mdDan McGee2-80/+81
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-11-25Capitalize URL properly in Django adminDan McGee1-1/+1
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-11-25Bump some requirementsDan McGee2-4/+4
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-11-25Merge branch 'cleaned-reqdby'release_2013-11-25Dan McGee2-3/+32
2013-11-25Merge branch 'django-1.6'Dan McGee35-34/+407
2013-11-25Merge branch 'retro'Dan McGee34-3/+2044
2013-11-11Add 2012 and 2013 retro sitesDan McGee33-0/+2040
From our friends over at web.archive.org again, thanks! Signed-off-by: Dan McGee <dan@archlinux.org>
2013-11-11Filtered requiredby list for non-primary dependsDan McGee2-3/+32
For something like gambas3 which has a makedepend on postgresql, we end up getting every single split package listed in the required by list for postgresql. This is a bit crazy and unnecessary, so slim it down a bit when possible by using a slightly crazy groupby function and some smarts in our get_requiredby function. Signed-off-by: Dan McGee <dan@archlinux.org>
2013-11-08Ensure user has a profile created when they go to edit itDan McGee1-3/+4
Use get_or_create, even though it leaves a bad taste in my mouth. The first user created won't have a profile becuase Django doesn't create one for users created at the command line, causing an exception when the user goes to edit it. Signed-off-by: Dan McGee <dan@archlinux.org>
2013-11-06Drop old base64-ed PGP signature columnDan McGee4-3/+114
We've moved onto bytes only now. Signed-off-by: Dan McGee <dan@archlinux.org>
2013-11-06Move signature data from base64 string to bytes typeDan McGee3-8/+129
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-11-06Add new `signature_bytes` field on package modelDan McGee2-3/+119
Now that we have a BinaryField option in Django 1.6, put it to use. Signed-off-by: Dan McGee <dan@archlinux.org>
2013-11-06Bump requirements versions for Django 1.6Dan McGee2-4/+4
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-11-06Django 1.6 upgrade, deprecation cleanupDan McGee9-16/+16
PendingDeprecationWarning: commit_on_success is deprecated in favor of atomic. Signed-off-by: Dan McGee <dan@archlinux.org>
2013-11-06Django 1.6 upgrade, deprecation cleanupDan McGee18-0/+19
PendingDeprecationWarning: 'The `cycle` template tag is changing to escape its arguments; the non-autoescaping version is deprecated. Load it from the `future` tag library to start using the new behavior. Signed-off-by: Dan McGee <dan@archlinux.org>
2013-11-06Django 1.6 upgrade, deprecation cleanupDan McGee1-0/+6
PendingDeprecationWarning: Creating a ModelForm without either the 'fields' attribute or the 'exclude' attribute is deprecated - form needs updating Signed-off-by: Dan McGee <dan@archlinux.org>
2013-11-06Django 1.6 upgrade, deprecation cleanupDan McGee1-2/+2
PendingDeprecationWarning: `queryset` method should be renamed `get_queryset` Signed-off-by: Dan McGee <dan@archlinux.org>
2013-11-06Fix parsing of depends with both epoch and descriptionDan McGee1-2/+2
Not a common case, but one we can and should support and hasn't been noticed up until this point. That pesky colon! Fixes FS#37477. Signed-off-by: Dan McGee <dan@archlinux.org>
2013-11-04Remove "Unofficial" from Beginners' Guide linkDario Giovannetti1-3/+3
Also avoid internal redirect to the Installation Guide article. Fixes FS#36111. Dan: remove "Official" from install guide link text as well to match wiki page name.