summaryrefslogtreecommitdiff
path: root/debian/patches
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches')
-rw-r--r--debian/patches/0100-config.diff112
-rw-r--r--debian/patches/0105-try_mail.diff52
-rw-r--r--debian/patches/0110-syslog.diff64
-rw-r--r--debian/patches/0115-Add_header.patch50
-rw-r--r--debian/patches/series4
5 files changed, 282 insertions, 0 deletions
diff --git a/debian/patches/0100-config.diff b/debian/patches/0100-config.diff
new file mode 100644
index 0000000..8529874
--- /dev/null
+++ b/debian/patches/0100-config.diff
@@ -0,0 +1,112 @@
+Description: add loading config from every path
+ Add loading config from ervery path
+ Separation data / program
+Author: Jörg Frings-Fürst <jff@jff-webhosting.net>
+Last-Update: 2014-05-12
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+Index: trunk/config_template.py
+===================================================================
+--- trunk.orig/config_template.py
++++ trunk/config_template.py
+@@ -1,5 +1,3 @@
+-import os.path
+-
+ # Copyright: (2013-2014) Michael Till Beck <Debianguru@gmx.de>
+ # License: GPL-2.0+
+
+@@ -47,11 +45,11 @@ sender = 'me@mymail.com'
+ smtphost = 'mysmtpprovider.com'
+ useTLS = True
+ smtpport = 587
+-smtpusername = sender
++smtpusername = 'sender'
+ smtppwd = 'mypassword'
+ receiver = 'me2@mymail.com'
+
+-os.chdir('/var/cache/mwc')
++datadir'/var/cache/mwc'
+
+ enableRSSFeed = True
+ rssfile = 'feed.xml'
+Index: trunk/mwcfeedserver.py
+===================================================================
+--- trunk.orig/mwcfeedserver.py
++++ trunk/mwcfeedserver.py
+@@ -6,6 +6,7 @@
+ import http.server
+ import socketserver
+ import importlib
++import os
+ import sys
+ import getopt
+
+@@ -31,13 +32,26 @@ for opt, arg in opts:
+ elif opt in ('-p', '--port'):
+ port = int(arg)
+
+-config = importlib.import_module(configMod)
+-
++#
++# add code to load config from nonsystem path
++# and change to datadir
++#
++try:
++ path = os.path.dirname(configMod)
++ fullname = os.path.basename(configMod)
++ sys.path.append(path)
++ config = importlib.import_module(fullname)
++except:
++ print('Error: loading config')
++ sys.exit(2)
+
+ handler = http.server.SimpleHTTPRequestHandler
+
+ httpd = socketserver.TCPServer((bind, port), handler)
+
+ print('Bond to ' + bind + ', listening on port ' + str(port))
+-httpd.serve_forever()
+-
++try:
++ httpd.serve_forever()
++except KeyboardInterrupt:
++ pass
++httpd.server_close()
+Index: trunk/mwc.py
+===================================================================
+--- trunk.orig/mwc.py
++++ trunk/mwc.py
+@@ -334,7 +334,7 @@ def pollWebsites():
+
+ if __name__ == "__main__":
+
+- configMod = 'config'
++ configMod = '/etc/mwc/mwc-config'
+ dryrun = None
+
+ try:
+@@ -351,7 +351,23 @@ if __name__ == "__main__":
+ elif opt in ('-d', '--dry-run'):
+ dryrun = arg
+
+- config = importlib.import_module(configMod)
++ #
++ # add code to load config from nonsystem path
++ # and change to datadir
++ #
++ try:
++ path = os.path.dirname(configMod)
++ fullname = os.path.basename(configMod)
++ sys.path.append(path)
++ config = importlib.import_module(fullname)
++ except:
++ print('Error: loading config')
++ sys.exit(2)
++ try:
++ os.chdir(config.datadir)
++ except:
++ print('Error: datadir not found')
++ sys.exit(3)
+
+ if dryrun:
+ for site in config.sites:
diff --git a/debian/patches/0105-try_mail.diff b/debian/patches/0105-try_mail.diff
new file mode 100644
index 0000000..bc62ef1
--- /dev/null
+++ b/debian/patches/0105-try_mail.diff
@@ -0,0 +1,52 @@
+Description: try / except around mail functions
+ add try / except around mail functions to
+ prevent python errors messages
+Author: Jörg Frings-Fürst <debian@jff-webhosting.net>
+Forwarded: via mail
+Applied-Upstream: <version|URL|commit, identifies patches merged upstream, optional>
+Reviewed-by:
+Last-Update: 2014-05-22
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+Index: trunk/mwc.py
+===================================================================
+--- trunk.orig/mwc.py
++++ trunk/mwc.py
+@@ -232,16 +232,28 @@ def sendmail(receiver, subject, content,
+ mail['Subject'] = Header(subject, defaultEncoding)
+
+ # initialize session once, not each time this method gets called
+- if mailsession is None:
+- mailsession = smtplib.SMTP(config.smtphost, config.smtpport)
+- if config.useTLS:
+- mailsession.ehlo()
+- mailsession.starttls()
+- if config.smtpusername is not None:
+- mailsession.login(config.smtpusername, config.smtppwd)
+-
+- mailsession.sendmail(config.sender, receiver.split(','), mail.as_string())
+
++ #
++ # add try / except to open mailsession
++ #
++ try:
++ if mailsession is None:
++ mailsession = smtplib.SMTP(config.smtphost, config.smtpport)
++ if config.useTLS:
++ mailsession.ehlo()
++ mailsession.starttls()
++ mailsession.login(config.smtpusername, config.smtppwd)
++ #
++ # add try / except to send mail
++ #
++ except:
++ print('Error: Open smtp-session')
++ exit(4)
++ try:
++ mailsession.sendmail(config.sender, receiver.split(','), mail.as_string())
++ except:
++ print('Error: sendmail')
++ exit(5)
+
+ # returns a list of all content that is stored locally for a specific site
+ def getStoredHashes(shortname):
diff --git a/debian/patches/0110-syslog.diff b/debian/patches/0110-syslog.diff
new file mode 100644
index 0000000..bd61d81
--- /dev/null
+++ b/debian/patches/0110-syslog.diff
@@ -0,0 +1,64 @@
+Description: add syslog messages on errors
+Author: Jörg Frings-Fürst <debian@jffwebhosting.net>
+Forwarded: via mail
+Last-Update: 2014-05-22
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+Index: trunk/mwc.py
+===================================================================
+--- trunk.orig/mwc.py
++++ trunk/mwc.py
+@@ -21,6 +21,7 @@ import os
+ import sys
+ import getopt
+ import traceback
++import syslog
+
+ import subprocess
+
+@@ -248,11 +249,13 @@ def sendmail(receiver, subject, content,
+ #
+ except:
+ print('Error: Open smtp-session')
++ syslog.syslog(syslog.LOG_ERR, 'can not open smtp session')
+ exit(4)
+ try:
+ mailsession.sendmail(config.sender, receiver.split(','), mail.as_string())
+ except:
+ print('Error: sendmail')
++ syslog.syslog(syslog.LOG_ERR, 'error on sendmail')
+ exit(5)
+
+ # returns a list of all content that is stored locally for a specific site
+@@ -349,6 +352,11 @@ if __name__ == "__main__":
+ configMod = '/etc/mwc/mwc-config'
+ dryrun = None
+
++ #
++ # add syslog open
++ #
++ syslog.openlog()
++
+ try:
+ opts, args = getopt.getopt(sys.argv[1:], 'hc:d:', ['help', 'config=', 'dry-run='])
+ except getopt.GetoptError:
+@@ -374,11 +382,13 @@ if __name__ == "__main__":
+ config = importlib.import_module(fullname)
+ except:
+ print('Error: loading config')
++ syslog.syslog(syslog.LOG_ERR, 'can not found / load mwc-config')
+ sys.exit(2)
+ try:
+ os.chdir(config.datadir)
+ except:
+ print('Error: datadir not found')
++ syslog.syslog(syslog.LOG_ERR, 'datadir not found')
+ sys.exit(3)
+
+ if dryrun:
+@@ -400,3 +410,5 @@ if __name__ == "__main__":
+ if mailsession:
+ mailsession.quit()
+ mailsession = None
++
++ syslog.closelog()
diff --git a/debian/patches/0115-Add_header.patch b/debian/patches/0115-Add_header.patch
new file mode 100644
index 0000000..6ce0c15
--- /dev/null
+++ b/debian/patches/0115-Add_header.patch
@@ -0,0 +1,50 @@
+Description: Add Header Accept
+Author: Jörg Frings-Fürst <debian@jff-webhosting.net>
+Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=862004
+Forwarded: https://github.com/Debianguru/MailWebsiteChanges/issues/11
+Last-Update: 2017-05-07
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+Index: trunk/mwc.py
+===================================================================
+--- trunk.orig/mwc.py
++++ trunk/mwc.py
+@@ -91,6 +91,8 @@ def parseSite(site):
+ req = urllib.request.Request(uri)
+ if 'user-agent' in site:
+ req.add_header('User-Agent', site['user-agent'])
++ if 'accept' in site:
++ req.add_header('Accept', site['accept'])
+ file = urllib.request.urlopen(req)
+
+
+Index: trunk/README.md
+===================================================================
+--- trunk.orig/README.md
++++ trunk/README.md
+@@ -59,7 +59,9 @@ sites = [
+ * <b>user-agent</b> (optional)
+ Defines the user agent string, e.g.,
+ 'user-agent': 'Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:49.0) Gecko/20100101 Firefox/49.0'
+-
++ * <b>accept</b> (optional)
++ Defines the accept string, e.g.,
++ 'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'
+
+ * We collect some XPath/CSS snippets at this place: <a href="https://github.com/Debianguru/MailWebsiteChanges/wiki/snippets">Snippet collection</a> - please feel free to add your own definitions!
+
+Index: trunk/config_template.py
+===================================================================
+--- trunk.orig/config_template.py
++++ trunk/config_template.py
+@@ -12,7 +12,9 @@ sites = [
+ 'contentxpath': '//div',
+ 'titleregex': '',
+ 'contentregex': '',
+- 'encoding': 'utf-8'},
++ 'encoding': 'utf-8',
++ 'user-agent': 'Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:49.0) Gecko/20100101 Firefox/49.0',
++ 'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'},
+
+ {'shortname': 'mywebsite2',
+ 'uri': 'http://www.mywebsite2.com/info',
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..a06ba62
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,4 @@
+0100-config.diff
+0105-try_mail.diff
+0110-syslog.diff
+#0115-Add_header.patch