beremiz

py_ext: fix CSV Writer

18 months ago, Edouard Tisserant
d2f5eb3c7d6e
py_ext: fix CSV Writer

fix POU logic :
- SAVE is a BOOL
- invocation of py_eval on rising edge of SAVE
- remove save python argument

fix python:
- use no encoding for file open (python2)
- re-use detected dialect if any
- use no "rt+" and truncate since no need to re-sniff dialect for output file
- return "OK" instead of "#SUCCESS", preventing POU logic to ACK result
- support creating new line if writing just after last line
- support appending data on short rows

fix example:
- use a HMI:Button to trigger CSV write instead of HMI:Input +1
- reload CSVs on on each new CSV opened in file browser
- add display of CSV write output
#! gmake
# Makefile to generate XSLT stylesheets from ysl2 files in the same directory
# This uses YML2.
# hg clone https://pep.foundation/dev/repos/yml2/
# It should be just fine if yml2 is cloned just asside beremiz
# otherwise, point yml2path to yml2 source directory
# make yml2path=path/to/yml/dir
yml2path ?= $(abspath ../../yml2)
ysl2files := $(wildcard *.ysl2)
xsltfiles := $(patsubst %.ysl2, %.xslt, $(ysl2files))
all:$(xsltfiles)
%.xslt: %.ysl2 ../yslt_noindent.yml2
$(yml2path)/yml2c -I $(yml2path):../ $< -o $@.tmp
xmlstarlet fo $@.tmp > $@
rm $@.tmp
clean:
rm -f $(xsltfiles)