[packages/rss2email] - new (with maildir patch from not yet accepted pull request)

atler atler at pld-linux.org
Sun Dec 7 12:56:27 CET 2014


commit 9351c3734fea723cc57375b7434b3ce48d944dda
Author: Jan Palus <atler at pld-linux.org>
Date:   Sun Dec 7 12:55:28 2014 +0100

    - new (with maildir patch from not yet accepted pull request)

 rss2email-maildir.patch | 58 +++++++++++++++++++++++++++++++++++++++++++++++++
 rss2email.spec          | 56 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 114 insertions(+)
---
diff --git a/rss2email.spec b/rss2email.spec
new file mode 100644
index 0000000..402c6e4
--- /dev/null
+++ b/rss2email.spec
@@ -0,0 +1,56 @@
+Summary:	A python script that converts RSS/Atom newsfeeds to email
+Name:		rss2email
+Version:	3.9
+Release:	1
+License:	GPL v2+
+Group:		Applications/Networking
+Source0:	https://pypi.python.org/packages/source/r/rss2email/%{name}-%{version}.tar.gz
+Patch0:		%{name}-maildir.patch
+# Source0-md5:	23be063b045be29cc4edc76fe6d141ff
+URL:		https://pypi.python.org/pypi/rss2email/
+BuildRequires:	python3 >= 3.2
+BuildRequires:	rpm-pythonprov
+BuildRequires:	rpmbuild(macros) >= 1.219
+BuildRequires:	sed >= 4.0
+Requires:	python3 >= 3.2
+Requires:	python3-feedparser
+Requires:	python3-html2text
+BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%description
+A python script that converts RSS/Atom newsfeeds to email.
+
+%prep
+%setup -q
+%patch0 -p1
+
+%{__sed} -i -e '1s,^#!.*python,#!%{__python3},' r2e
+
+%build
+%{__python3} setup.py build
+
+%install
+rm -rf $RPM_BUILD_ROOT
+%{__python3} setup.py install \
+	--optimize=2 \
+	--root=$RPM_BUILD_ROOT \
+	--skip-build
+
+install -d $RPM_BUILD_ROOT%{_mandir}/man1
+cp -p r2e.1 $RPM_BUILD_ROOT%{_mandir}/man1
+
+%py_postclean
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(644,root,root,755)
+%doc AUTHORS CHANGELOG README
+%attr(755,root,root) %{_bindir}/r2e
+%dir %{py3_sitescriptdir}/rss2email
+%{py3_sitescriptdir}/rss2email/*.py
+%{py3_sitescriptdir}/rss2email/__pycache__
+%{py3_sitescriptdir}/rss2email/post_process
+%{py3_sitescriptdir}/rss2email-*.egg-info
+%{_mandir}/man1/r2e.1*
diff --git a/rss2email-maildir.patch b/rss2email-maildir.patch
new file mode 100644
index 0000000..a350e3e
--- /dev/null
+++ b/rss2email-maildir.patch
@@ -0,0 +1,58 @@
+diff --git a/rss2email/config.py b/rss2email/config.py
+index 6b5155f..020b66b 100644
+--- a/rss2email/config.py
++++ b/rss2email/config.py
+@@ -193,6 +193,9 @@ def setup_html2text(self, section='DEFAULT'):
+         ('imap-port', str(143)),
+         ('imap-ssl', str(False)),       # connect to the IMAP server using SSL
+         ('imap-mailbox', 'INBOX'),      # where we should store new messages
++        # Maildir configuration
++        ('maildir-path', '~/Maildir'),
++        ('maildir-mailbox', 'INBOX'),
+ 
+         ### Miscellaneous
+         # Verbosity (one of 'error', 'warning', 'info', or 'debug').
+diff --git a/rss2email/email.py b/rss2email/email.py
+index ef798f7..50e4057 100644
+--- a/rss2email/email.py
++++ b/rss2email/email.py
+@@ -31,13 +31,15 @@
+ from email.mime.text import MIMEText as _MIMEText
+ from email.utils import formataddr as _formataddr
+ from email.utils import parseaddr as _parseaddr
++import mailbox as _mailbox
+ import imaplib as _imaplib
+ import io as _io
+ import smtplib as _smtplib
+ import ssl as _ssl
+ import subprocess as _subprocess
+ import sys as _sys
+ import time as _time
++import os as _os
+ 
+ from . import LOG as _LOG
+ from . import config as _config
+@@ -199,6 +201,14 @@ def imap_send(message, config=None, section='DEFAULT'):
+     finally:
+         imap.logout()
+ 
++def maildir_send(message, config=None, section='DEFAULT'):
++    if config is None:
++        config = _config.CONFIG
++    path = config.get(section, 'maildir-path')
++    mailbox = config.get(section, 'maildir-mailbox')
++    maildir = _mailbox.Maildir(_os.path.join(path, mailbox))
++    maildir.add(message)
++
+ def _decode_header(header):
+     """Decode RFC-2047-encoded headers to Unicode strings
+ 
+@@ -340,6 +350,8 @@ def send(sender, recipient, message, config=None, section='DEFAULT'):
+             config=config, section=section)
+     elif protocol == 'imap':
+         imap_send(message=message, config=config, section=section)
++    elif protocol == 'maildir':
++        maildir_send(message=message, config=config, section=section)
+     else:
+         sendmail_send(
+             sender=sender, recipient=recipient, message=message,
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/rss2email.git/commitdiff/9351c3734fea723cc57375b7434b3ce48d944dda



More information about the pld-cvs-commit mailing list