From: hayao Date: Sun, 20 Sep 2020 12:00:49 +0000 (+0900) Subject: [remove] : build-wizard.py X-Git-Tag: rc3-alpha1~165^2~63 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=ce94bee831ebaba83fe1d3c0f25ac506c69dedd3;p=alterlinux%2Falterlinux.git [remove] : build-wizard.py --- diff --git a/tools/build-wizard.py b/tools/build-wizard.py deleted file mode 100755 index 81fa9c20..00000000 --- a/tools/build-wizard.py +++ /dev/null @@ -1,208 +0,0 @@ -#!/usr/bin/env python3 -#== Copyright ==# -# (C) 2019-2020 Fascode Network - -#== Import ==# -import gi, subprocess, sys, threading -gi.require_version("Gtk", "3.0") -from gi.repository import GLib, Gtk, GObject - -#== Main Window ==# -class MainWindow(Gtk.Window): - #= Fuction =# - def __init__(self): - def yn(name): - y = Gtk.RadioButton.new_with_label_from_widget(None, "Yes") - y.connect("toggled", self.on_button_toggled, name, True) - n = Gtk.RadioButton.new_with_mnemonic_from_widget(y, "No") - n.connect("toggled", self.on_button_toggled, name, False) - return y, n - - def combobox(name, list): - list_store = Gtk.ListStore(int, str) - for num in range(len(list)): - list_store.append([num, list[num]]) - - combo = Gtk.ComboBox.new_with_model_and_entry(list_store) - combo.connect("changed", self.on_combo_changed, name) - combo.set_entry_text_column(1) - combo.set_active(0) - return combo - - #-- Create Window --# - Gtk.Window.__init__(self, title="build wizard") - - #-- Define --# - self.bool = {"plymouth": True, "japanese": True} - self.selected = {"build": "native"} - - #-- Sub Layout 1 --# - #- Create -# - sub_layout1 = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=5) - - #- Labels -# - label1 = Gtk.Label("select desktop environment") - label2 = Gtk.Label("select kernel") - - #- Comboboxes -# - de = combobox("de", ["xfce", "plasma", "lxde"]) - kernel= combobox("kernel", ["zen", "linux", "lts", "lqx", "ck", "rt", "rt-lts", "xanmod-lts"]) - - #- Buttons & Add -# - for name in "plymouth", "japanese": - y, n = yn(name) - subs_layout = Gtk.Box(spacing=5) - subs_layout.pack_start(y, True, True, 30) - subs_layout.pack_start(n, True, True, 30) - label = Gtk.Label("Enable" + " " + name + "?") - sub_layout1.pack_start(label, True, True, 5) - sub_layout1.pack_start(subs_layout, True, True, 5) - - #- Add -# - for name in label1, de, label2, kernel: - sub_layout1.pack_start(name, True, True, 5) - - #-- Sub Layout 2 --# - #- Create -# - sub_layout2 = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=5) - - #- Labels -# - label1 = Gtk.Label("select compression") - label2 = Gtk.Label("user name") - label3 = Gtk.Label("password") - - #- Combobox -# - comp = combobox("comp", ["zstd", "lzma", "lzo", "lz4", "xz", "gzip"]) - - #- Entrys -# - self.usr = Gtk.Entry() - self.usr.set_text("alter") - self.passwd = Gtk.Entry() - self.passwd.set_visibility(False) - self.passwd.set_text("alter") - - #- Button -# - showpasswd = Gtk.ToggleButton("Show password") - showpasswd.connect("toggled", self.on_button_toggled, "1") - - #- Add -# - for name in label1, comp, label2, self.usr, label3, self.passwd, showpasswd: - sub_layout2.pack_start(name, True, True, 5) - - #-- Sub Layout 3 --# - #- Create -# - sub_layout3 = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=5) - - #- Label -# - label = Gtk.Label("select build type") - - #- Button -# - button1 = Gtk.RadioButton.new_with_label_from_widget(None, "native") - button1.connect("toggled", self.select_build, "native") - - #- Add -# - sub_layout3.pack_start(label, True, True, 5) - sub_layout3.pack_start(button1, True, True, 5) - - #- Buttons & Add -# - for name in "docker", "ssh": - button = Gtk.RadioButton.new_with_mnemonic_from_widget(button1, name) - button.connect("toggled", self.select_build, name) - sub_layout3.pack_start(button, True, True, 5) - - #-- Grid --# - #- Create -# - grid = Gtk.Grid(column_spacing=10, row_spacing=10) - - #- Progressbar -# - self.progressbar = Gtk.ProgressBar() - - #- Button -# - build = Gtk.Button("build") - build.connect("clicked", self.on_click_build) - - #- Add -# - grid.attach(sub_layout1, 0, 0, 1, 1) - grid.attach(sub_layout2, 1, 0, 1, 1) - grid.attach(sub_layout3, 2, 0, 1, 1) - grid.attach(self.progressbar, 0, 1, 2, 1) - grid.attach(build, 2, 1, 1, 1) - - #-- Layout --# - #- Create -# - layout = Gtk.Box(spacing=10) - - #- Add -# - layout.pack_start(grid, True, True, 10) - - #-- Main Layout --# - #- Create -# - main_layout = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=10) - - #- Add -# - main_layout.pack_start(layout, True, True, 10) - - #-- Add Main Window --# - self.add(main_layout) - - def on_button_toggled(self, button, name): - if button.get_active(): - self.passwd.set_visibility(True) - else: - self.passwd.set_visibility(False) - - def on_combo_changed(self, combo, name): - self.selected[name] = combo.get_model()[combo.get_active_iter()][1] - - def select_build(self, button, name): - self.selected["build"] = name - - def on_click_build(self, button): - cmd = ["sudo", "./build.sh"] - - if self.selected["build"] == "native": - if self.bool["plymouth"]: - cmd.append("-b") - - if self.bool["japanese"]: - cmd.append("-j") - - for name in "-k", self.selected["kernel"], "-c", self.selected["comp"], "-u", self.usr.get_text(), "-p", self.passwd.get_text(): - cmd.append(name) - - self.run_cmd(cmd) - else: - self.progressbar.set_show_text(1) - self.progressbar.set_text("not supported!") - print("not supported!") - - def run_cmd(self, cmd): - def update(line): - self.progressbar.pulse() - self.progressbar.set_show_text(1) - self.progressbar.set_ellipsize(True) - self.progressbar.set_text(line) - return False - - def run(): - run = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr = subprocess.STDOUT) - while run.poll() is None: - line = run.stdout.readline().decode('utf-8') - if line: - yield line - - def echo(): - for line in run(): - GLib.idle_add(update, line) - sys.stdout.write(line) - - thread = threading.Thread(target=echo) - thread.daemon = True - thread.start() - -#== Run ==# -if __name__ == "__main__": - win = MainWindow() - win.show_all() - win.connect("destroy", Gtk.main_quit) - Gtk.main()