]> gitweb.michael.orlitzky.com - dead/htsn.git/commitdiff
Move the TSN namespace (Xml.hs and FeedHosts.hs) into the top level.
authorMichael Orlitzky <michael@orlitzky.com>
Sat, 28 Dec 2013 23:50:11 +0000 (18:50 -0500)
committerMichael Orlitzky <mjo@gentoo.org>
Sat, 28 Dec 2013 23:50:11 +0000 (18:50 -0500)
Move the report_foo functions into their own module.
Get the process name automatically in init_logging.

htsn.cabal
makefile
src/Configuration.hs
src/FeedHosts.hs [moved from src/TSN/FeedHosts.hs with 98% similarity]
src/Logging.hs
src/Main.hs
src/OptionalConfiguration.hs
src/Report.hs [new file with mode: 0644]
src/Xml.hs [moved from src/TSN/Xml.hs with 99% similarity]
test/TestSuite.hs

index 2d3e6767366683f9e96ebf53d9907edf4d136721..a25b7e978f47107742999ddaa860b07ffe866618 100644 (file)
@@ -1,5 +1,5 @@
 name:           htsn
-version:        0.0.3
+version:        0.0.4
 cabal-version:  >= 1.8
 author:         Michael Orlitzky
 maintainer:    Michael Orlitzky <michael@orlitzky.com>
@@ -229,12 +229,13 @@ executable htsn
     CommandLine
     Configuration
     ExitCodes
+    FeedHosts
     Logging
     OptionalConfiguration
+    Report
     Terminal
-    TSN.FeedHosts
-    TSN.Xml
     Unix
+    Xml
 
   ghc-options:
     -Wall
index b31b678e624d2c6397c62af401620751edeb9206..45ed83809f39941aee435c20c334e29027163b84 100644 (file)
--- a/makefile
+++ b/makefile
@@ -3,7 +3,7 @@ TESTSUITE_BIN = dist/build/testsuite/testsuite
 
 .PHONY : dist hlint
 
