summaryrefslogtreecommitdiff
path: root/Assistant/XMPP
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2012-11-14 19:32:27 -0400
committerGravatar Joey Hess <joey@kitenet.net>2012-11-14 19:32:27 -0400
commit50548a7496bd72dcdd5b582f88c9bcad3522f3f9 (patch)
tree82e32a34601713b2ee49f352bfcaf93b91721727 /Assistant/XMPP
parentdb1f42f93da8749282e58194eb57dc3e7cb03484 (diff)
factor out Creds
Diffstat (limited to 'Assistant/XMPP')
-rw-r--r--Assistant/XMPP/Client.hs25
1 files changed, 7 insertions, 18 deletions
diff --git a/Assistant/XMPP/Client.hs b/Assistant/XMPP/Client.hs
index 8ab0c2857..c2a86cb41 100644
--- a/Assistant/XMPP/Client.hs
+++ b/Assistant/XMPP/Client.hs
@@ -8,8 +8,8 @@
module Assistant.XMPP.Client where
import Assistant.Common
-import Utility.FileMode
import Utility.SRV
+import Creds
import Network.Protocol.XMPP
import Network
@@ -63,23 +63,12 @@ runClientError :: Server -> JID -> T.Text -> T.Text -> XMPP a -> IO a
runClientError s j u p x = either (error . show) return =<< runClient s j u p x
getXMPPCreds :: Annex (Maybe XMPPCreds)
-getXMPPCreds = do
- f <- xmppCredsFile
- s <- liftIO $ catchMaybeIO $ readFile f
- return $ readish =<< s
+getXMPPCreds = parse <$> readCacheCreds xmppCredsFile
+ where
+ parse s = readish =<< s
setXMPPCreds :: XMPPCreds -> Annex ()
-setXMPPCreds creds = do
- f <- xmppCredsFile
- liftIO $ do
- createDirectoryIfMissing True (parentDir f)
- h <- openFile f WriteMode
- modifyFileMode f $ removeModes
- [groupReadMode, otherReadMode]
- hPutStr h (show creds)
- hClose h
+setXMPPCreds creds = writeCacheCreds (show creds) xmppCredsFile
-xmppCredsFile :: Annex FilePath
-xmppCredsFile = do
- dir <- fromRepo gitAnnexCredsDir
- return $ dir </> "xmpp"
+xmppCredsFile :: FilePath
+xmppCredsFile = "xmpp"