/head: changeset 5
Updated
This commit is contained in:
		@@ -17,7 +17,7 @@
 | 
			
		||||
#    along with this program; if not, write to the Free Software
 | 
			
		||||
#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 | 
			
		||||
 | 
			
		||||
from imapsync import imaplib
 | 
			
		||||
from imapsync import imaplib, imaputil, imapserver
 | 
			
		||||
import re
 | 
			
		||||
import getpass
 | 
			
		||||
 | 
			
		||||
@@ -25,10 +25,6 @@ host = raw_input('Host: ')
 | 
			
		||||
user = raw_input('Username: ')
 | 
			
		||||
passwd = getpass.getpass('Password: ')
 | 
			
		||||
 | 
			
		||||
imapobj = imaplib.IMAP4_SSL(host)
 | 
			
		||||
imapobj.login(user, passwd)
 | 
			
		||||
 | 
			
		||||
def parselistresult(liststr):
 | 
			
		||||
    return re.match('^(\(.*\))\s+(\".*\")\s+(\".*\")$', liststr).groups()
 | 
			
		||||
 | 
			
		||||
delim, root = parselistresult(imapobj.list('""', '""')[1][0])[1:]
 | 
			
		||||
server = imapserver.IMAPServer(user, passwd, host, ssl = 1)
 | 
			
		||||
imapobj = server.makeconnection()
 | 
			
		||||
delim, root = imaputil.imapsplit(imapobj.list('""', '""')[1][0])[1:]
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										0
									
								
								head/offlineimap/folder/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								head/offlineimap/folder/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										47
									
								
								head/offlineimap/imapserver.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								head/offlineimap/imapserver.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,47 @@
 | 
			
		||||
# IMAP server support
 | 
			
		||||
# Copyright (C) 2002 John Goerzen
 | 
			
		||||
# <jgoerzen@complete.org>
 | 
			
		||||
#
 | 
			
		||||
#    This program is free software; you can redistribute it and/or modify
 | 
			
		||||
#    it under the terms of the GNU General Public License as published by
 | 
			
		||||
#    the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
#    (at your option) any later version.
 | 
			
		||||
#
 | 
			
		||||
#    This program is distributed in the hope that it will be useful,
 | 
			
		||||
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
#    GNU General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
#    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
 | 
			
		||||
 | 
			
		||||
from imapsync import imaplib
 | 
			
		||||
 | 
			
		||||
class IMAPServer:
 | 
			
		||||
    def __init__(self, username, password, hostname, port = None, ssl = 1):
 | 
			
		||||
        self.username = username
 | 
			
		||||
        self.password = password
 | 
			
		||||
        self.hostname = hostname
 | 
			
		||||
        self.port = port
 | 
			
		||||
        self.usessl = ssl
 | 
			
		||||
        if port == None:
 | 
			
		||||
            if ssl:
 | 
			
		||||
                self.port = 993
 | 
			
		||||
            else:
 | 
			
		||||
                self.port = 143
 | 
			
		||||
 | 
			
		||||
    def makeconnection(self):
 | 
			
		||||
        """Opens a connection to the server and returns an appropriate
 | 
			
		||||
        object."""
 | 
			
		||||
 | 
			
		||||
        imapobj = None
 | 
			
		||||
        if self.usessl:
 | 
			
		||||
            imapobj = imaplib.IMAP4_SSL(self.hostname, self.port)
 | 
			
		||||
        else:
 | 
			
		||||
            imapobj = imaplib.IMAP4(self.hostname, self.port)
 | 
			
		||||
 | 
			
		||||
        imapobj.login(self.username, self.password)
 | 
			
		||||
        return imapobj
 | 
			
		||||
    
 | 
			
		||||
        
 | 
			
		||||
							
								
								
									
										23
									
								
								head/offlineimap/repository/Base.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								head/offlineimap/repository/Base.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,23 @@
 | 
			
		||||
# Base repository support
 | 
			
		||||
# Copyright (C) 2002 John Goerzen
 | 
			
		||||
# <jgoerzen@complete.org>
 | 
			
		||||
#
 | 
			
		||||
#    This program is free software; you can redistribute it and/or modify
 | 
			
		||||
#    it under the terms of the GNU General Public License as published by
 | 
			
		||||
#    the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
#    (at your option) any later version.
 | 
			
		||||
#
 | 
			
		||||
#    This program is distributed in the hope that it will be useful,
 | 
			
		||||
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
#    GNU General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
#    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
 | 
			
		||||
 | 
			
		||||
class BaseRepository:
 | 
			
		||||
    def getfolders(self):
 | 
			
		||||
        """Returns a list of ALL folders on this server."""
 | 
			
		||||
        return []
 | 
			
		||||
    
 | 
			
		||||
							
								
								
									
										26
									
								
								head/offlineimap/repository/IMAP.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								head/offlineimap/repository/IMAP.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,26 @@
 | 
			
		||||
# IMAP repository support
 | 
			
		||||
# Copyright (C) 2002 John Goerzen
 | 
			
		||||
# <jgoerzen@complete.org>
 | 
			
		||||
#
 | 
			
		||||
#    This program is free software; you can redistribute it and/or modify
 | 
			
		||||
#    it under the terms of the GNU General Public License as published by
 | 
			
		||||
#    the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
#    (at your option) any later version.
 | 
			
		||||
#
 | 
			
		||||
#    This program is distributed in the hope that it will be useful,
 | 
			
		||||
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
#    GNU General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
#    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
 | 
			
		||||
 | 
			
		||||
from Base import BaseRepository
 | 
			
		||||
 | 
			
		||||
class IMAPRepository(BaseRepository):
 | 
			
		||||
    def __init__(self, imapserver):
 | 
			
		||||
        """Initialize an IMAPRepository object.  Takes an IMAPServer
 | 
			
		||||
        object."""
 | 
			
		||||
        self.imapserver = imapserver
 | 
			
		||||
        
 | 
			
		||||
							
								
								
									
										0
									
								
								head/offlineimap/repository/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								head/offlineimap/repository/__init__.py
									
									
									
									
									
										Normal file
									
								
							
		Reference in New Issue
	
	Block a user