diff options
author | Sean Whitton <spwhitton@spwhitton.name> | 2022-05-22 14:52:14 -0700 |
---|---|---|
committer | Sean Whitton <spwhitton@spwhitton.name> | 2022-05-22 14:52:14 -0700 |
commit | a49322636dc8671e959f68b13791e596c65a3338 (patch) | |
tree | 6b82ca7f4588b36b487aad5aa10fd1207256cd13 /Gpg/Wot.hs | |
parent | 31f68db1ac80bb163e040dcb15a0cf6009e0260c (diff) | |
parent | dc753f6815f5b8906ae54ebee801b72c60cdef3a (diff) | |
download | debug-me-a49322636dc8671e959f68b13791e596c65a3338.tar.gz |
Merge tag '1.20220324'
tagging package debug-me version 1.20220324
# gpg: Signature made Thu 24 Mar 2022 09:28:11 AM MST
# gpg: using RSA key 28A500C35207EAB72F6C0F25DB12DB0FF05F8F38
# gpg: Good signature from "Joey Hess <joeyh@joeyh.name>" [full]
# Primary key fingerprint: E85A 5F63 B31D 24C1 EBF0 D81C C910 D922 2512 E3C7
# Subkey fingerprint: 28A5 00C3 5207 EAB7 2F6C 0F25 DB12 DB0F F05F 8F38
Diffstat (limited to 'Gpg/Wot.hs')
-rw-r--r-- | Gpg/Wot.hs | 13 |
1 files changed, 12 insertions, 1 deletions
@@ -3,6 +3,7 @@ - Licensed under the GNU AGPL version 3 or higher. -} +{-# LANGUAGE CPP #-} {-# LANGUAGE DeriveGeneric #-} -- | Gpg web of trust checking, using wotsap's JSON output @@ -15,8 +16,13 @@ import JSON import Network.HTTP.Client import Network.HTTP.Client.TLS import Data.List -import qualified Data.HashMap.Strict as M import qualified Data.Text as T +#if MIN_VERSION_aeson(2, 0, 0) +import qualified Data.Aeson.KeyMap as AM +import qualified Data.Aeson.Key as AK +#else +import qualified Data.HashMap.Strict as M +#endif data WotStats = WotStats { key :: Node @@ -43,9 +49,14 @@ data Node = Node -- | wotsap's json has some upper-case fields; lowercase field for parsing jsonLower :: Value -> Value +#if MIN_VERSION_aeson(2, 0, 0) +jsonLower (Object o) = Object . AM.mapKeyVal lowerKey id $ o + where lowerKey = AK.fromText . T.toLower . AK.toText +#else jsonLower (Object o) = Object . M.fromList . map lowerPair . M.toList $ o where lowerPair (k, v) = (T.toLower k, v) +#endif jsonLower x = x instance FromJSON WotStats where |