/head: changeset 5
Updated
This commit is contained in:
		@@ -17,7 +17,7 @@
 | 
				
			|||||||
#    along with this program; if not, write to the Free Software
 | 
					#    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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from imapsync import imaplib
 | 
					from imapsync import imaplib, imaputil, imapserver
 | 
				
			||||||
import re
 | 
					import re
 | 
				
			||||||
import getpass
 | 
					import getpass
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -25,10 +25,6 @@ host = raw_input('Host: ')
 | 
				
			|||||||
user = raw_input('Username: ')
 | 
					user = raw_input('Username: ')
 | 
				
			||||||
passwd = getpass.getpass('Password: ')
 | 
					passwd = getpass.getpass('Password: ')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
imapobj = imaplib.IMAP4_SSL(host)
 | 
					server = imapserver.IMAPServer(user, passwd, host, ssl = 1)
 | 
				
			||||||
imapobj.login(user, passwd)
 | 
					imapobj = server.makeconnection()
 | 
				
			||||||
 | 
					delim, root = imaputil.imapsplit(imapobj.list('""', '""')[1][0])[1:]
 | 
				
			||||||
def parselistresult(liststr):
 | 
					 | 
				
			||||||
    return re.match('^(\(.*\))\s+(\".*\")\s+(\".*\")$', liststr).groups()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
delim, root = parselistresult(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