]>
Commit | Line | Data |
---|---|---|
a6dc0bad MT |
1 | #!/usr/bin/python |
2 | ||
9068dba1 | 3 | import ConfigParser as configparser |
a6dc0bad MT |
4 | |
5 | import accounts | |
9068dba1 MT |
6 | import ads |
7 | import database | |
8 | import geoip | |
66862195 | 9 | import fireinfo |
9068dba1 MT |
10 | import iuse |
11 | import memcached | |
12 | import mirrors | |
13 | import netboot | |
66862195 | 14 | import nopaste |
9068dba1 | 15 | import news |
a6dc0bad | 16 | import planet |
9068dba1 MT |
17 | import releases |
18 | import settings | |
66862195 | 19 | import talk |
9068dba1 MT |
20 | import tracker |
21 | import wishlist | |
a6dc0bad MT |
22 | |
23 | class Backend(object): | |
2cd9af74 | 24 | def __init__(self, configfile, debug=False): |
9068dba1 MT |
25 | # Read configuration file. |
26 | self.config = self.read_config(configfile) | |
2cd9af74 | 27 | self.debug = debug |
9068dba1 MT |
28 | |
29 | # Setup database. | |
30 | self.setup_database() | |
a6dc0bad | 31 | |
9068dba1 MT |
32 | # Initialize settings first. |
33 | self.settings = settings.Settings(self) | |
34 | self.memcache = memcached.Memcached(self) | |
35 | ||
36 | # Initialize backend modules. | |
a6dc0bad | 37 | self.accounts = accounts.Accounts(self) |
9068dba1 MT |
38 | self.advertisements = ads.Advertisements(self) |
39 | self.downloads = mirrors.Downloads(self) | |
40 | self.geoip = geoip.GeoIP(self) | |
66862195 | 41 | self.fireinfo = fireinfo.Fireinfo(self) |
9068dba1 MT |
42 | self.iuse = iuse.IUse(self) |
43 | self.mirrors = mirrors.Mirrors(self) | |
44 | self.netboot = netboot.NetBoot(self) | |
66862195 | 45 | self.nopaste = nopaste.Nopaste(self) |
9068dba1 | 46 | self.news = news.News(self) |
a6dc0bad | 47 | self.planet = planet.Planet(self) |
9068dba1 | 48 | self.releases = releases.Releases(self) |
66862195 | 49 | self.talk = talk.Talk(self) |
9068dba1 MT |
50 | self.tracker = tracker.Tracker(self) |
51 | self.wishlist = wishlist.Wishlist(self) | |
52 | ||
53 | def read_config(self, configfile): | |
54 | cp = configparser.ConfigParser() | |
55 | cp.read(configfile) | |
56 | ||
57 | return cp | |
58 | ||
59 | def setup_database(self): | |
60 | """ | |
61 | Sets up the database connection. | |
62 | """ | |
63 | credentials = { | |
64 | "host" : self.config.get("database", "server"), | |
65 | "database" : self.config.get("database", "database"), | |
66 | "user" : self.config.get("database", "username"), | |
67 | "password" : self.config.get("database", "password"), | |
68 | } | |
69 | ||
70 | self.db = database.Connection(**credentials) |