summaryrefslogtreecommitdiffstats
path: root/packages/views/__init__.py
AgeCommit message (Collapse)AuthorFilesLines
2013-01-14Use content_type and not mimetype on HttpResponse()Dan McGee1-2/+2
Bug #16519 in Django deprecates mimetype, so update our code accordingly. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-08-21Use case-insensitive search in opensearch suggestionsDan McGee1-2/+8
There is no real good reason not to do this, since our packages are lowercased by convention. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-07-25Replace deprecated list_detail usage in search with class-based viewDan McGee1-1/+1
We can convert the entire search view to a generic class-based ListView. This is still one of the more disgusting views in the application and has a ton of logic scattered buckshot across several methods, but this commit is not meant to address all of that in one go. This is the last of the deprecated pieces I know of we are still using in the codebase, so we should be relatively safe in the long run now for an upgrade to the eventual next major Django release. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-07-25Replace deprecated direct_to_template() with render() shortcutDan McGee1-6/+5
Now that Django actually provides a concise way to use a RequestContext object without instantiating it, we can use that rather than the old function-based generic view that worked well to do the same. Additionally, these function-based generic views will be gone in Django 1.5, so might as well make the move now. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-07-21Split details/display package views into new moduleDan McGee1-147/+7
This moves a lot of the package and group display logic into a new view module, similar to what we already did earlier with a bunch of other views. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-05-19Issue redirects from non-agnostic to agnostic URLs if unambiguousDan McGee1-0/+10
For something like "/extra/i686/apache-ant/", we can redirect to "/extra/any/apache-ant/" without ambiguity. Previously this redirected to the split packages listing with a single package, which was neither correct nor really expected. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-05-12Use python json module directly in place of simplejsonDan McGee1-6/+4
As of Python 2.6, this is a builtin module that has all the same functions and capabilities of the Django simplejson module. Additionally simplejson is deprecated in the upcoming Django 1.5 release. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-05-05Fix suggestion caching again for non-ASCII charactersDan McGee1-1/+2
This is why you should test this stuff with random input before rolling it out. Whoops. URL that caught this problem: /opensearch/packages/suggest?q=%D7%A0%D7%9F%D7%92%D7%9F aka /opensearch/packages/suggest?q=נןגן Signed-off-by: Dan McGee <dan@archlinux.org>
2012-05-04Fix search suggestions for invalid cache keysDan McGee1-2/+3
Unfortunately, "invalid" in this case includes spaces, which is a bit crazy. MD5 the provided search term before using it as a cache key to be safe. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-05-02Add some caching to the Opensearch-related viewsDan McGee1-5/+13
Both some simple cache headers as well as low-level results caching on search terms suggestions. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-05-02Opensearch enhancementsDan McGee1-1/+17
* Add a 64x64 icon as indicated in the Opensearch specification. * Add suggestions capability and a new view providing suggestions based on package name starting with the typed value. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-04-07Add JSON search viewDan McGee1-1/+1
This still might change and should not be viewed as a public API yet. This has been a longstanding request in FS#13026. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-04-07Move PackageJSONEncoder into package.utils moduleDan McGee1-36/+3
This will allow it to be used elsewhere, and doesn't really belong in views anyway. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-04-07Choose an up-to-date mirror for download URLsDan McGee1-9/+4
Given that we collect a lot of mirror status data, we can utilize it to ensure the download link on the website actually works and newly-added packages have actually been mirrored out. Add a method that attempts to use the mirror status data to determine a mirror we should redirect our download requests to. This can change on a regular basis, and falls back to the old method if no mirror status data is available. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-03-29Return files in default orderDan McGee1-2/+4
When we read the repository databases, we get a filelist in sorted order. Save time by returning the file list in that order rather than resorting it based on filename and directory. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-03-26Rename 'packagedepend_set' attribute to 'depends'Dan McGee1-6/+2
We do this for every other related package attribute, so do it here too. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-03-26Add more info to package JSON dumpDan McGee1-7/+19
Signed-off-by: Dan McGee <dan@archlinux.org>
2012-02-13Protect urlencode calls against Unicode dataDan McGee1-1/+1
These would cause page errors if passed anything not in the ASCII character set. This change allows for packages to have names composed of any Unicode characters, not just those in the ASCII set. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-02-02Extract split_package_details() methodDan McGee1-17/+23
This is never currently called directly as a view method, but is used by the normal package details view as a fallback if a package cannot be located. This also fixes an issue where looking up a package in a repo it is not in returns the split details page for one package, which is incorrect behavior. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-01-05Adjust page and content caching lengths and decoratorsDan McGee1-2/+0
Remove never_cache from many places now that we don't actually need it since we aren't caching by default. Adjust our cache_function decorator times be shorter values, and also randomize them a bit to make cache invalidations not all line up. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-01-03Add maintainer and packager data to package JSON viewDan McGee1-1/+5
Signed-off-by: Dan McGee <dan@archlinux.org>
2011-12-08Multilib differences reportDan McGee1-1/+3
This new tables shows multilib packages paired with their regular counterparts in the normal repos if the pkgver differs. A few name hacks are needed to trim lib32-, -multilib, etc. from the name to find the matching package. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-12-03Rename files list template for consistencyDan McGee1-1/+1
We use underscores in all other templates. Also remove some of the generated whitespace in the template which is noticeable in very large package lists. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-12-03Show files and directory count in standalone package files viewDan McGee1-0/+4
Signed-off-by: Dan McGee <dan@archlinux.org>
2011-11-11packages/views: split out search viewDan McGee1-157/+3
Signed-off-by: Dan McGee <dan@archlinux.org>
2011-11-11packages/views: move signoff-related views into separate moduleDan McGee1-175/+4
Signed-off-by: Dan McGee <dan@archlinux.org>
2011-11-11packages/views: move flag-related views to own moduleDan McGee1-107/+3
One step in splitting the package views. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-11-11Move package views into subdirectoryDan McGee1-0/+697
This simply moves views.py to views/__init__.py and adjusts the imports accordingly; future patches will split this into multiple files as this module is getting quite large. Signed-off-by: Dan McGee <dan@archlinux.org>