[tex-live] *** GMX Spamverdacht *** Re: TeXLive (Windows) bash script -> exe

Zdenek Wagner zdenek.wagner at gmail.com
Wed May 21 10:13:17 CEST 2014


2014-05-21 4:22 GMT+02:00 Reinhard Kotucha <reinhard.kotucha at web.de>:

> On 2014-05-20 at 17:37:26 +0200, Josef Kleber wrote:
>
>
> --  > Am 20.05.2014 15:27, schrieb Norbert Preining:
>  > > On Tue, 20 May 2014, Josef Kleber wrote:
>  > >> That seems to be the last problem. If i comment the getopt parts,
>  > >> 'texlua osmimage.lua' uses the default values and downloads the
>  > >> expected map.
>  > >
>  > > Can you send me the final code, then I can see how it can be easily
>  > > included so that the getopt part works.
>  >
>  > osmimage.lua attached.
>  >
>  > This works for me with wget, but i was unable to integrate the
>  > 'http.request' method that worked in another test.
>  >
>  > Josef
>
> This doesn't work:
>
>  > PROGLINE = "wget '" .. IMGURL .. "' -O " .. UOFILE
>  > os.spawn(PROGLINE)
>
> Windows doesn't understand single quotes.  You have to use double
> quotes on Windows.  os.type is your friend.  It returns "unix" on Unix
> and "windows" on Windows.  You have to treat Unix and Windows command
> lines differently here.
>
> Another issue:
> wget isn't in PATH on Windows.  You have to provide the path to wget
> yourself.
>
> local function wget ()
>   local WGET
>   if os.type == 'windows' then
>     local texmf_root = kpse.var_value('TEXMFROOT')
>     WGET = texmf_root .. '/tlpkg/installer/wget/wget.exe'
>   else
>     WGET='wget'
>   end
>   return WGET
> end
>
>  > -- TO BE DONE TODO TODO TODO
>  > -- if [ "$QUIET" = "true" ]
>  > -- then
>  > --   exec 1>/dev/null
>  > --   exec 2>/dev/null
>  > -- fi
>
> In order to suppress stdout, simply read the output of wget from a
> pipe.  Just use io.popen() instead of os.spawn().
>

Windows have nul (with one l), not /dev/null

>
>  > -- local file = ltn12.sink.file(io.open(UOFILE, 'wb'))
>  > -- http.request {
>  >     -- url = IMGURL,
>  >     -- sink = file,
>  > -- }
>  > -- gives <html><body><b>Http/1.1 Bad Request</b></body> </html> instead
> of image
>  > -- URL encoding for LOCATION??? but works for wget
>
> Maybe a problem with special characters.  I recommend to transform all
> special chars in IMGURL to hex i.e., replace "&" with "%26".
> Otherwise it would be more difficult to support different operating
> systems.
>
> And if you are running your script in an arbitry directory for
> testing, (no symlinks or wrappers involved), add the line
>
>   kpse.set_program_name('texlua')
>
> to your script and things like
>
>    require ("alt_getopt")
>
> will work.
>
>
> How do you handle character encodings?
>
>   LOCATION = "Bergheimer Straテoテηクe 110A, 69115 Heidelberg, Germany"
>
> Regards,
>   Reinhard
>
>
> ----------------------------------------------------------------------------
> Reinhard Kotucha                                      Phone:
> +49-511-3373112
> Marschnerstr. 25
> D-30167 Hannover                              mailto:
> reinhard.kotucha at web.de
>
> ----------------------------------------------------------------------------
> Microsoft isn't the answer. Microsoft is the question, and the answer is
> NO.
>
> ----------------------------------------------------------------------------
>
>
>


-- 
Zdeněk Wagner
http://hroch486.icpf.cas.cz/wagner/
http://icebearsoft.euweb.cz
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://tug.org/pipermail/tex-live/attachments/20140521/90f05d77/attachment.html>


More information about the tex-live mailing list