summaryrefslogtreecommitdiff
path: root/debian/patches/0100-config.diff
blob: 49bb5893caec47f4d1ffe4d9b135b16f760103de (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
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/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: