bin/oneacct-export in oneacct-export-0.3.0 vs bin/oneacct-export in oneacct-export-0.4.2
- old
+ new
@@ -6,11 +6,14 @@
require 'oneacct_exporter/log'
require 'settings'
require 'fileutils'
require 'json'
require 'oneacct_opts'
+require 'chronic_duration'
+ChronicDuration.raise_exceptions = true
+
# parse options from command line
options = OneacctOpts.parse(ARGV)
# initialize default logger
log = Logger.new(STDOUT)
@@ -29,12 +32,21 @@
log = Syslogger.new('oneacct-export')
end
OneacctExporter::Log.setup_log_level(log)
-range = {}
-range[:from] = options.records_from
-range[:to] = options.records_to
+begin
+ range = {}
+ range[:from] = Time.now - ChronicDuration.parse(options.records_for) if options.records_for
+
+ if options.records_from || options.records_to
+ range[:from] = options.records_from
+ range[:to] = options.records_to
+ end
+rescue ChronicDuration::DurationParseError => e
+ puts "Cannot parse a time period: #{e.message} Quitting."
+ exit
+end
groups = {}
groups[:include] = options.include_groups if options.include_groups
groups[:exclude] = options.exclude_groups if options.exclude_groups