From cb994264d239ca4ac50402175a7fd7ac89e029d6 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sun, 10 May 2015 15:36:58 -0400 Subject: more time-1.5 fixes --- Logs/MetaData.hs | 5 ++--- Logs/TimeStamp.hs | 5 +++++ 2 files changed, 7 insertions(+), 3 deletions(-) (limited to 'Logs') diff --git a/Logs/MetaData.hs b/Logs/MetaData.hs index ed4e2363e..0dc76214c 100644 --- a/Logs/MetaData.hs +++ b/Logs/MetaData.hs @@ -41,12 +41,11 @@ import qualified Annex.Branch import qualified Annex import Logs import Logs.SingleValue +import Logs.TimeStamp import qualified Data.Set as S import qualified Data.Map as M import Data.Time.Clock.POSIX -import Data.Time.Format -import System.Locale instance SingleValueSerializable MetaData where serialize = Types.MetaData.serialize @@ -86,7 +85,7 @@ getCurrentMetaData k = do ts = lastchangedval l in M.map (const ts) m lastchangedval l = S.singleton $ toMetaValue $ showts $ changed l - showts = formatTime defaultTimeLocale "%F@%H-%M-%S" . posixSecondsToUTCTime + showts = formatPOSIXTime "%F@%H-%M-%S" {- Adds in some metadata, which can override existing values, or unset - them, but otherwise leaves any existing metadata as-is. -} diff --git a/Logs/TimeStamp.hs b/Logs/TimeStamp.hs index 121b76678..ca2670953 100644 --- a/Logs/TimeStamp.hs +++ b/Logs/TimeStamp.hs @@ -17,9 +17,14 @@ import System.Locale import Common +{- Parses how POSIXTime shows itself: "1431286201.113452s" + - Also handles the format with no fractional seconds. -} parsePOSIXTime :: String -> Maybe POSIXTime #if MIN_VERSION_time(1,5,0) parsePOSIXTime s = utcTimeToPOSIXSeconds <$> parseTimeM True defaultTimeLocale "%s%Qs" s #else parsePOSIXTime s = utcTimeToPOSIXSeconds <$> parseTime defaultTimeLocale "%s%Qs" s #endif + +formatPOSIXTime :: String -> POSIXTime -> String +formatPOSIXTime fmt t = formatTime defaultTimeLocale fmt (posixSecondsToUTCTime t) -- cgit v1.2.3