summaryrefslogtreecommitdiffstats
path: root/Notmuch
diff options
context:
space:
mode:
authortv <tv@shackspace.de>2015-01-07 04:45:05 +0100
committertv <tv@shackspace.de>2015-01-07 04:45:05 +0100
commit893720cd7111828b65c66e0051c4c91e4405a740 (patch)
treef0255e25247adadafa2a025d556508f1800915fd /Notmuch
parent8197ab250f92ec92e01776d96b14c53ffd84190b (diff)
show part content size
Diffstat (limited to 'Notmuch')
-rw-r--r--Notmuch/Message.hs6
1 files changed, 6 insertions, 0 deletions
diff --git a/Notmuch/Message.hs b/Notmuch/Message.hs
index 48fdfeb..d458c5f 100644
--- a/Notmuch/Message.hs
+++ b/Notmuch/Message.hs
@@ -40,6 +40,12 @@ instance Eq MessagePart where
a == b = partID a == partID b
+contentSize :: MessageContent -> Int
+contentSize (ContentText text) = T.length text
+contentSize (ContentMultipart parts) = sum $ map (contentSize . partContent) parts
+contentSize (ContentMsgRFC822 xs) = sum $ map (sum . map (contentSize . partContent) . snd) xs
+
+
parseRFC822 :: V.Vector Value -> Parser MessageContent
parseRFC822 lst = ContentMsgRFC822 . V.toList <$> V.mapM p lst
where