25 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
| -----------------------------------------------------------------------------
 | |
| -- Little program to convert to and from Quoted-Printable
 | |
| -- LuaSocket sample files
 | |
| -- Author: Diego Nehab
 | |
| -- RCS ID: $Id: qp.lua,v 1.5 2004/06/17 21:46:22 diego Exp $
 | |
| -----------------------------------------------------------------------------
 | |
| local ltn12 = require("ltn12")
 | |
| local mime = require("mime")
 | |
| local convert
 | |
| arg = arg or {}
 | |
| local mode = arg and arg[1] or "-et"
 | |
| if mode == "-et" then
 | |
|     local normalize = mime.normalize()
 | |
|     local qp = mime.encode("quoted-printable")
 | |
|     local wrap = mime.wrap("quoted-printable")
 | |
|     convert = ltn12.filter.chain(normalize, qp, wrap)
 | |
| elseif mode == "-eb" then
 | |
|     local qp = mime.encode("quoted-printable", "binary")
 | |
|     local wrap = mime.wrap("quoted-printable")
 | |
|     convert = ltn12.filter.chain(qp, wrap)
 | |
| else convert = mime.decode("quoted-printable") end
 | |
| local source = ltn12.source.chain(ltn12.source.file(io.stdin), convert)
 | |
| local sink = ltn12.sink.file(io.stdout)
 | |
| ltn12.pump.all(source, sink)
 |