summaryrefslogtreecommitdiff
path: root/mirrors
AgeCommit message (Collapse)Author
2014-11-08Remove percentage filter from Django templates filtersrelease_2014-11-08Dan McGee
Signed-off-by: Dan McGee <dan@archlinux.org>
2014-11-08Make delay a property, not a functionDan McGee
And re-indent the URL details log template now that we've broken it out. Signed-off-by: Dan McGee <dan@archlinux.org>
2014-11-08Convert mirror status tables to Jinja2Dan McGee
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>
2014-11-08Convert some of URL details to Jinja2Dan McGee
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>
2014-11-02Mirror view tweaks and enhancementsDan McGee
* 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>
2014-11-01Add bandwidth field to mirror URLsDan McGee
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>
2014-10-21Fix error when viewing mirror with no active URLsDan McGee
Signed-off-by: Dan McGee <dan@archlinux.org>
2014-10-21Fix 500 when no URLs have been checkedrelease_2014-10-21Dan McGee
Signed-off-by: Dan McGee <dan@archlinux.org>
2014-10-21Use cache_page on mirror status JSONDan McGee
Signed-off-by: Dan McGee <dan@archlinux.org>
2014-10-21Move caching of function data back to get_mirror_statusesDan McGee
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>
2014-10-21Simplify/clean-up finding of download mirrorDan McGee
Signed-off-by: Dan McGee <dan@archlinux.org>
2014-10-21Reduce complexity of status data URL queryDan McGee
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>
2014-10-21Remove queryset specialization in JSON encoderDan McGee
Signed-off-by: Dan McGee <dan@archlinux.org>
2014-10-21Small performance tweaks to mirror status JSON encodingDan McGee
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>
2014-10-19Use raw DB query to fetch last modified dateDan McGee
Signed-off-by: Dan McGee <dan@archlinux.org>
2014-09-01Fix up some IP address field issuesDan McGee
Ensure we always coerce values to unicode in our __unicode__ method, and remove some now unneeded verbosity and comments since the upstream bug has been fixed. Signed-off-by: Dan McGee <dan@archlinux.org>
2014-09-01Add auto-generated migrations from new Django migrations frameworkDan McGee
Signed-off-by: Dan McGee <dan@archlinux.org>
2014-09-01Remove dependency on SouthDan McGee
Signed-off-by: Dan McGee <dan@archlinux.org>
2014-09-01Remove old south migrationsDan McGee
Django 1.7 has built-in migrations support, so we no longer want these around. All existing installs should be fully migrated at this point to the latest schema. Signed-off-by: Dan McGee <dan@archlinux.org>
2014-09-01Add details link to mirror status pagerelease_2014-09-01Dan McGee
Signed-off-by: Dan McGee <dan@archlinux.org>
2014-06-10Use last element in args tuple as error messageDan McGee
When things blow up in low-level C code, the tuple is sometimes of length one, such as when it contains this error message: _ssl.c:495: The handshake operation timed out Just use the last element of the tuple, which works for all of the cases. Signed-off-by: Dan McGee <dan@archlinux.org>
2014-05-31Convert ~~~ to date/username text when editing mirror notesDan McGee
Requested by Florian to make leaving notes on mirrors a bit easier. Signed-off-by: Dan McGee <dan@archlinux.org>
2014-03-29Protect ORM migration portion in db.dry_runDan McGee
Signed-off-by: Dan McGee <dan@archlinux.org>
2014-03-29Add last_modified column to mirrorsDan McGee
This will make it easier in the future to clear out inactive mirrors that haven't been touched in a while. Signed-off-by: Dan McGee <dan@archlinux.org>
2014-02-22Upgrade django-countries to 2.0Dan McGee
Signed-off-by: Dan McGee <dan@archlinux.org>
2014-01-11Add a 'last_modified' function for mirror status pagesrelease_2014-01-11Dan McGee
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>
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-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-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-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-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-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: 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-07-13Fix completion percentage calculation in mirror statusDan McGee
We sometimes record a duration even on a failed fetch attempt, such as if we get an HTTP 404. However, we never record a last_sync value on a failed fetch. Use this field instead to sum up the total number of successful checks. Signed-off-by: Dan McGee <dan@archlinux.org>
2013-06-20Re-enable caching for somewhat expensive mirror status queryDan McGee
This should be a small enough chunk of data that it isn't super expensive to put into and pull out of memcached. Signed-off-by: Dan McGee <dan@archlinux.org>
2013-06-01Guard logging operation to prevent needless text joinDan McGee
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-06-01Ensure only active mirror URLs are listedDan McGee
This fixes things up on the download page as well as the individual mirror details page. Signed-off-by: Dan McGee <dan@archlinux.org>
2013-05-31Whoops, committed a little bit too muchrelease_2013-05-31Dan McGee
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-05-31Honor mirror URL active attribute in several placesDan McGee
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-05-31Add active column to mirror URLsDan McGee
2013-05-21Begin removal of FTP mirror supportDan McGee
FTP is a terrible protocol these days compared to HTTP. IPv6 support is spotty at best, it is much slower for the connect/begin transfer cycle, and overall just doesn't provide anything HTTP does better. Start killing bits that we've added to treat FTP as a first-class protocol and regulate it to the back seat. The expectation here is once this commit goes live to the production site, the FTP mirror URLs themselves will get removed completely from the database, and the FTP protocol object itself will get deleted. Signed-off-by: Dan McGee <dan@archlinux.org>
2013-05-10Add mirror error logs to mirror details pageDan McGee
Give a window of 7 days for logs here rather than the default 24 hours we do on the main status page since we are only retrieving details for a single mirror with a handful of URLs. This should make it easier to have all information regarding one mirror in a single location. Signed-off-by: Dan McGee <dan@archlinux.org>
2013-04-20Fix some None issues with sqlite3 and mirror statusDan McGee
If certain attributes came back from the database as NULL, we had issues parsing them. Pass None/NULL straight through rather than trying to type-convert. Signed-off-by: Dan McGee <dan@archlinux.org>
2013-04-16Various minor code cleanups and fixesrelease_2013-04-16Dan McGee
Most of these were suggested by PyCharm, and include everything from little syntax issues and other bad smells to dead or bad code. Signed-off-by: Dan McGee <dan@archlinux.org>
2013-04-16Remove COUNTRY_LOOKUP global variableDan McGee
This is only used in one place, so it makes more sense for it to not be globally accessible. Signed-off-by: Dan McGee <dan@archlinux.org>