]> gitweb.michael.orlitzky.com - dead/htsn.git/blobdiff - src/CommandLine.hs
Disable syslog by default.
[dead/htsn.git] / src / CommandLine.hs
index 0a5a5a563a950f19f6a4ef2747b7de9eb26ca54f..c96fb6b568018f4eeb3462e4e8f42ab0552d8e54 100644 (file)
@@ -6,6 +6,7 @@ where
 
 import System.Console.CmdArgs (
   (&=),
+  args,
   cmdArgs,
   def,
   details,
@@ -13,14 +14,14 @@ import System.Console.CmdArgs (
   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(..) )
 
 -- | The description of the program, displayed as part of the help.
 description :: String
@@ -35,6 +36,15 @@ my_summary :: String
 my_summary = program_name ++ "-" ++ (showVersion version)
 
 
+-- | A description of the "log_file" option.
+log_file_help :: String
+log_file_help =
+  "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 =
@@ -45,6 +55,11 @@ output_directory_help :: String
 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 logging to syslog."
+
 -- | A description of the "username" option.
 username_help :: String
 username_help =
@@ -56,10 +71,16 @@ 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       = def &= 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]