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