Ticket #3493 (assigned defect)

Opened 4 months ago

Last modified 1 month ago

Support for downloading dynamic images through the webserver

Reported by: nagrigoriadis@gmail.com Assigned to: diorgenes (accepted)
Priority: normal Component: TracWikiToPdfPlugin
Severity: normal Keywords:
Cc: andreasgebhardt@web.de Trac Release: 0.11

Description

Since a significant number of images in our wiki is dynamicly generated images, such as emoticons and latex-math or similar, and there is no way to configure the current wikitopdf plugon to do it, I did a quick hack to wikitopdf.py to download the images to a temporary location and then use those.

Excuse the script oddness, I have never programmed in python before (I used wget to download the images)

Attached is the modified mikitopdf.py

Attachments

wikitopdf.py (3.6 kB) - added by nagrigoriadis@gmail.com on 07/31/08 10:04:17.
modified version to download all images from the webserver
wikitopdf_2.2_dynimg_css.patch (11.8 kB) - added by grigi on 08/22/08 06:57:19.
Patch to add Downloading Images & enable Code highlighting wht using HTMLDoc 1.9
TestPage.txt (1.7 kB) - added by grigi on 08/22/08 06:58:20.
Sample input
TestPage.pdf (156.7 kB) - added by grigi on 08/22/08 06:59:14.
Sample Output - HTMLDoc 1.9
tracwikitopdfplugin.img-patch (4.2 kB) - added by andreasgebhardt@web.de on 09/20/08 04:14:00.
support for TracMathPlugin and Graphviz Plugin, base_dir substituion
wikitopdf_2.2.2_dynimg_css.patch (12.4 kB) - added by grigi on 10/21/08 08:36:03.
Update of patch for WikiToPdf? 2.2.2

Change History

07/31/08 10:04:17 changed by nagrigoriadis@gmail.com

  • attachment wikitopdf.py added.

modified version to download all images from the webserver

07/31/08 10:41:49 changed by nagrigoriadis@gmail.com

  • type changed from defect to enhancement.

08/21/08 13:34:47 changed by diorgenes

  • release changed from 0.10 to 0.11.

Hi Nickolas,

Please, I need a patch file with your code. Which trac version are you using?

Regards

Diorgenes F. Grzesiuk

08/21/08 14:50:31 changed by grigi

Hi Diorgenes

I'll re-do the code for that tomorrow, I was using Trac 0.11. I'll see if I can do the code a bit cleaner. (and optional)

I also have some other changes where I work around some HTMLDoc limitations, and if using HTMLDoc 1.9 (unstable) it even does code highlighting.

08/22/08 06:57:19 changed by grigi

  • attachment wikitopdf_2.2_dynimg_css.patch added.

Patch to add Downloading Images & enable Code highlighting wht using HTMLDoc 1.9

08/22/08 06:58:20 changed by grigi

  • attachment TestPage.txt added.

Sample input

08/22/08 06:59:14 changed by grigi

  • attachment TestPage.pdf added.

Sample Output - HTMLDoc 1.9

08/22/08 07:05:01 changed by grigi

Hi Diorgenes

Added trac.ini options:

[wikitopdf] tmp_dir = /tmp/wikitopdf trac_uri = http://trac.blah.is.co.za css_file = /var/lib/trac/IS/conf/htmldoc.css

both trac_uri and tmp_dir has to be defined for the dynamic image downloading to work. (Otherwise it uses the existing method, to not break upgrades) the css_file points to a css file (included in patch) for HTMLDoc 1.9, so that code highlighting can work.

The patch also adds tables around div frames, so that the output looks closer to the wiki pages.

I know that there is a lot of changes, but you can take your time evaluating them.

Thanks, Nickolas

(follow-up: ↓ 6 ) 08/22/08 07:05:58 changed by grigi

[wikitopdf]
tmp_dir = /tmp/wikitopdf
trac_uri = http://trac.blah.is.co.za
css_file = /var/lib/trac/IS/conf/htmldoc.css

(in reply to: ↑ 5 ) 08/25/08 14:00:47 changed by diorgenes

  • status changed from new to assigned.

Replying to grigi:

{{{ [wikitopdf] tmp_dir = /tmp/wikitopdf trac_uri = http://trac.blah.is.co.za css_file = /var/lib/trac/IS/conf/htmldoc.css }}}

Hi

I need more time for study your contribution. Just for now thank you.

Regards

Diorgenes F. Grzesiuk

(in reply to: ↑ description ) 09/20/08 04:12:29 changed by andreasgebhardt@web.de

  • cc set to andreasgebhardt@web.de.
  • type changed from enhancement to defect.

Replying to nagrigoriadis@gmail.com:

Since a significant number of images in our wiki is dynamicly generated images, such as emoticons and latex-math or similar, and there is no way to configure the current wikitopdf plugon to do it, I did a quick hack to wikitopdf.py to download the images to a temporary location and then use those.

Hi everyone,

i had similar problems. In wikitopdf.py (45-50) the base_dir is set as prefix for image source.

45 	    imgpos = page.find('<img')
46 	
47 	    while imgpos != -1:
48 	        addrpos = page.find('src=',imgpos)
49 	        page = page[:addrpos+5] + base_dir + page[addrpos+5:]
50 	        imgpos = page.find('<img', addrpos)

But the image source is like https://localhost:8443/trac/sandbox/attachment/wiki/WikiStart/image.jpg. After adding base_dir, which points to the trac project, i had base_dirhttps://localhost:8443/trac/sandbox/attachment/wiki/WikiStart/071small.jpg which isn't the right image source. So i substitute the base trac uri by base_dir

abs_ref = (req or env).abs_href.base
href = (req or env).href.base

As result now i get !base_dir/attachment/wiki/WikiStart/image.jpg.

By the way i also added two options for supporting TracMathPlugin and GraphvizPlugin without downloading via wget. The options are

[wikitopdf]
graphviz_dir = 
tracmath_dir =

These are the direcories where the both plugins save there images. A patch file is added as attachment.

Best regards,
Andreas Gebhardt

09/20/08 04:14:00 changed by andreasgebhardt@web.de

  • attachment tracwikitopdfplugin.img-patch added.

support for TracMathPlugin and Graphviz Plugin, base_dir substituion

10/21/08 08:36:03 changed by grigi

  • attachment wikitopdf_2.2.2_dynimg_css.patch added.

Update of patch for WikiToPdf? 2.2.2

10/21/08 08:38:34 changed by grigi

diorgenes, Do you need me to split the patch into several small parts? I would like to get as much of this into the mainline version.


Add/Change #3493 (Support for downloading dynamic images through the webserver)




Change Properties
Action