diff options
| author | Thijs Schreijer <thijs@thijsschreijer.nl> | 2022-03-23 16:05:11 +0100 |
|---|---|---|
| committer | Thijs Schreijer <thijs@thijsschreijer.nl> | 2022-03-29 13:33:00 +0200 |
| commit | 86de838eb5ed49711be8d62e01255cc2ccd3342e (patch) | |
| tree | 13665628395e9247bf378737ca2cfa140a96a3c2 /samples/qp.lua | |
| parent | 7187be8b76452aa968726180af24deaaa545431d (diff) | |
| download | luasocket-86de838eb5ed49711be8d62e01255cc2ccd3342e.tar.gz luasocket-86de838eb5ed49711be8d62e01255cc2ccd3342e.tar.bz2 luasocket-86de838eb5ed49711be8d62e01255cc2ccd3342e.zip | |
cleanup; move ./etc into ./samples and mark 'unsupported'
Diffstat (limited to 'samples/qp.lua')
| -rw-r--r-- | samples/qp.lua | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/samples/qp.lua b/samples/qp.lua new file mode 100644 index 0000000..523238b --- /dev/null +++ b/samples/qp.lua | |||
| @@ -0,0 +1,23 @@ | |||
| 1 | ----------------------------------------------------------------------------- | ||
| 2 | -- Little program to convert to and from Quoted-Printable | ||
| 3 | -- LuaSocket sample files | ||
| 4 | -- Author: Diego Nehab | ||
| 5 | ----------------------------------------------------------------------------- | ||
| 6 | local ltn12 = require("ltn12") | ||
| 7 | local mime = require("mime") | ||
| 8 | local convert | ||
| 9 | arg = arg or {} | ||
| 10 | local mode = arg and arg[1] or "-et" | ||
| 11 | if mode == "-et" then | ||
| 12 | local normalize = mime.normalize() | ||
| 13 | local qp = mime.encode("quoted-printable") | ||
| 14 | local wrap = mime.wrap("quoted-printable") | ||
| 15 | convert = ltn12.filter.chain(normalize, qp, wrap) | ||
| 16 | elseif mode == "-eb" then | ||
| 17 | local qp = mime.encode("quoted-printable", "binary") | ||
| 18 | local wrap = mime.wrap("quoted-printable") | ||
| 19 | convert = ltn12.filter.chain(qp, wrap) | ||
| 20 | else convert = mime.decode("quoted-printable") end | ||
| 21 | local source = ltn12.source.chain(ltn12.source.file(io.stdin), convert) | ||
| 22 | local sink = ltn12.sink.file(io.stdout) | ||
| 23 | ltn12.pump.all(source, sink) | ||
