diff options
Diffstat (limited to 'debian/patches')
-rw-r--r-- | debian/patches/0100-config.diff | 112 | ||||
-rw-r--r-- | debian/patches/0105-try_mail.diff | 52 | ||||
-rw-r--r-- | debian/patches/0110-syslog.diff | 64 | ||||
-rw-r--r-- | debian/patches/0115-Add_header.patch | 50 | ||||
-rw-r--r-- | debian/patches/series | 4 |
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 |