aboutsummaryrefslogtreecommitdiffstats
path: root/wkhtmltopdf/utils.py
Commit message (Collapse)AuthorAgeFilesLines
* Pass --encoding utf8 to wkhtmltopdf to render Unicode characters to PDF.Simon Law2012-08-301-0/+3
| | | | | | Since we PDFTemplateResponse renders templates, and Django uses UTF-8 to do the rendering, we can safely assume that the result is in UTF-8.
* Tidy up imports.Marc Tamlyn2012-07-271-4/+1
|
* Remove more deprecated stuff and tests for them.Marc Tamlyn2012-07-271-13/+0
|
* Fix typo in docstring.Charlie Denton2012-07-271-1/+1
|
* Python 2.6 compatibility fixes.Simon Law2012-07-261-1/+1
| | | | Implicit position arguments for str.format() are a 2.7ism.
* settings.WKHTMLTOPDF_ENV can override environment variables.Simon Law2012-07-251-1/+6
| | | | | | This is most usefully set to {'DISPLAY': ':1'} in production. This allows wkhtmltopdf access to a specific X headless server, since the server will not be running under X.
* MEDIA_URL and STATIC_URL overrides PDFTemplateResponse.get_override_settings()Simon Law2012-07-251-0/+6
| | | | | | | | | | | | | | | | MEDIA_URL and STATIC_URL used to be set only in get_context_data(), but there are apps such as staticfiles and Django Compressor where this won't work well. Instead, they need to be overridden at the settings level, not at the context level. This allows template context processors to populate a RequestContext with the right values. In addition, MEDIA_URL and STATIC_URL are now overridden as file:// URLs, based on MEDIA_ROOT and STATIC_ROOT. This allows developers to access these views in runserver, against their current codebase. It also means faster access for wkhtmltopdf, since the files are stored locally.
* PDFTemplateView.cmd_options contains all the options to pass to wkhtmltopdfSimon Law2012-07-241-0/+8
| | | | | | | | | | | | | | | | | | | | Before, command-line arguments were class-based. Unfortunately, this means that you cannot add new command-line arguments without subclassing. Instead, PDFTemplateView.cmd_options is a dictionary of all command-line arguments. PDFTemplateView.as_view(cmd_options={...}) now works as expected. !!!! WARNING !!!! cmd_options is now empty, leaving wkhtmltopdf with its default behaviour. Explicitly add the options you want. Existing subclasses of PDFTemplateView will now break, but a PendingDeprecationWarning will be issued. Margins will now be wkhtmltopdf's default of 10mm. PdfTemplateView contains a compatibility shim with the old default values for margins and orientation.
* PDFTemplateResponse and PDFTemplateView now match Django's implementationsSimon Law2012-07-241-0/+55
| | | | | | | | | PDFTemplateResponse is like TemplateResponse in that it does dynamic rendering of a template on the fly. PDFTemplateView has a much smaller implementation, relying on PDFTemplateResponse to do the rendering for it. It also knows about the standard TemplateResponse when it needs to render the HTML version.
* PDFResponse is more robust:Simon Law2012-07-231-0/+30
| | | | | | | * Now matches HttpResponse in function signature. * Modern Django content_type/mimetype handling. * Sanitizes and quotes filenames in Content-Disposition header. * Tests.
* settings.WKHTMLTOPDF_CMD_OPTIONS sets default command-line options.Simon Law2012-07-201-3/+6
|
* settings.WKHTMLTOPDF_CMD is loaded on-the-fly, not at the module level.Simon Law2012-07-201-3/+2
| | | | This allows overriding this configuration option at run-time.
* Reliable command-line argument parsing for wkhtmltopdf().Simon Law2012-07-201-18/+37
| | | | | | The API for wkhtmltopdf has changed. Long arguments that take no parameters now use True and not the empty string. In addition, argument-parameters may now be Unicode.
* wkhtmltopdf() uses subprocess.check_output() instead of a custom Popen call.Simon Law2012-07-201-11/+5
|
* Be clear with template_to_temp_file's argumentsJames Turnbull2012-03-091-2/+2
| | | | | | | | | | | It's not obvious what template_to_temp_file is doing with its undefined arguments. The Zen of Python states: Explicit is better than implicit. Readability counts. An alternative solution would be to rename the function to loader_render_to_tempfile or similar, but this fix is more backwards-compatible.
* Refactor the main render method into a class based viewGeorge Hickman2011-10-301-30/+1
| | | | | | Use a PdfResponse to deal with the headers and response type. Make the margin_* and filename variables instance variables on the view with sane defaults.
* Code cleanupGeorge Hickman2011-10-301-3/+4
| | | | | Fix a spelling mistake Wrap a particularly long line
* Use with for file usageGeorge Hickman2011-10-301-6/+7
| | | | | Replace old style file open and close with a `with` block for clarity and it's error handling.
* Removed unised importv0.1.1Max Peterson2011-09-061-1/+0
|
* Added smart_strMax Peterson2011-09-061-1/+3
|
* fixed some bugs, added filename supportCharlie Denton2011-07-251-4/+10
|
* Added as newMax Peterson2011-07-081-0/+88