def __init__(self, application):
self.application = application
+ self.webapp = WebappConnection()
+
+ self.config = self.webapp
self.hashes = HashConnection()
- self.planet = PlanetConnection()
+ self.mirrors = self.webapp
+ self.planet = self.webapp
self.tracker = TrackerConnection()
def reload(self):
self.banners = banners.Banners(self.application, "banners.json")
+ self.config = config.Config(self.application)
# self.info = info.Info(self.application, "info.json")
self.menu = menu.Menu(self.application, "menu.json")
# self.mirrors = mirrors.Mirrors(self.application, "mirrors.json")
#/usr/bin/python
class Config(object):
- pass
+ def __init__(self, application):
+ self.application = application
+
+ @property
+ def db(self):
+ return self.application.db.config
+
+ def delete(self, key):
+ self.db.execute("DELETE FROM settings WHERE key = %s", key)
+
+ def get(self, key, default=None):
+ return self.db.get("SELECT key FROM settings WHERE key = %s", key) or default
+
+ def set(self, key, value):
+ self.delete(key)
+ self.db.execute("INSERT INTO settings(key, value) VALUES(%s, %s)", key, value)
MYSQL_SERVER = "mysql.ipfire.org"
-class HashConnection(tornado.database.Connection):
+class WebappConnection(tornado.database.Connection):
def __init__(self):
- tornado.database.Connection.__init__(self, MYSQL_SERVER, "hashes", user="webapp")
+ tornado.database.Connection.__init__(self, MYSQL_SERVER, "webapp", user="webapp")
-class PlanetConnection(tornado.database.Connection):
+class HashConnection(tornado.database.Connection):
def __init__(self):
- tornado.database.Connection.__init__(self, MYSQL_SERVER, "planet", user="webapp")
+ tornado.database.Connection.__init__(self, MYSQL_SERVER, "hashes", user="webapp")
class TrackerConnection(tornado.database.Connection):
def __init__(self):
tornado.database.Connection.__init__(self, MYSQL_SERVER, "tracker", user="webapp")
+
+
+class UserConnection(tornado.database.Connection):
+ def __init__(self):
+ tornado.database.Connection.__init__(self, MYSQL_SERVER, "forum", user="webapp")
@property
def db(self):
- return self.application.db
+ return self.ds.db
@property
def ds(self):
self.render("builds.html", builds=self.builds)
-class UrielBaseHandler(BaseHandler):
- #db = uriel.Database()
- pass
-
-class UrielHandler(UrielBaseHandler):
- def get(self):
- pass
-
-
class SourceHandler(BaseHandler):
def get(self):
source_path = "/srv/sources"
class PlanetBaseHandler(BaseHandler):
- @property
- def db(self):
- return self.db.planet
+ pass
class PlanetMainHandler(PlanetBaseHandler):
def get(self):
- authors = self.db.query("SELECT DISTINCT author_id FROM entries")
+ authors = self.db.query("SELECT DISTINCT author_id FROM planet")
authors = [a["author_id"] for a in authors]
users = []
if user.id in authors:
users.append(user)
- entries = self.db.query("SELECT * FROM entries "
+ entries = self.db.query("SELECT * FROM planet "
"ORDER BY published DESC LIMIT 3")
for entry in entries:
user = self.user_db.get_user_by_name(user)
- entries = self.db.query("SELECT * FROM entries "
+ entries = self.db.query("SELECT * FROM planet "
"WHERE author_id = '%s' ORDER BY published DESC" % (user.id))
self.render("planet-user.html", entries=entries, user=user)
class PlanetPostingHandler(PlanetBaseHandler):
def get(self, slug):
- entry = self.db.get("SELECT * FROM entries WHERE slug = %s", slug)
+ entry = self.db.get("SELECT * FROM planet WHERE slug = %s", slug)
if not entry:
raise tornado.web.HTTPError(404)