Age | Commit message (Collapse) | Author | Files | Lines |
|
This is our first use of enclosures on the site as well.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This should hopefully allow these views to not be labeled as
'_wrapped_view' in performance monitoring output.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
If you wanted to see all updates regardless of architecture for
[testing] before, there wasn't really a way to do so. Add one.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This will prevent [staging] packages from cluttering normal user's view
on the website, but allow us to still import everything from this
repository for developer use.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
We were actually using the postdate attribute rather than last_modified,
which means any News objects that get edited would not trigger an update
of the feed.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Django hashcompat is now deprecated.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
For a Package object query, we almost always did .select_related('arch',
'repo). Refactor this into the manager as a 'normal()' method so we can
avoid sprinkling the same logic everywhere.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Get the stuff used to retrieve and refresh the latest date values all in
the same place, and make it a bit more beautiful by refactoring it all
into a common set of methods.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Rather than the twisted mix of local times and UTC times we currently have.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Django, you make the simplest things so damn hard sometimes.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Implement 'tag:' style URIs for the GUID field on our RSS feeds. This
ensures new package updates show up as new, and we aren't jumping back
and forth between generated GUIDs having 'http://' and 'https://'
prefixes.
Much of the work here is to attempt to keep old news GUIDs constant so
we don't once again make everything show up as new in newsreaders.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Now that this a datetime and not just a date, we can use it directly.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This worked in MySQL because of it's case-insensitive matching, but does
not work in other databases unless we coerce the value.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
We need to do this in the models.py files, otherwise the post_save signal
might not be connected right away on launch of the application. Move them
over there, add a dispatch_uid so it only gets hooked up once, and do some
other function moving around so we don't have circular imports.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Use a 'set to None' sentinel to indicate data updates are in progress and we
need to hold off a bit on caching a new value. This logic is gleamed from
the "Scaling Django" slides presented by Mike Malone and available freely on
SlideShare.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
We were cheating before and using non-UTC times; adjust the values we get
back from the database as appropriate so our times are not bogus.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Just like what we did for news items, we can do the same for packages.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This saves two database queries each request, meaning no database hits at
all if we are just going to return a 304 response. It also requires adding a
post_save signal to ensure our cache is updated with the correct latest news
date upon saving a news item.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This will set up retrieving this value from memcached as well as some other
changes to come.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
By using the condition decorator (in a slightly odd way because these are
class-based views), we can cut down a lot on the response time for returning
304 status code for feeds that haven't changed. The decorator means we no
longer have to completely render the view to see if we can return a 304
status code.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Never would have guessed it should actually be in news/models.py.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
We had a bunch of extra imports, non-conventional variable names, spacing
issues, etc. that were relatively low-hanging fruit to clean up. Fix them
and make the code a bit cleaner in the process.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Feeds are now views-based and don't need the dictionary anymore.
get_object() now takes named arguments as well making it a bit more
understandable when reading the code.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Unnecessary, and lets us standardize on not using it everywhere.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Make the feed framework a lot more flexible and give the possibility to have
a feed for each architecture. You can drill down even more than also get a
feed for a particular repo; some might find this helpful for something like
tracking [testing]. Implements FS#12939.
I also bumped up the number of items available in each of these feeds; since
it is full of a bunch of small items it might be more helpful to have more
available and it should also prevent fewer ones from being missed.
The UI isn't exactly spectacular, but I figured some sort of page is better
than none listing all the various feeds you can pull from.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
FS#16752.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Especially when looking at packages, we always want the arch and repo.
Another big hunk of changes deals with the very inefficient signoffs code.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
|
|
|
|
Also added vim command comment to the end of files.
|
|
|
|
|
|
|
|
|
|
Special Note
Prior to git import, approx 90% of the code was done by Judd Vinet. Thanks Judd!
|