]> git.ipfire.org Git - people/shoehn/ipfire.org.git/blame - webapp/backend/base.py
Major update of the webapp.
[people/shoehn/ipfire.org.git] / webapp / backend / base.py
CommitLineData
a6dc0bad
MT
1#!/usr/bin/python
2
9068dba1 3import ConfigParser as configparser
a6dc0bad
MT
4
5import accounts
9068dba1
MT
6import ads
7import database
8import geoip
9import iuse
10import memcached
11import mirrors
12import netboot
13import news
a6dc0bad 14import planet
9068dba1
MT
15import releases
16import settings
17import stasy
18import tracker
19import wishlist
a6dc0bad
MT
20
21class Backend(object):
9068dba1
MT
22 def __init__(self, configfile):
23 # Read configuration file.
24 self.config = self.read_config(configfile)
25
26 # Setup database.
27 self.setup_database()
a6dc0bad 28
9068dba1
MT
29 # Initialize settings first.
30 self.settings = settings.Settings(self)
31 self.memcache = memcached.Memcached(self)
32
33 # Initialize backend modules.
a6dc0bad 34 self.accounts = accounts.Accounts(self)
9068dba1
MT
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)
a6dc0bad 42 self.planet = planet.Planet(self)
9068dba1
MT
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)