From 25f1c465c78f1eb6834f6e4fa77d5df066a23cd0 Mon Sep 17 00:00:00 2001 From: Kaarle Ritvanen Date: Thu, 22 Mar 2012 12:51:19 +0000 Subject: control input and output directories from command line --- awall-cli | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) (limited to 'awall-cli') diff --git a/awall-cli b/awall-cli index 90953b1..2e98192 100755 --- a/awall-cli +++ b/awall-cli @@ -6,19 +6,33 @@ Copyright (C) 2012 Kaarle Ritvanen Licensed under the terms of GPL2 ]]-- +require 'alt_getopt' require 'lfs' require 'stringy' -testmode = stringy.endswith(arg[0], '/awall-cli') +short_opts = 'o:' +long_opts = {['output-dir']='o'} -if testmode then - path = string.sub(arg[0], 1, -11) - lfs.chdir(path) +if stringy.endswith(arg[0], '/awall-cli') then + basedir = string.sub(arg[0], 1, -11) + input = {basedir..'/json'} + + short_opts = short_opts..'i:' + long_opts['input-dir'] = 'i' +end + +for switch, value in pairs(alt_getopt.get_opts(arg, short_opts, long_opts)) do + if switch == 'i' then table.insert(input, value) + elseif switch == 'o' then + iptdir = value + ipsfile = value..'/ipset' + else assert(false) end end + require 'awall' -awall.loadmodules(testmode and '.') +awall.loadmodules(basedir) -config = awall.Config.new(testmode and {'json', 'input'}) +config = awall.Config.new(input) config:test() -config:dump(testmode and 'output', testmode and 'output/ipset') +config:dump(iptdir, ipsfile) -- cgit v1.2.3