Print diffTime %H:%M:%S for each change
This commit is contained in:
parent
07d0311ed5
commit
40eb73a48b
12
src/Main.hs
12
src/Main.hs
|
@ -4,12 +4,15 @@ import Data.Char
|
||||||
import Control.Concurrent
|
import Control.Concurrent
|
||||||
import System.Environment
|
import System.Environment
|
||||||
import Data.Time.Clock
|
import Data.Time.Clock
|
||||||
|
import Data.Time.Format
|
||||||
|
import Data.Time.Clock.POSIX
|
||||||
import Network.HTTP.Conduit
|
import Network.HTTP.Conduit
|
||||||
import Data.List.Split
|
import Data.List.Split
|
||||||
import Data.Algorithm.Diff
|
import Data.Algorithm.Diff
|
||||||
import Data.Algorithm.DiffOutput
|
import Data.Algorithm.DiffOutput
|
||||||
import qualified Data.ByteString.Lazy.Char8 as L8
|
import qualified Data.ByteString.Lazy.Char8 as L8
|
||||||
|
|
||||||
|
|
||||||
data GeneratorState = IsRunning | IsFinished
|
data GeneratorState = IsRunning | IsFinished
|
||||||
deriving (Eq)
|
deriving (Eq)
|
||||||
|
|
||||||
|
@ -21,12 +24,21 @@ getChanges _ = False
|
||||||
showRunning :: [String] -> GeneratorState
|
showRunning :: [String] -> GeneratorState
|
||||||
showRunning html = IsRunning
|
showRunning html = IsRunning
|
||||||
|
|
||||||
|
myFormatDiffTime :: (UTCTime, UTCTime) -> String
|
||||||
|
myFormatDiffTime (a,b)= formatTime defaultTimeLocale "%H:%M:%S" . posixSecondsToUTCTime $ diffUTCTime a b
|
||||||
|
|
||||||
|
hasDiff :: [a] -> Bool
|
||||||
|
hasDiff [] = False
|
||||||
|
hasDiff _ = True
|
||||||
|
|
||||||
timecodeGenerator :: GeneratorState -> [String] -> UTCTime -> IO ()
|
timecodeGenerator :: GeneratorState -> [String] -> UTCTime -> IO ()
|
||||||
timecodeGenerator IsFinished _ _ = return ()
|
timecodeGenerator IsFinished _ _ = return ()
|
||||||
timecodeGenerator IsRunning text time = do
|
timecodeGenerator IsRunning text time = do
|
||||||
html <- simpleHttp "https://hd.socks.town/s/h0jnEJQWy/download"
|
html <- simpleHttp "https://hd.socks.town/s/h0jnEJQWy/download"
|
||||||
|
currTime <- getCurrentTime
|
||||||
let body = (splitOn ("\n")) . L8.unpack $ html
|
let body = (splitOn ("\n")) . L8.unpack $ html
|
||||||
print $ filter getChanges $ getDiff body text
|
print $ filter getChanges $ getDiff body text
|
||||||
|
print $ myFormatDiffTime (currTime, time)
|
||||||
-- Waiting for 1 second
|
-- Waiting for 1 second
|
||||||
threadDelay 1000000
|
threadDelay 1000000
|
||||||
-- Creating a loop until `IsFinished`
|
-- Creating a loop until `IsFinished`
|
||||||
|
|
Loading…
Reference in a new issue