aboutsummaryrefslogtreecommitdiff
path: root/tea-cleaner/Main.hs
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2025-04-13 12:10:56 +0200
committerEugen Wissner <belka@caraus.de>2025-04-13 12:10:56 +0200
commit0e6de99821d2262ada8e277fba1eb6059858ea41 (patch)
tree7a2c6f2d11e7c696eabd92cc8db2d955d3ed4f3c /tea-cleaner/Main.hs
parent5a4c882d409e4051001cdd64cbcef9a98fc2c6cf (diff)
downloadkazbek-0e6de99821d2262ada8e277fba1eb6059858ea41.tar.gz
tea-cleaner: Make no login period configurable
Diffstat (limited to 'tea-cleaner/Main.hs')
-rw-r--r--tea-cleaner/Main.hs18
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