/head: changeset 84
Fixed read-only folders and UW flag case-sensitivity. Readied 2.0.4.
This commit is contained in:
parent
f56e3dbdf2
commit
98981a6cf0
@ -1,3 +1,23 @@
|
|||||||
|
2002-07-05 09:22 jgoerzen
|
||||||
|
|
||||||
|
* TODO, debian/changelog, offlineimap/imaputil.py,
|
||||||
|
offlineimap/folder/IMAP.py, offlineimap/repository/IMAP.py: Fixed
|
||||||
|
read-only folders and UW flag case-sensitivity. Readied 2.0.4.
|
||||||
|
|
||||||
|
2002-07-04 21:32 jgoerzen
|
||||||
|
|
||||||
|
* offlineimap/version.py: Updated for 2.0.3
|
||||||
|
|
||||||
|
2002-07-04 20:46 jgoerzen
|
||||||
|
|
||||||
|
* offlineimap.conf, offlineimap.py, debian/changelog,
|
||||||
|
offlineimap/imapserver.py, offlineimap/repository/IMAP.py: Modified
|
||||||
|
to allow specifying a reference
|
||||||
|
|
||||||
|
2002-07-04 15:36 jgoerzen
|
||||||
|
|
||||||
|
* ChangeLog: Built for 2.0.2
|
||||||
|
|
||||||
2002-07-04 15:36 jgoerzen
|
2002-07-04 15:36 jgoerzen
|
||||||
|
|
||||||
* debian/changelog: Updated with tunnel feature
|
* debian/changelog: Updated with tunnel feature
|
||||||
|
@ -1,2 +1,4 @@
|
|||||||
* Add an option to handle the network exception that results if a connection
|
* Add an option to handle the network exception that results if a connection
|
||||||
to the IMAP server fails, or there is another socket error.
|
to the IMAP server fails, or there is another socket error.
|
||||||
|
|
||||||
|
* Force unidirectional sync for read-only folders.
|
@ -1,3 +1,11 @@
|
|||||||
|
offlineimap (2.0.4) unstable; urgency=low
|
||||||
|
|
||||||
|
* Made OfflineIMAP at least rudimentarily compatible with read-only
|
||||||
|
folders. It will still fail if they get modified locally, though.
|
||||||
|
* Flags are handled case-insensitively. Closes: #151993.
|
||||||
|
|
||||||
|
-- John Goerzen <jgoerzen@complete.org> Fri, 5 Jul 2002 09:10:29 -0500
|
||||||
|
|
||||||
offlineimap (2.0.3) unstable; urgency=low
|
offlineimap (2.0.3) unstable; urgency=low
|
||||||
|
|
||||||
* Added support for specifying references. Closes: #151960.
|
* Added support for specifying references. Closes: #151960.
|
||||||
|
@ -55,7 +55,10 @@ class IMAPFolder(BaseFolder):
|
|||||||
def cachemessagelist(self):
|
def cachemessagelist(self):
|
||||||
imapobj = self.imapserver.acquireconnection()
|
imapobj = self.imapserver.acquireconnection()
|
||||||
try:
|
try:
|
||||||
imapobj.select(self.getfullname())
|
try:
|
||||||
|
imapobj.select(self.getfullname()) # Needed for fetch below
|
||||||
|
except imapobj.readonly:
|
||||||
|
pass
|
||||||
self.messagelist = {}
|
self.messagelist = {}
|
||||||
response = imapobj.status(self.getfullname(), '(MESSAGES)')[1][0]
|
response = imapobj.status(self.getfullname(), '(MESSAGES)')[1][0]
|
||||||
result = imaputil.imapsplit(response)[1]
|
result = imaputil.imapsplit(response)[1]
|
||||||
@ -81,8 +84,11 @@ class IMAPFolder(BaseFolder):
|
|||||||
|
|
||||||
def getmessage(self, uid):
|
def getmessage(self, uid):
|
||||||
imapobj = self.imapserver.acquireconnection()
|
imapobj = self.imapserver.acquireconnection()
|
||||||
|
try:
|
||||||
try:
|
try:
|
||||||
imapobj.select(self.getfullname())
|
imapobj.select(self.getfullname())
|
||||||
|
except imapobj.readonly:
|
||||||
|
pass
|
||||||
return imapobj.uid('fetch', '%d' % uid, '(BODY.PEEK[])')[1][0][1].replace("\r\n", "\n")
|
return imapobj.uid('fetch', '%d' % uid, '(BODY.PEEK[])')[1][0][1].replace("\r\n", "\n")
|
||||||
finally:
|
finally:
|
||||||
self.imapserver.releaseconnection(imapobj)
|
self.imapserver.releaseconnection(imapobj)
|
||||||
|
@ -76,13 +76,13 @@ def imapsplit(string):
|
|||||||
return retval
|
return retval
|
||||||
|
|
||||||
def flagsimap2maildir(string):
|
def flagsimap2maildir(string):
|
||||||
flagmap = {'\\Seen': 'S',
|
flagmap = {'\\seen': 'S',
|
||||||
'\\Answered': 'R',
|
'\\answered': 'R',
|
||||||
'\\Flagged': 'F',
|
'\\flagged': 'F',
|
||||||
'\\Deleted': 'T',
|
'\\deleted': 'T',
|
||||||
'\\Draft': 'D'}
|
'\\draft': 'D'}
|
||||||
retval = []
|
retval = []
|
||||||
imapflaglist = flagsplit(string)
|
imapflaglist = [x.lower() for x in flagsplit(string)]
|
||||||
for imapflag in imapflaglist:
|
for imapflag in imapflaglist:
|
||||||
if flagmap.has_key(imapflag):
|
if flagmap.has_key(imapflag):
|
||||||
retval.append(flagmap[imapflag])
|
retval.append(flagmap[imapflag])
|
||||||
|
@ -55,7 +55,8 @@ class IMAPRepository(BaseRepository):
|
|||||||
self.imapserver.releaseconnection(imapobj)
|
self.imapserver.releaseconnection(imapobj)
|
||||||
for string in listresult:
|
for string in listresult:
|
||||||
flags, delim, name = imaputil.imapsplit(string)
|
flags, delim, name = imaputil.imapsplit(string)
|
||||||
if '\\Noselect' in imaputil.flagsplit(flags):
|
flaglist = [x.lower() for x in imaputil.flagsplit(flags)]
|
||||||
|
if '\\noselect' in flaglist:
|
||||||
continue
|
continue
|
||||||
foldername = imaputil.dequote(name)
|
foldername = imaputil.dequote(name)
|
||||||
if not self.folderfilter(foldername):
|
if not self.folderfilter(foldername):
|
||||||
|
Loading…
Reference in New Issue
Block a user