From: Jaroslav Hajtmar <hajtmar@gyza.cz>
To: ntg-context@ntg.nl
Subject: Re: Problem with rfc4180splitter in last beta?
Date: Mon, 15 Jun 2015 11:47:03 +0200 [thread overview]
Message-ID: <557E9F17.6020005@gyza.cz> (raw)
In-Reply-To: <557E9423.4090805@gyza.cz>
Hi Hans.
Once again. It occurred to me to send a minimum Hans's example. When I
compile with new beta version are the results the same for header and
noheader versions, while a compilation of TL 2014 Contex proceeds
differently.
Jaroslav Hajtmar
\starttext
% csvfile.txt content:
% first,second,third,fourth
% 1,"2","3","4"
% "a","b","c","d"
% "foo","bar""baz","boogie","xyzzy"
%
\startluacode
local mycsvsplitter = utilities.parsers.rfc4180splitter()
local crap = io.loaddata("csvfile.txt")
local list, names = mycsvsplitter(crap,true) inspect(list) inspect(names)
-- local list, names = mycsvsplitter(crap) inspect(list)
inspect(names)
context.starttabulate { "|l|r|" }
for i=1,#list do
local l = list[i]
context.NC() context(l[1])
context.NC() context(l[3])
context.NC()
context.NR()
end
context.stoptabulate()
\stopluacode
\stoptext
Dne 15. 6. 2015 v 11:00 Jaroslav Hajtmar napsal(a):
> After I read my e-mail the I cut more my source code and I am sending
> now more minimalized version of minimal example
>
> Sorry, Jaroslav Hajtmar
>
>
> Here is another minimal version:
>
> % csvfile.txt content:
> % first,second,third,fourth
> % 1,"2","3","4"
> % "a","b","c","d"
> % "foo","bar""baz","boogie","xyzzy"
> %
>
>
>
> \starttext
>
> \startluacode
> gCSVHeader=true -- works fine when compiled any version of ConTeXt
> --gCSVHeader=false -- crashed, when compiled by last version of
> standalone
> gColNames={}
> gColumnNames={}
> local inpcsvfile='csvfile.txt'
> local currentlyprocessedcsvfile = io.loaddata(inpcsvfile)
> local mycsvsplitter = utilities.parsers.rfc4180splitter{
> separator = ',',
> quote = '"',
> }
> if gCSVHeader then
> gTableRows, gColumnNames =
> mycsvsplitter(currentlyprocessedcsvfile,true)
> inspect(gTableRows)
> inspect(gColumnNames)
> else
> gTableRows = mycsvsplitter(currentlyprocessedcsvfile)
> inspect(gTableRows)
> end
> gNumRows=#gTableRows -- Getting number of rows
> gNumCols=#gTableRows[1] -- Getting number of columns
>
> context.setgvalue("numrows",tostring(gNumRows))
> context.setgvalue("numcols",tostring(gNumCols))
> context.setgvalue("filename",tostring(inpcsvfile))
> \stopluacode
>
>
> File \filename\ has \numrows\ lines and \numcols\ columns.
>
> \stoptext
>
>
>
>
> Dne 15. 6. 2015 v 10:45 Jaroslav Hajtmar napsal(a):
>> Hi Hans,
>> I encountered while experimenting with the latest beta version of
>> standalone context to a problem when using the splitter. When I
>> process without header file then compilation crashed when you compile
>> the latest beta version. Conversely, the processing of a header file
>> is no problem. ConTEXt while compiling the 2014 TL is fine in both
>> cases. I do not know from which beta version was a problem, I
>> discovered it by accident until now. Send minimal example. When
>> gCSVHeader = true everything is OK when it is gCSVHeader = false and
>> compilation fails.
>>
>>
>> Thanx for any advice
>> Jaroslav Hajtmar
>>
>> Here is my minimal version of problematic example:
>>
>>
>>
>> % csvfile.txt content:
>> % first,second,third,fourth
>> % 1,"2","3","4"
>> % "a","b","c","d"
>> % "foo","bar""baz","boogie","xyzzy"
>> %
>>
>>
>>
>> \starttext
>>
>> \startluacode
>> --gCSVHeader=true -- works fine when compiled any version of
>> ConTeXt
>> gCSVHeader=false -- crashed, when compiled by last beta version
>> of standalone
>> gColNames={}
>> gColumnNames={}
>> local inpcsvfile='csvfile.txt'
>> local currentlyprocessedcsvfile = io.loaddata(inpcsvfile)
>> local mycsvsplitter = utilities.parsers.rfc4180splitter{
>> separator = ',',
>> quote = '"',
>> }
>> if gCSVHeader then
>> gTableRows, gColumnNames =
>> mycsvsplitter(currentlyprocessedcsvfile,true)
>> inspect(gTableRows)
>> inspect(gColumnNames)
>> for i=1,#gTableRows[1] do
>> gColNames[tostring(gColumnNames[i])] = i -- for indexing use
>> end
>> else
>> gTableRows = mycsvsplitter(currentlyprocessedcsvfile)
>> inspect(gTableRows)
>> -- ad now set column names for withoutheader situation:
>> for i=1,#gTableRows[1] do
>> context(gTableRows[i])
>> gColumnNames[i]='c'..(i)
>> end
>> end
>> gNumRows=#gTableRows -- Getting number of rows
>> gNumCols=#gTableRows[1] -- Getting number of columns
>>
>> context.setgvalue("numrows",tostring(gNumRows))
>> context.setgvalue("numcols",tostring(gNumCols))
>> context.setgvalue("filename",tostring(inpcsvfile))
>> \stopluacode
>>
>>
>> File \filename\ has \numrows\ lines and \numcols\ columns.
>>
>> \stoptext
>> ___________________________________________________________________________________
>>
>> If your question is of interest to others as well, please add an
>> entry to the Wiki!
>>
>> maillist : ntg-context@ntg.nl /
>> http://www.ntg.nl/mailman/listinfo/ntg-context
>> webpage : http://www.pragma-ade.nl / http://tex.aanhet.net
>> archive : http://foundry.supelec.fr/projects/contextrev/
>> wiki : http://contextgarden.net
>> ___________________________________________________________________________________
>>
>
> ___________________________________________________________________________________
>
> If your question is of interest to others as well, please add an entry
> to the Wiki!
>
> maillist : ntg-context@ntg.nl /
> http://www.ntg.nl/mailman/listinfo/ntg-context
> webpage : http://www.pragma-ade.nl / http://tex.aanhet.net
> archive : http://foundry.supelec.fr/projects/contextrev/
> wiki : http://contextgarden.net
> ___________________________________________________________________________________
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage : http://www.pragma-ade.nl / http://tex.aanhet.net
archive : http://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___________________________________________________________________________________
next prev parent reply other threads:[~2015-06-15 9:47 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-15 8:45 Jaroslav Hajtmar
2015-06-15 9:00 ` Jaroslav Hajtmar
2015-06-15 9:47 ` Jaroslav Hajtmar [this message]
2015-06-15 18:22 ` Problem with rfc4180splitter in last beta (sticking point was found... maybe) Jaroslav Hajtmar
2015-06-15 19:40 ` Hans Hagen
2015-06-15 20:28 ` Jaroslav Hajtmar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=557E9F17.6020005@gyza.cz \
--to=hajtmar@gyza.cz \
--cc=ntg-context@ntg.nl \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).