summaryrefslogtreecommitdiff
path: root/src/Data
diff options
context:
space:
mode:
Diffstat (limited to 'src/Data')
-rw-r--r--src/Data/Torrent.hs4
-rw-r--r--src/Data/Torrent/InfoHash.hs10
2 files changed, 5 insertions, 9 deletions
diff --git a/src/Data/Torrent.hs b/src/Data/Torrent.hs
index d6227b6f..b3ac7586 100644
--- a/src/Data/Torrent.hs
+++ b/src/Data/Torrent.hs
@@ -78,10 +78,10 @@ import Data.ByteString as BS
78import qualified Data.ByteString.Char8 as BC (pack, unpack) 78import qualified Data.ByteString.Char8 as BC (pack, unpack)
79import qualified Data.ByteString.Lazy as BL 79import qualified Data.ByteString.Lazy as BL
80import Data.Char as Char 80import Data.Char as Char
81import Data.Convertible
81import Data.Default 82import Data.Default
82import Data.Hashable as Hashable 83import Data.Hashable as Hashable
83import qualified Data.List as L 84import qualified Data.List as L
84import Data.Maybe
85import Data.Text as T 85import Data.Text as T
86import Data.Time 86import Data.Time
87import Data.Time.Clock.POSIX 87import Data.Time.Clock.POSIX
@@ -155,7 +155,7 @@ putPrivate True = \ cont -> "private" .=! True .: cont
155 155
156-- | Hash lazy bytestring using SHA1 algorithm. 156-- | Hash lazy bytestring using SHA1 algorithm.
157hashLazyIH :: BL.ByteString -> InfoHash 157hashLazyIH :: BL.ByteString -> InfoHash
158hashLazyIH = fromMaybe (error msg) . byteStringToInfoHash . C.hashlazy 158hashLazyIH = either (const (error msg)) id . safeConvert . C.hashlazy
159 where 159 where
160 msg = "Infohash.hash: impossible: SHA1 is always 20 bytes long" 160 msg = "Infohash.hash: impossible: SHA1 is always 20 bytes long"
161 161
diff --git a/src/Data/Torrent/InfoHash.hs b/src/Data/Torrent/InfoHash.hs
index 7442c61c..08cee3c9 100644
--- a/src/Data/Torrent/InfoHash.hs
+++ b/src/Data/Torrent/InfoHash.hs
@@ -15,7 +15,6 @@ module Data.Torrent.InfoHash
15 ( InfoHash 15 ( InfoHash
16 16
17 -- * Parsing 17 -- * Parsing
18 , byteStringToInfoHash
19 , textToInfoHash 18 , textToInfoHash
20 19
21 -- * Rendering 20 -- * Rendering
@@ -163,12 +162,9 @@ instance FromJSON InfoHash where
163ignoreErrorMsg :: Either a b -> Maybe b 162ignoreErrorMsg :: Either a b -> Maybe b
164ignoreErrorMsg = either (const Nothing) Just 163ignoreErrorMsg = either (const Nothing) Just
165 164
166-- | TODO remove from API 165-- | Tries both base16 and base32 while decoding info hash.
167byteStringToInfoHash :: BS.ByteString -> Maybe InfoHash 166--
168byteStringToInfoHash = ignoreErrorMsg . safeConvert 167-- Use 'safeConvert' for detailed error messages.
169
170-- | Tries both base16 and base32 while decoding info hash. To Use
171-- 'safeConvert' to find out
172-- 168--
173textToInfoHash :: Text -> Maybe InfoHash 169textToInfoHash :: Text -> Maybe InfoHash
174textToInfoHash = ignoreErrorMsg . safeConvert 170textToInfoHash = ignoreErrorMsg . safeConvert