]> git.ipfire.org Git - people/shoehn/ipfire.org.git/blame - webapp/backend/base.py
Merge branch 'master' of ssh://git.ipfire.org/pub/git/ipfire.org
[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
66862195 9import fireinfo
9068dba1
MT
10import iuse
11import memcached
12import mirrors
13import netboot
66862195 14import nopaste
9068dba1 15import news
a6dc0bad 16import planet
9068dba1
MT
17import releases
18import settings
66862195 19import talk
9068dba1
MT
20import tracker
21import wishlist
a6dc0bad
MT
22
23class Backend(object):
9068dba1
MT
24 def __init__(self, configfile):
25 # Read configuration file.
26 self.config = self.read_config(configfile)
27
28 # Setup database.
29 self.setup_database()
a6dc0bad 30
9068dba1
MT
31 # Initialize settings first.
32 self.settings = settings.Settings(self)
33 self.memcache = memcached.Memcached(self)
34
35 # Initialize backend modules.
a6dc0bad 36 self.accounts = accounts.Accounts(self)
9068dba1
MT
37 self.advertisements = ads.Advertisements(self)
38 self.downloads = mirrors.Downloads(self)
39 self.geoip = geoip.GeoIP(self)
66862195 40 self.fireinfo = fireinfo.Fireinfo(self)
9068dba1
MT
41 self.iuse = iuse.IUse(self)
42 self.mirrors = mirrors.Mirrors(self)
43 self.netboot = netboot.NetBoot(self)
66862195 44 self.nopaste = nopaste.Nopaste(self)
9068dba1 45 self.news = news.News(self)
a6dc0bad 46 self.planet = planet.Planet(self)
9068dba1 47 self.releases = releases.Releases(self)
66862195 48 self.talk = talk.Talk(self)
9068dba1
MT
49 self.tracker = tracker.Tracker(self)
50 self.wishlist = wishlist.Wishlist(self)
51
52 def read_config(self, configfile):
53 cp = configparser.ConfigParser()
54 cp.read(configfile)
55
56 return cp
57
58 def setup_database(self):
59 """
60 Sets up the database connection.
61 """
62 credentials = {
63 "host" : self.config.get("database", "server"),
64 "database" : self.config.get("database", "database"),
65 "user" : self.config.get("database", "username"),
66 "password" : self.config.get("database", "password"),
67 }
68
69 self.db = database.Connection(**credentials)