]> git.ipfire.org Git - people/jschlag/pbs.git/blobdiff - src/web/mirrors.py
Merge branch 'master' of git://git.ipfire.org/pbs
[people/jschlag/pbs.git] / src / web / mirrors.py
similarity index 62%
rename from src/web/handlers_mirrors.py
rename to src/web/mirrors.py
index 42d986a3deebc88287e6413aa09e2f8bcac0c42e..007141d9055c443619c247c00efd1113fde32d99 100644 (file)
@@ -8,8 +8,8 @@ from .handlers_base import BaseHandler
 
 class MirrorListHandler(BaseHandler):
        def get(self):
-               mirrors = self.pakfire.mirrors
-               mirrors_nearby = self.pakfire.mirrors.get_for_location(self.current_address)
+               mirrors = self.backend.mirrors
+               mirrors_nearby = self.backend.mirrors.get_for_location(self.current_address)
 
                mirrors_worldwide = []
                for mirror in mirrors:
@@ -25,20 +25,20 @@ class MirrorListHandler(BaseHandler):
                }
 
                # Get recent log messages.
-               kwargs["log"] = self.pakfire.mirrors.get_history(limit=5)
+               kwargs["log"] = self.backend.mirrors.get_history(limit=5)
 
-               self.render("mirrors-list.html", **kwargs)
+               self.render("mirrors/list.html", **kwargs)
 
 
 class MirrorDetailHandler(BaseHandler):
        def get(self, hostname):
-               mirror = self.pakfire.mirrors.get_by_hostname(hostname)
+               mirror = self.backend.mirrors.get_by_hostname(hostname)
                if not mirror:
                        raise tornado.web.HTTPError(404, "Could not find mirror: %s" % hostname)
 
-               log = self.pakfire.mirrors.get_history(mirror=mirror, limit=10)
+               log = self.backend.mirrors.get_history(mirror=mirror, limit=10)
 
-               self.render("mirrors-detail.html", mirror=mirror, log=log)
+               self.render("mirrors/detail.html", mirror=mirror, log=log)
 
 
 class MirrorActionHandler(BaseHandler):
@@ -55,7 +55,7 @@ class MirrorActionHandler(BaseHandler):
 class MirrorNewHandler(MirrorActionHandler):
        @tornado.web.authenticated
        def get(self, hostname="", path="", hostname_missing=False, path_invalid=False):
-               self.render("mirrors-new.html", _hostname=hostname, path=path,
+               self.render("mirrors/new.html", _hostname=hostname, path=path,
                        hostname_missing=hostname_missing, path_invalid=path_invalid)
 
        @tornado.web.authenticated
@@ -77,9 +77,9 @@ class MirrorNewHandler(MirrorActionHandler):
                        })
                        return self.get(**errors)
 
-               mirror = mirrors.Mirror.create(self.pakfire, hostname, path,
-                       user=self.current_user)
-               assert mirror
+               # Create mirror
+               with self.db.transaction():
+                       mirror = self.backend.mirrors.create(hostname, path, user=self.current_user)
 
                self.redirect("/mirror/%s" % mirror.hostname)
 
@@ -87,33 +87,24 @@ class MirrorNewHandler(MirrorActionHandler):
 class MirrorEditHandler(MirrorActionHandler):
        @tornado.web.authenticated
        def get(self, hostname):
-               mirror = self.pakfire.mirrors.get_by_hostname(hostname)
+               mirror = self.backend.mirrors.get_by_hostname(hostname)
                if not mirror:
                        raise tornado.web.HTTPError(404, "Could not find mirror: %s" % hostname)
 
-               self.render("mirrors-edit.html", mirror=mirror)
+               self.render("mirrors/edit.html", mirror=mirror)
 
        @tornado.web.authenticated
        def post(self, hostname):
-               mirror = self.pakfire.mirrors.get_by_hostname(hostname)
+               mirror = self.backend.mirrors.get_by_hostname(hostname)
                if not mirror:
                        raise tornado.web.HTTPError(404, "Could not find mirror: %s" % hostname)
 
-               hostname = self.get_argument("name")
-               path     = self.get_argument("path", "")
-               owner    = self.get_argument("owner", None)
-               contact  = self.get_argument("contact", None)
-               enabled  = self.get_argument("enabled", None)
-
-               if enabled:
-                       mirror.set_status("enabled", user=self.current_user)
-               else:
-                       mirror.set_status("disabled", user=self.current_user)
-
-               mirror.hostname = hostname
-               mirror.path     = path
-               mirror.owner    = owner
-               mirror.contact  = contact
+               with self.db.transaction():
+                       mirror.hostname       = self.get_argument("name")
+                       mirror.path           = self.get_argument("path", "")
+                       mirror.owner          = self.get_argument("owner", None)
+                       mirror.contact        = self.get_argument("contact", None)
+                       mirror.supports_https = self.get_argument("supports_https", False)
 
                self.redirect("/mirror/%s" % mirror.hostname)
 
@@ -121,15 +112,16 @@ class MirrorEditHandler(MirrorActionHandler):
 class MirrorDeleteHandler(MirrorActionHandler):
        @tornado.web.authenticated
        def get(self, hostname):
-               mirror = self.pakfire.mirrors.get_by_hostname(hostname)
+               mirror = self.backend.mirrors.get_by_hostname(hostname)
                if not mirror:
                        raise tornado.web.HTTPError(404, "Could not find mirror: %s" % hostname)
 
                confirmed = self.get_argument("confirmed", None)        
                if confirmed:
-                       mirror.set_status("deleted", user=self.current_user)
+                       with self.db.transaction():
+                               mirror.deleted = True
 
                        self.redirect("/mirrors")
                        return
 
-               self.render("mirrors-delete.html", mirror=mirror)
+               self.render("mirrors/delete.html", mirror=mirror)