diff options
| author | Eugen Wissner <belka@caraus.de> | 2025-04-13 12:10:56 +0200 |
|---|---|---|
| committer | Eugen Wissner <belka@caraus.de> | 2025-04-13 12:10:56 +0200 |
| commit | 0e6de99821d2262ada8e277fba1eb6059858ea41 (patch) | |
| tree | 7a2c6f2d11e7c696eabd92cc8db2d955d3ed4f3c /tea-cleaner/Main.hs | |
| parent | 5a4c882d409e4051001cdd64cbcef9a98fc2c6cf (diff) | |
| download | kazbek-0e6de99821d2262ada8e277fba1eb6059858ea41.tar.gz | |
tea-cleaner: Make no login period configurable
Diffstat (limited to 'tea-cleaner/Main.hs')
| -rw-r--r-- | tea-cleaner/Main.hs | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/tea-cleaner/Main.hs b/tea-cleaner/Main.hs index 5433394..e8eea68 100644 --- a/tea-cleaner/Main.hs +++ b/tea-cleaner/Main.hs @@ -42,20 +42,20 @@ printStatistics Settings{ statistics } = $ "Count: " <> count' handleResults :: Settings -> Bool -> Vector FilterResult -> IO (Vector User) -handleResults settings liveRun = +handleResults settings live = Vector.foldM' handleResult Vector.empty where handleResult accumulator (FilterResult user FailedFilter) - = handleFailedFilter settings liveRun user + = handleFailedFilter settings live user >> pure accumulator handleResult accumulator (FilterResult _ PassFilter) = pure accumulator handleResult accumulator (FilterResult user SuspiciousFilter) = pure $ Vector.snoc accumulator user handleFailedFilter :: Settings -> Bool -> User -> IO () -handleFailedFilter settings liveRun user = Text.IO.putStrLn buildValue +handleFailedFilter settings live user = Text.IO.putStrLn buildValue >> modifyIORef (getField @"statistics" settings) (+ 1) - >> when liveRun (purgeUser settings user) + >> when live (purgeUser settings user) where buildValue = getField @"username" user <> "\n" <> " Website: " <> getField @"website" user <> "\n" @@ -70,12 +70,12 @@ handleFailedFilter settings liveRun user = Text.IO.putStrLn buildValue main :: IO () main = execParser commandLineInfo >>= withArguments where - withArguments ProgramOptions{ liveRun } = decodeSettingsFile "config/tea-cleaner.toml" - >>= withSettings liveRun + withArguments ProgramOptions{ live } = decodeSettingsFile "config/tea-cleaner.toml" + >>= withSettings live withSettings :: Bool -> Settings -> IO () -withSettings liveRun settings = getUsers settings - >>= handleResults settings liveRun . fmap (filterByUserProperties settings) +withSettings live settings = getUsers settings + >>= handleResults settings live . fmap (filterByUserProperties settings) >>= traverse (filterByActivities settings) - >>= handleResults settings liveRun + >>= handleResults settings live >> printStatistics settings |
