]> code.delx.au - offlineimap/blobdiff - offlineimap/repository/IMAP.py
UNDO: Added netrc support
[offlineimap] / offlineimap / repository / IMAP.py
index db243b90fb104787b9c0c1e88e4f9fb7609c2c9c..33987e29cd4a5aecefd80acc78ec5adbb0ce6cc4 100644 (file)
@@ -14,7 +14,7 @@
 #
 #    You should have received a copy of the GNU General Public License
 #    along with this program; if not, write to the Free Software
-#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+#    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 
 from Base import BaseRepository
 from offlineimap import folder, imaputil, imapserver
@@ -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
@@ -117,7 +145,7 @@ class IMAPRepository(BaseRepository):
             fd = open(os.path.expanduser(passfile))
             password = fd.readline().strip()
             fd.close()
-            return password
+           return password
         return None
 
     def getfolder(self, foldername):