import System.Console.CmdArgs (
(&=),
+ args,
cmdArgs,
def,
details,
program,
summary,
typ,
+ typFile,
typDir )
-- This let's us get the version from Cabal.
import Paths_htsn (version)
import Data.Version (showVersion)
-import OptionalConfiguration (OptionalConfiguration(..))
-
+import OptionalConfiguration ( OptionalConfiguration(..) )
+import TSN.FeedHosts ( FeedHosts(..) )
-- | The description of the program, displayed as part of the help.
description :: String
my_summary = program_name ++ "-" ++ (showVersion version)
+-- | A description of the "log_file" option.
+log_file_help :: String
+log_file_help =
+ "If syslog == False, log to the given file."
+
+log_level_help :: String
+log_level_help =
+ "How verbose should the logs be? One of INFO, WARNING, ERROR."
+
-- | A description of the "password" option.
password_help :: String
password_help =
output_directory_help =
"Directory in which to output the XML files; must be writable"
+-- | A description of the "syslog" option.
+syslog_help :: String
+syslog_help =
+ "Enable (default) or disable logging to syslog."
+
-- | A description of the "username" option.
username_help :: String
username_help =
arg_spec :: OptionalConfiguration
arg_spec =
OptionalConfiguration {
+ -- Use an empty list for feed_hosts since cmdargs will appends to
+ -- the default when the user supplies feed hosts. If he specifies
+ -- any, those are all we should use.
+ feed_hosts = FeedHosts [] &= typ "HOSTNAMES" &= args,
+ log_file = def &= typFile &= help log_file_help,
+ log_level = def &= typ "LEVEL" &= help log_level_help,
password = def &= typ "PASSWORD" &= help password_help,
output_directory = def &= typDir &= help output_directory_help,
- username = def &= typ "USERNAME" &= help username_help,
- feed_hosts = def &= typ "HOSTNAMES" }
+ syslog = def &= typ "BOOL" &= help syslog_help,
+ username = def &= typ "USERNAME" &= help username_help }
&= program program_name
&= summary my_summary
&= details [description]