Compare commits

..

No commits in common. "dab82e12f541f5dacaffd224c388b7846524aa70" and "4749cc3e7358621ed8c90fb00f2bc2ae927ceb40" have entirely different histories.

3 changed files with 11 additions and 29 deletions

View File

@ -10,7 +10,7 @@
#:use-module (gnu packages haskell-crypto)
#:use-module (gnu packages haskell-check)
#:use-module (gnu packages haskell-web)
#:use-module (gnu packages golang-web)
#:use-module (gnu packages golang)
#:use-module (gnu packages version-control))
(define vcs-file?
@ -23,7 +23,8 @@
(version "0.0.1-git")
(source (local-file "../.." "tiedote-md-checkout"
#:recursive? #t
#:select? vcs-file?))
#:select? vcs-file?
))
(build-system haskell-build-system)
(inputs (list ghc-acid-state
ghc-cryptonite

View File

@ -3,7 +3,7 @@
(url "https://git.savannah.gnu.org/git/guix.git")
(branch "master")
(commit
"a6fc564bcc32ba599fc701f340c2d59c47bb225b")
"ee0cf3b9ff4cd5a9d3637d09677195ea9ee1a8c0")
(introduction
(make-channel-introduction
"9edb3f66fd807b096b48283debdcddccfea34bad"

View File

@ -19,8 +19,7 @@ import Data.Maybe (catMaybes)
import Data.Maybe (listToMaybe, fromMaybe)
import Data.Ord (comparing)
import Data.Text.Encoding (encodeUtf8, decodeUtf8)
import Data.Time (getCurrentTime, diffUTCTime, nominalDay, secondsToNominalDiffTime)
import Data.Time.Format (formatTime, defaultTimeLocale)
import Data.Time (getCurrentTime)
import System.Random (getStdRandom, uniform)
import qualified Data.ByteString as BS
@ -61,28 +60,10 @@ managePreviews acid sender sendmailPath = forever $ do
threadDelay $ 1000 * 1000
sendRecipientVerifications :: MIMEMessage -> Mailbox -> FilePath -> Message -> IO ()
sendRecipientVerifications mail sender sendmailPath Message {..} = do
currentTime <- getCurrentTime
let recipientCount = T.pack $ show $ length recipients
formattedSendTime = T.pack $ formatTime defaultTimeLocale "%d.%m.%Y klo %H.%M (UTC%Ez)" sendTime
formatTimeDiff timediff
| timediff > nominalDay = formatTime defaultTimeLocale
"%d päivän, %H tunnin ja %M minuutin päästä" timediff
| timediff > secondsToNominalDiffTime 3600 = formatTime defaultTimeLocale
"%h tunnin ja %M minuutin päästä" timediff
| timediff > secondsToNominalDiffTime (10 * 60) = formatTime defaultTimeLocale
"%m minuutin päästä" timediff
| timediff > secondsToNominalDiffTime 60 = formatTime defaultTimeLocale
"%m minuutin ja %S sekunnin päästä" timediff
| otherwise = formatTime defaultTimeLocale "%s sekunnin päästä" timediff
sendingAfter = T.pack $ formatTimeDiff $ diffUTCTime sendTime currentTime
sendmail sendmailPath $
sendRecipientVerifications mail sender sendmailPath Message {..} = sendmail sendmailPath $
toLazyByteString $ buildMessage $
setHeaderCC previewTo $
set body (Part $ encodeUtf8 $
(("Viesti lähetetään seuraaviin " <> recipientCount <> " osoitteiseen " <> formattedSendTime <>
", eli " <> sendingAfter <> ". Lähetä vastauksena uusi lista, mikäli tämä on" <>
" virheellinen.\n\n") <>) $
set body (Part $ encodeUtf8 $ ("Viesti lähetetään seuraaviin osoitteisiin. Lähetä vastauksena uusi lista, mikäli tämä on virheellinen.\n\n" <>) $
T.intercalate "\n" $ map (decodeUtf8 . emailToByteString) recipients) $
reply defaultCharsets (replySettings sender) mail
where addressToMailboxes (Single mb) = [mb]