X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2FCommandLine.hs;h=660458b0da425b0f5b5de7f0f3dca0f55ff8976d;hb=HEAD;hp=28768f98c3995e2d1f36a54856b4210cf17f0351;hpb=9d278c8b8eeff1a1317f2c3b0f7fdf5fb759ffb3;p=dead%2Fhtsn-import.git diff --git a/src/CommandLine.hs b/src/CommandLine.hs index 28768f9..660458b 100644 --- a/src/CommandLine.hs +++ b/src/CommandLine.hs @@ -1,9 +1,11 @@ -- | Parse the command-line options, and display help text if -- necessary. +-- module CommandLine ( get_args ) where +-- System imports. import System.Console.CmdArgs ( (&=), args, @@ -15,45 +17,58 @@ import System.Console.CmdArgs ( summary, typ, typFile ) +import Paths_htsn_import ( version ) -- These let us get the +import Data.Version ( showVersion ) -- version from Cabal. --- This let's us get the version from Cabal. -import Paths_htsn_import (version) -import Data.Version (showVersion) - +-- Local imports. import OptionalConfiguration ( OptionalConfiguration(..) ) + -- | The description of the program, displayed as part of the help. description :: String description = "Import XML files from The Sports Network into an RDBMS." + -- | The name of this program. program_name :: String program_name = "htsn-import" + -- | A summary string output as part of the help. my_summary :: String my_summary = program_name ++ "-" ++ (showVersion version) + -- | A description of the "backend" option. backend_help :: String backend_help = "Database choice, either \"Sqlite\" or \"Postgres\"." + -- | A description of the "connection_string" option. connection_string_help :: String connection_string_help = "A database-specific connection string (depends on the backend)." + -- | A description of the "log_file" option. log_file_help :: String log_file_help = "Log to the given file." + -- | A description of the "log_level" option. log_level_help :: String log_level_help = "How verbose should the logs be? One of INFO, WARNING, ERROR." + +-- | A description of the "remove" option. +remove_help :: String +remove_help = + "Remove files that have been successfully imported." + + -- | A description of the "syslog" option. syslog_help :: String syslog_help = @@ -63,6 +78,7 @@ syslog_help = -- | A data structure representing the possible command-line -- options. The CmdArgs library is doing heavy magic beneath the -- hood here. +-- arg_spec :: OptionalConfiguration arg_spec = OptionalConfiguration { @@ -70,6 +86,7 @@ arg_spec = connection_string = def &= typ "STRING" &= help connection_string_help, log_file = def &= typFile &= help log_file_help, log_level = def &= typ "LEVEL" &= help log_level_help, + remove = def &= typ "BOOL" &= help remove_help, syslog = def &= typ "BOOL" &= help syslog_help, xml_files = def &= typ "XMLFILES" &= args } &= program program_name @@ -79,5 +96,6 @@ arg_spec = -- | A convenience function; our only export. Meant to be used in -- 'main' to retrieve the command-line arguments. +-- get_args :: IO OptionalConfiguration get_args = cmdArgs arg_spec