]> git.ipfire.org Git - ipfire.org.git/commitdiff
boot: Move UI modules into boot module
authorMichael Tremer <michael.tremer@ipfire.org>
Fri, 26 Oct 2018 17:04:34 +0000 (18:04 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Fri, 26 Oct 2018 17:04:34 +0000 (18:04 +0100)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/templates/netboot/menu-config.cfg
src/templates/netboot/menu-header.cfg
src/templates/netboot/menu.cfg
src/web/__init__.py
src/web/boot.py
src/web/ui_modules.py

index f064424de6737dfd62c5af100b1bf3b8590e5459..b60ed296a521d64da7335978b1d917b8bc4bcefc 100644 (file)
@@ -12,7 +12,7 @@ menu begin {{ release.sname }}
                initrd {{ release.netboot_initrd_url(arch, platform) }}
                append {{ release.netboot_args(arch, platform) }} vga=791
 
-       {% module NetBootMenuSeparator() %}
+       {% module BootMenuSeparator() %}
 
        label {{ release.sname }}.novga
                menu label {{ _("Install in text mode") }}
@@ -38,7 +38,7 @@ menu begin {{ release.sname }}
                append {{ release.netboot_args(arch, platform) }} console=ttyS0,115200 novga
 {% end %}
 
-       {% module NetBootMenuSeparator() %}
+       {% module BootMenuSeparator() %}
 
        label {{ release.sname }}.back
                menu label {{ _("Back...") }}
index 90e2b9681d96b54703e99f2e0f0b70adc5f5facb..b2c86064ab5a494906f2c3d66e525c54dc0bbcdb 100644 (file)
@@ -1,11 +1,11 @@
-menu begin {{ id }}
+menu begin {{ slug }}
        menu title {{ title }}
 
-       label {{ id }}.back
+       label {{ slug }}.back
                menu label {{ _("Back...") }}
                menu exit
 
-       {% module NetBootMenuSeparator() %}
+       {% module BootMenuSeparator() %}
 
-       {% for r in [r for r in releases if r.is_netboot_capable()] %}{% module NetBootMenuConfig(r, arch=arch, platform=platform) %}{% end %}
+       {% for r in [r for r in releases if r.is_netboot_capable()] %}{% module BootMenuConfig(r, arch=arch, platform=platform) %}{% end %}
 menu end
index 98f0e83959b0a3e2a41da3c0eea0b65e35fdcf19..d50c2d18f738eabe7842f511e71cbc7f97e19c5e 100644 (file)
@@ -17,16 +17,16 @@ prompt 0
 menu title {{ _("IPFire boot menu") }} ({{ arch }})
 
 {% if latest_release %}
-       {% module NetBootMenuConfig(latest_release, arch=arch, platform=platform) %}
-       {% module NetBootMenuSeparator() %}
+       {% module BootMenuConfig(latest_release, arch=arch, platform=platform) %}
+       {% module BootMenuSeparator() %}
 {% end %}
 
 {% if stable_releases %}
-       {% module NetBootMenuHeader(_("Stable releases"), stable_releases, arch=arch, platform=platform) %}
+       {% module BootMenuHeader(_("Stable releases"), stable_releases, arch=arch, platform=platform) %}
 {% end %}
 
 {% if development_releases %}
-       {% module NetBootMenuHeader(_("Development releases"), development_releases, arch=arch, platform=platform) %}
+       {% module BootMenuHeader(_("Development releases"), development_releases, arch=arch, platform=platform) %}
 {% end %}
 
 {% if arch == "x86_64" %}
index 72d72ba7bf44c38c75eaaed505b5bb4eb1a1f6e8..6c5f025f0bfa97d4bf429bf15ef36213f72358af 100644 (file)
@@ -57,6 +57,11 @@ class Application(tornado.web.Application):
                                "BlogPost"             : blog.PostModule,
                                "BlogPosts"            : blog.PostsModule,
 
+                               # Boot
+                               "BootMenuConfig"       : boot.MenuConfigModule,
+                               "BootMenuHeader"       : boot.MenuHeaderModule,
+                               "BootMenuSeparator"    : boot.MenuSeparatorModule,
+
                                # Location
                                "Map"                  : ui_modules.MapModule,
 
@@ -77,9 +82,6 @@ class Application(tornado.web.Application):
 
                                "MirrorItem"           : ui_modules.MirrorItemModule,
                                "MirrorsTable"         : ui_modules.MirrorsTableModule,
-                               "NetBootMenuConfig"    : ui_modules.NetBootMenuConfigModule,
-                               "NetBootMenuHeader"    : ui_modules.NetBootMenuHeaderModule,
-                               "NetBootMenuSeparator" : ui_modules.NetBootMenuSeparatorModule,
                                "ProgressBar"          : ui_modules.ProgressBarModule,
                                "FireinfoDeviceTable"  : ui_modules.FireinfoDeviceTableModule,
                                "FireinfoDeviceAndGroupsTable" : ui_modules.FireinfoDeviceAndGroupsTableModule,
index 0c91db00c16a67f8699396c3c12f5858c8d8639f..232a104fcda3cd7d60d9a78119ff42edd29b0491 100644 (file)
@@ -2,13 +2,16 @@
 
 import logging
 import os
+import re
 import tornado.httpserver
 import tornado.ioloop
 import tornado.locale
 import tornado.options
 import tornado.web
+import unicodedata
 
 from . import base
+from . import ui_modules
 
 BASEDIR = os.path.dirname(__file__)
 
@@ -49,7 +52,6 @@ class BootBaseHandler(base.BaseHandler):
 
 
 class MenuGPXEHandler(BootBaseHandler):
-
        """
                menu.gpxe
        """
@@ -132,3 +134,31 @@ class MenuCfgHandler(BootBaseHandler):
                self.render("netboot/menu.cfg", latest_release=latest_release,
                        stable_releases=stable_releases, development_releases=development_releases,
                        arch=self.arch, platform=self.platform)
+
+
+class MenuConfigModule(ui_modules.UIModule):
+       def render(self, release, arch=None, platform=None):
+               return self.render_string("netboot/menu-config.cfg", release=release,
+                       arch=arch, platform=platform)
+
+
+class MenuHeaderModule(ui_modules.UIModule):
+       def render(self, title, releases, arch=None, platform=None):
+               # Remove any non-ASCII characters
+               try:
+                       slug = unicodedata.normalize("NFKD", title)
+               except TypeError:
+                       pass
+
+               # Remove excessive whitespace
+               slug = re.sub(r"[^\w]+", " ", slug)
+
+               slug = "-".join(slug.split()).lower()
+
+               return self.render_string("netboot/menu-header.cfg", slug=slug,
+                       title=title, releases=releases, arch=arch, platform=platform)
+
+
+class MenuSeparatorModule(ui_modules.UIModule):
+       def render(self):
+               return self.render_string("netboot/menu-separator.cfg")
index 6a622f6b3327bff0ef3ad1520c9f7c40bbeb165c..b8acbd23be19ffe88ae1986252d6e597c0b6c523 100644 (file)
@@ -1,8 +1,6 @@
 #!/usr/bin/python
 
-import re
 import tornado.web
-import unicodedata
 
 from .. import database
 
@@ -113,27 +111,6 @@ class MirrorsTableModule(UIModule):
                        mirrors=mirrors, preferred_mirrors=preferred_mirrors)
 
 
-class NetBootMenuConfigModule(UIModule):
-       def render(self, release, arch=None, platform=None):
-               return self.render_string("netboot/menu-config.cfg", release=release,
-                       arch=arch, platform=platform)
-
-
-class NetBootMenuHeaderModule(UIModule):
-       def render(self, title, releases, arch=None, platform=None):
-               id = unicodedata.normalize("NFKD", str(title)).encode("ascii", "ignore")
-               id = re.sub(r"[^\w]+", " ", id)
-               id = "-".join(id.lower().strip().split())
-
-               return self.render_string("netboot/menu-header.cfg", id=id,
-                       title=title, releases=releases, arch=arch, platform=platform)
-
-
-class NetBootMenuSeparatorModule(UIModule):
-       def render(self):
-               return self.render_string("netboot/menu-separator.cfg")
-
-
 class ProgressBarModule(UIModule):
        def render(self, value, colour=None):
                value *= 100