summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-01-11Speed up feeds generation by batching writesDan McGee
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 McGee
Signed-off-by: Dan McGee <dan@archlinux.org>
2014-01-09Remove release fields we can pull from the torrentDan McGee
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 McGee
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-12-23A few more tweaks to the URL details templateDan McGee
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-12-23Set all attributes to default values on status URL fetchDan McGee
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 McGee
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 McGee
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-12-18reporead: implement delayed parsing of files dataDan McGee
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 McGee
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 McGee
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-12-15Add mirror URL details pageDan McGee
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 McGee
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-12-15Admin template updates for Django 1.6Dan McGee
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-12-14Use stable parameters for cacheable functionDan McGee
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 McGee
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 McGee
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 McGee
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-12-14Add update query for extracting Flyspray bug numberDan McGee
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-12-14Add Flyspray Bug field to mirror modelDan McGee
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-12-14Show all mirror status data to authorized usersDan McGee
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 McGee
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 McGee
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-12-14Bump Django requirement for minor version releaseDan McGee
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-12-02Old TODO file is very out of dateDan McGee
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-11-27Stop using Django-provided floatformat template tagrelease_2013-11-30Dan McGee
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 McGee
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-11-27Remove date_hierarchy from several package admin viewsDan McGee
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 McGee
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 McGee
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-11-25Move markdown formatted readme to README.mdDan McGee
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-11-25Capitalize URL properly in Django adminDan McGee
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-11-25Bump some requirementsDan McGee
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-11-25Merge branch 'cleaned-reqdby'release_2013-11-25Dan McGee
2013-11-25Merge branch 'django-1.6'Dan McGee
2013-11-25Merge branch 'retro'Dan McGee
2013-11-11Add 2012 and 2013 retro sitesDan McGee
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 McGee
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 McGee
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 McGee
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 McGee
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-11-06Add new `signature_bytes` field on package modelDan McGee
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 McGee
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-11-06Django 1.6 upgrade, deprecation cleanupDan McGee
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 McGee
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 McGee
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 McGee
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 McGee
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 Giovannetti
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.
2013-10-27Bump requirementsrelease_2013-10-27Dan McGee