1
0
Fork 1
mirror of https://github.com/coddingtonbear/django-mailbox.git synced 2026-07-09 22:38:19 +02:00
django-mailbox/django_mailbox/transports/generic.py
2015-07-22 11:18:13 -07:00

31 lines
775 B
Python

import sys
import six
from .base import EmailTransport
class GenericFileMailbox(EmailTransport):
_variant = None
_path = None
def __init__(self, path):
super(GenericFileMailbox, self).__init__()
if six.PY2:
self._path = path.encode(
sys.getfilesystemencoding()
)
else:
self._path = path
def get_instance(self):
return self._variant(self._path)
def get_message(self, condition=None):
repository = self.get_instance()
repository.lock()
for key, message in repository.items():
if condition and not condition(message):
continue
repository.remove(key)
yield message
repository.unlock()