diff options
author | Joey Hess <joey@kitenet.net> | 2012-08-28 14:19:11 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2012-08-28 14:19:11 -0400 |
commit | 1296cfb09a763878e7b9376f59aabf60fb8d7314 (patch) | |
tree | 01123e18dd0ae4419100f75cca2036387179e0c8 /Logs | |
parent | 7024a973b222c32f44a7168532afae520e7474ed (diff) |
avoid possibly re-adding a removed transfer when updating its info
Doesn't fix the bug I thought it'd fix, but is clearly correct.
Diffstat (limited to 'Logs')
-rw-r--r-- | Logs/Transfer.hs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/Logs/Transfer.hs b/Logs/Transfer.hs index a10ffa7d7..b8938ee69 100644 --- a/Logs/Transfer.hs +++ b/Logs/Transfer.hs @@ -215,6 +215,14 @@ readTransferInfo mpid s = (bits, filebits) = splitAt 1 $ lines s filename = join "\n" filebits +{- Preserves the old transferTid and transferPaused values, + - which are not written to disk. -} +mergeTransferInfo :: TransferInfo -> TransferInfo -> TransferInfo +mergeTransferInfo new old = new + { transferTid = maybe (transferTid new) Just (transferTid old) + , transferPaused = transferPaused new || transferPaused old + } + parsePOSIXTime :: String -> Maybe POSIXTime parsePOSIXTime s = utcTimeToPOSIXSeconds <$> parseTime defaultTimeLocale "%s%Qs" s |