]> code.delx.au - offlineimap/blobdiff - offlineimap/repository/IMAP.py
Retabified
[offlineimap] / offlineimap / repository / IMAP.py
index 8548b6d9cdf800dc0cfe21b780ddb4ffaad7be69..944ca8f69dd64b9f8a7f8a9002ab12b570e81868 100644 (file)
@@ -85,10 +85,30 @@ class IMAPRepository(BaseRepository):
         return self.imapserver.delim
 
     def gethost(self):
-        return self.getconf('remotehost')
+        host = None
+        localeval = self.localeval
+
+        if self.config.has_option(self.getsection(), 'remotehosteval'):
+            host = self.getconf('remotehosteval')
+        if host != None:
+            return localeval.eval(host)
+
+        host = self.getconf('remotehost')
+        if host != None:
+            return host
 
     def getuser(self):
-        return self.getconf('remoteuser')
+        user = None
+        localeval = self.localeval
+
+        if self.config.has_option(self.getsection(), 'remoteusereval'):
+            user = self.getconf('remoteusereval')
+        if user != None:
+            return localeval.eval(user)
+
+        user = self.getconf('remoteuser')
+        if user != None:
+            return user
 
     def getport(self):
         return self.getconfint('remoteport', None)
@@ -109,6 +129,14 @@ class IMAPRepository(BaseRepository):
         return self.getconfboolean('expunge', 1)
 
     def getpassword(self):
+        passwd = None
+        localeval = self.localeval
+
+        if self.config.has_option(self.getsection(), 'remotepasseval'):
+            passwd = self.getconf('remotepasseval')
+        if passwd != None:
+            return localeval.eval(passwd)
+
         password = self.getconf('remotepass', None)
         if password != None:
             return password