From d1a81e08acb2fc34a2a1f72fde979fbe66dea24e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Smr=C5=BE?= Date: Wed, 22 May 2019 21:09:15 +0200 Subject: Simple identity name formatting --- src/Identity.hs | 9 +++++++++ src/Main.hs | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/Identity.hs b/src/Identity.hs index ff63353..96346d8 100644 --- a/src/Identity.hs +++ b/src/Identity.hs @@ -2,9 +2,12 @@ module Identity ( Identity, IdentityData(..), emptyIdentity, finalOwner, + displayIdentity, ) where +import Data.Maybe import Data.Text (Text) +import qualified Data.Text as T import PubKey import Storage @@ -51,3 +54,9 @@ unfoldOwners cur = cur : case idOwner $ fromStored $ signedData $ fromStored cur finalOwner :: Stored Identity -> Stored Identity finalOwner = last . unfoldOwners + +displayIdentity :: Stored Identity -> Text +displayIdentity sidentity = T.concat + [ T.intercalate (T.pack " / ") $ map (fromMaybe (T.pack "") . idName . fromStored . signedData . fromStored) owners + ] + where owners = reverse $ unfoldOwners sidentity diff --git a/src/Main.hs b/src/Main.hs index 35f5a23..e6e9d9c 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -77,14 +77,14 @@ main = do erebosHead <- loadErebosHead st let serebos = wrappedLoad (headRef erebosHead) :: Stored Erebos self = erbIdentity $ fromStored serebos - print $ fromStored self + T.putStrLn $ displayIdentity self (chanPeer, chanSvc) <- startServer bhost $ erbIdentity $ fromStored serebos void $ forkIO $ void $ forever $ do peer@Peer { peerAddress = DatagramAddress addr } <- readChan chanPeer print addr - putStrLn $ maybe "" show $ peerIdentity peer + T.putStrLn $ maybe (T.pack "") displayIdentity $ peerIdentity peer if | Just powner <- finalOwner <$> peerIdentity peer , _:_ <- peerChannels peer -> do -- cgit v1.2.3