-$(BIN): src/*.hs src/TSN/*.hs
+$(BIN): src/*.hs
        runghc Setup.hs clean
        runghc Setup.hs configure --user --prefix=/
        runghc Setup.hs build
index 10e01bcb01c37e62fd9e54edaf6907cef896363d..49213c3f92d786ea2a24703d5780b192b04b997b 100644 (file)
@@ -13,7 +13,7 @@ import System.Log ( Priority( INFO ) )
 import qualified OptionalConfiguration as OC (
   OptionalConfiguration(..),
   merge_maybes )
-import TSN.FeedHosts (FeedHosts(..))
+import FeedHosts (FeedHosts(..))
 
 -- | The main configuration data type. This will be passed to most of
 --   the important functions once it has been created.
similarity index 98%
rename from src/TSN/FeedHosts.hs
rename to src/FeedHosts.hs
index 81f57aa53f1506d06821036e7fa8d9d81c2a52a6..b3fcc4827cd9688bed202d9c8b15669122644298 100644 (file)
@@ -8,7 +8,7 @@
 --   instance is specific to TSN, even though otherwise it's just a
 --   list of strings.
 --
-module TSN.FeedHosts
+module FeedHosts
 where
 
 -- DC is needed only for the DCT.Configured instance of String.
index ede739a28ba9a9027bbbebc894dc51a5ad0cdd18..63101c6f3735da2dbbbc1b913ae6ec1bc7719105 100644 (file)
@@ -7,6 +7,7 @@ module Logging (
 where
 
 import Control.Monad ( when )
+import System.Environment ( getProgName )
 import System.Log.Formatter ( simpleLogFormatter )
 import System.Log.Handler ( setFormatter )
 import System.Log.Handler.Simple ( GenericHandler, fileHandler )
@@ -67,7 +68,9 @@ init_logging log_file log_level syslog = do
     sl_handler' <- openlog rootLoggerName [] USER sl_level
 
     -- Syslog should output the date by itself.
-    let sl_formatter = simpleLogFormatter "htsn[$pid] $prio: $msg"
+    program_name <- getProgName
+    let sl_formatter = simpleLogFormatter $
+                         program_name ++ "[$pid] $prio: $msg"
     let sl_handler = setFormatter sl_handler' sl_formatter
 
     updateGlobalLogger rootLoggerName (addHandler sl_handler)
index 2b0b5b920db4acefd161c2c069ec127695f6483d..ece44a8b9fb53a6e8d27a9e0eef828205185d255 100644 (file)
@@ -37,61 +37,20 @@ import ExitCodes (
   exit_no_password,
   exit_no_username,
   exit_pidfile_exists )
-import Logging (
-  init_logging,
-  log_debug,
-  log_error,
-  log_info,
-  log_warning )
+import FeedHosts ( FeedHosts(..) )
+import Logging ( init_logging )
 import qualified OptionalConfiguration as OC (
   OptionalConfiguration(..),
   from_rc )
-import Terminal (
-  display_debug,
-  display_error,
-  display_info,
-  display_sent,
-  display_warning )
-import TSN.FeedHosts ( FeedHosts(..) )
-import TSN.Xml ( parse_xmlfid )
+import Report (
+  report_debug,
+  report_info,
+  report_warning,
+  report_error )
+import Terminal ( display_sent )
+import Xml ( parse_xmlfid )
 import Unix ( full_daemonize )
 
--- | Display and log debug information. WARNING! This does not
---   automatically append a newline. The output is displayed/logged
---   as-is, for, you know, debug purposes.
-report_debug :: String -> IO ()
-report_debug s = do
-  display_debug s
-  log_debug s
-
-
--- | Display and log an error condition. This will prefix the error
---   with "ERROR: " when displaying (but not logging) it so that it
---   stands out.
---
-report_error :: String -> IO ()
-report_error s = do
-  display_error $ "ERROR: " ++ s
-  log_error s
-
-
--- | Display and log an informational (status) message.
---
-report_info :: String -> IO ()
-report_info s = do
-  display_info s
-  log_info s
-
-
--- | Display and log a warning. This will prefix the warning with
---   "WARNING: " when displaying (but not logging) it so that it
---   stands out.
---
-report_warning :: String -> IO ()
-report_warning s = do
-  display_warning $ "WARNING: " ++ s
-  log_warning s
-
 
 -- | Receive a single line of text from a Handle, and send it to the
 --   debug log.
index 3b663d0eff1a5e61cfaa1dfb5a8327494e2fc7a2..33ca3d9d82e1061c467b3f25eee9e16745c5af4d 100644 (file)
@@ -34,9 +34,9 @@ import System.FilePath ( (</>) )
 import System.IO.Error ( catchIOError )
 import System.Log ( Priority(..) )
 
+import FeedHosts ( FeedHosts(..) )
 import Logging ( log_error ) -- Can't import report_error from Main
 import Terminal ( display_error ) -- 'cause of circular imports.
-import TSN.FeedHosts ( FeedHosts(..) )
 
 
 -- Derive standalone instances of Data and Typeable for Priority. This
diff --git a/src/Report.hs b/src/Report.hs
new file mode 100644 (file)
index 0000000..925a018
--- /dev/null
@@ -0,0 +1,57 @@
+-- | Convenience functions for reporting (display and/or logging)
+--   status messages.
+--
+module Report (
+  report_debug,
+  report_error,
+  report_info,
+  report_warning )
+where
+
+import Logging (
+  log_debug,
+  log_error,
+  log_info,
+  log_warning )
+import Terminal (
+  display_debug,
+  display_error,
+  display_info,
+  display_warning )
+
+
+-- | Display and log debug information. WARNING! This does not
+--   automatically append a newline. The output is displayed/logged
+--   as-is, for, you know, debug purposes.
+report_debug :: String -> IO ()
+report_debug s = do
+  display_debug s
+  log_debug s
+
+
+-- | Display and log an error condition. This will prefix the error
+--   with "ERROR: " when displaying (but not logging) it so that it
+--   stands out.
+--
+report_error :: String -> IO ()
+report_error s = do
+  display_error $ "ERROR: " ++ s
+  log_error s
+
+
+-- | Display and log an informational (status) message.
+--
+report_info :: String -> IO ()
+report_info s = do
+  display_info s
+  log_info s
+
+
+-- | Display and log a warning. This will prefix the warning with
+--   "WARNING: " when displaying (but not logging) it so that it
+--   stands out.
+--
+report_warning :: String -> IO ()
+report_warning s = do
+  display_warning $ "WARNING: " ++ s
+  log_warning s
similarity index 99%
rename from src/TSN/Xml.hs
rename to src/Xml.hs
index ebc4fb7581904b918294d0b1abb4d664d22b2b56..7f82a7d7ccff7f6b19595c7ccc84f3d05c8f21dd 100644 (file)
@@ -1,7 +1,7 @@
 -- | Minimal XML functionality needed to parse each document's
 --   XML_File_ID.
 --
-module TSN.Xml (
+module Xml (
   parse_xmlfid,
   xml_tests )
 where
index f5d6d3ce6c9c19f66e0fedcba4192b7234dea947..668f01910a4c98405fa0c8ef46dcffd7dc2bc952 100644 (file)
@@ -1,6 +1,6 @@
 import Test.Tasty ( TestTree, defaultMain )
 
-import TSN.Xml ( xml_tests )
+import Xml ( xml_tests )
 
 tests :: TestTree
 tests = xml_tests