texlive[51306] Master/texmf-dist: context-handlecsv (3jun19)

commits+karl at tug.org commits+karl at tug.org
Mon Jun 3 23:34:31 CEST 2019


Revision: 51306
          http://tug.org/svn/texlive?view=revision&revision=51306
Author:   karl
Date:     2019-06-03 23:34:31 +0200 (Mon, 03 Jun 2019)
Log Message:
-----------
context-handlecsv (3jun19)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/context/third/handlecsv/VERSION
    trunk/Master/texmf-dist/doc/context/third/handlecsv/handlecsv.epub
    trunk/Master/texmf-dist/doc/context/third/handlecsv/handlecsv.pdf
    trunk/Master/texmf-dist/tex/context/third/handlecsv/t-handlecsv-extra.lua

Modified: trunk/Master/texmf-dist/doc/context/third/handlecsv/VERSION
===================================================================
--- trunk/Master/texmf-dist/doc/context/third/handlecsv/VERSION	2019-06-03 21:34:17 UTC (rev 51305)
+++ trunk/Master/texmf-dist/doc/context/third/handlecsv/VERSION	2019-06-03 21:34:31 UTC (rev 51306)
@@ -1 +1 @@
-2019.03.30
+2019.05.27

Modified: trunk/Master/texmf-dist/doc/context/third/handlecsv/handlecsv.epub
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/context/third/handlecsv/handlecsv.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/tex/context/third/handlecsv/t-handlecsv-extra.lua
===================================================================
--- trunk/Master/texmf-dist/tex/context/third/handlecsv/t-handlecsv-extra.lua	2019-06-03 21:34:17 UTC (rev 51305)
+++ trunk/Master/texmf-dist/tex/context/third/handlecsv/t-handlecsv-extra.lua	2019-06-03 21:34:31 UTC (rev 51306)
@@ -1,14 +1,14 @@
 -- %D \module
 -- %D   [     file=t-handlecsv-extra.lua,
--- %D      version=2018.02.26,
+-- %D      version=2019.05.27,
 -- %D        title=HandleCSV extra,
 -- %D     subtitle=CSV file analysis - extended functions and macros,
 -- %D       author=Jaroslav Hajtmar,
--- %D         date=2018-02-26,
+-- %D         date=2019-05-27,
 -- %D    copyright=Jaroslav Hajtmar,
 -- %D      license=GNU General Public License]
 --
--- %C Copyright (C) 2018  Jaroslav Hajtmar
+-- %C Copyright (C) 2019  Jaroslav Hajtmar
 -- %C
 -- %C This program is free software: you can redistribute it and/or modify
 -- %C it under the terms of the GNU General Public License as published by
@@ -61,7 +61,64 @@
 
 
 
+-- function thirddata.handlecsv.cr_lines(s)
+--    return s:gsub('\r\n?', '\n'):gmatch('(.-)\n')
+-- end
 
+
+function thirddata.handlecsv.file2Array(filename)
+-- read CSV file into line array
+local linesarray={}
+ for line in io.lines (filename) do
+  linesarray[#linesarray+1]=line
+ end
+return linesarray
+end
+
+
+
+function thirddata.handlecsv.writefileinreverseorder(inpfilename,outfilename)
+-- write CSV file <inpfilename> into reverse order CSV file <outfilename>
+ local tLines = thirddata.handlecsv.file2Array(inpfilename)
+ local outfile = io.open(outfilename, "w")
+ local ifrom=#tLines
+ local ito=1
+  if thirddata.handlecsv.gCSVHeader then  -- when CSV file is with header, then header line is first line
+   outfile:write(tLines[1])
+   outfile:write("\r\n")
+   ito=2
+  end
+ for i = ifrom, ito, -1 do -- write rest of lines in reverse order
+	outfile:write(tLines[i])
+ 	outfile:write("\r\n")
+ end
+outfile:flush()
+outfile:close()
+end
+
+
+
+function thirddata.handlecsv.deletefile(filename)
+-- remove file from disk
+ os.remove(filename)
+end
+
+
+function thirddata.handlecsv.varreverseorder(csvfilename)
+-- CSV file <csvfilename> is stored in variable array gTableRows['csvfilename'][row][column]
+-- this function rearrange gTableRows into reverse order
+local templine={}
+for i = 1, math.floor(thirddata.handlecsv.gNumRows[csvfilename]/2) do
+templine=thirddata.handlecsv.gTableRows[csvfilename][i]
+thirddata.handlecsv.gTableRows[csvfilename][i]=thirddata.handlecsv.gTableRows[csvfilename][thirddata.handlecsv.gNumRows[csvfilename]-i+1]
+thirddata.handlecsv.gTableRows[csvfilename][thirddata.handlecsv.gNumRows[csvfilename]-i+1]=templine
+end
+end
+
+
+
+
+
 -- ConTeXt source:
 local string2print=[[%
 
@@ -68,7 +125,13 @@
 \def\addleading#1#2#3{\ctxlua{context(thirddata.handlecsv.addleadingcharacters('#1','#2','#3'))}}
 \def\addzeros#1#2{\ctxlua{context(thirddata.handlecsv.addleadingzeros('#1','#2'))}}
 \def\zeroed#1{\ctxlua{context(thirddata.handlecsv.addzeros('#1'))}}
+% \def\zeroedlineno{\ctxlua{context(string.rep( "0",(tostring(thirddata.handlecsv.numrows())):len() - (tostring(thirddata.handlecsv.linepointer())):len()) .. thirddata.handlecsv.linepointer())}}% from Pablo
 \def\zeroedlineno{\zeroed{\lineno}}% from Pablo (and simplified by him)
+\def\writefileinreverseorderfromto#1#2{\ctxlua{thirddata.handlecsv.writefileinreverseorder('#1','#2')}}%
+\def\writecurrfileinreverseorderto#1{\ctxlua{thirddata.handlecsv.writefileinreverseorder(thirddata.handlecsv.gCurrentlyProcessedCSVFile,'#1')}}%
+\def\deletefile#1{\ctxlua{thirddata.handlecsv.deletefile('#1')}}%
+\def\reverseorderof#1{\ctxlua{thirddata.handlecsv.varreverseorder('#1')}}
+\def\reverseorder{\ctxlua{thirddata.handlecsv.varreverseorder(thirddata.handlecsv.gCurrentlyProcessedCSVFile)}}
 
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -75,9 +138,11 @@
 % Complete listing macros and commands that can be used (to keep track of all defined macros):
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % \addleading{}{}{}, \addzeros{}{}, \zeroed{}, \zeroedlineno (from Pablo)
-%
-
-
+% \writefileinreverseorderfromto{<inpfilename>}{<outfilename>} % create file <outfilename> in reverse order of file <inpfilename>
+% \writecurrfileinreverseorderto{<outfilename>} % create file <outfilename> in reverse order
+% \deletefile{<filename>} % close and delete file <filename>
+% \reverseorderof{<csvfilename>} % reverse order of opened CSV file <csvfilename>
+% \reverseorder % reverse order of currently processed CSV file
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 ]]
 



More information about the tex-live-commits mailing list