source: lliurex-flash-installer/trunk/fuentes/install-files/usr/sbin/lliurex-flash-installer @ 7049

Last change on this file since 7049 was 7049, checked in by hectorgh, 3 years ago

final touches

  • Property svn:executable set to *
File size: 2.5 KB
Line 
1#!/usr/bin/env python
2# -*- coding: utf-8 -*
3 
4import os
5import subprocess
6import threading
7
8import gi
9gi.require_version('Gtk', '3.0')
10from gi.repository import Gtk, GObject, GLib
11       
12import signal
13signal.signal(signal.SIGINT, signal.SIG_DFL)
14
15import gettext
16gettext.textdomain('zero-lliurex-flash')
17_ = gettext.gettext
18
19class FlashInstaller:
20       
21        def __init__(self):
22               
23                self.canonical_ppa="deb http://archive.canonical.com/ubuntu xenial partner"
24                self.packages_to_install="adobe-flashplugin"
25                self.load_gui("/usr/share/lliurex-flash-installer/lliurex-flash-installer.ui")
26               
27        #def __init__
28       
29       
30        def load_gui(self,ui_file):
31               
32                builder=Gtk.Builder()
33                builder.add_from_file(ui_file)
34                self.window=builder.get_object("main_window")
35                self.accept_button=builder.get_object("accept_button")
36                self.cancel_button=builder.get_object("cancel_button")
37                self.close_button=builder.get_object("close_button")
38               
39                self.question_box=builder.get_object("question_box")
40                self.pbar=builder.get_object("progressbar")
41                self.msg_label=builder.get_object("msg_label")
42               
43                self.connect_signals()
44                self.window.show()
45               
46        #def load_gui
47       
48       
49        def connect_signals(self):
50               
51                self.window.connect("destroy",Gtk.main_quit)
52                self.accept_button.connect("clicked",self.install)
53                self.cancel_button.connect("clicked",Gtk.main_quit)
54                self.close_button.connect("clicked",Gtk.main_quit)
55               
56        #def connect_signals
57       
58       
59        def install(self,button):
60
61                self.question_box.hide()
62                self.pbar.show()
63                self.close_button.set_sensitive(False)
64                self.thread=threading.Thread(target=self.install_thread)
65                self.thread.daemon=True
66                self.thread.start()
67               
68                GLib.timeout_add(200,self.pulsating)
69               
70        #def install
71       
72       
73        def install_thread(self):
74               
75                source_file="/etc/apt/sources.list.d/canonical.list"
76               
77                f=open(source_file,"w")
78                f.write(self.canonical_ppa+"\n")
79                f.close()
80               
81                self.ret=os.system("apt-get update; apt-get install --reinstall %s"%self.packages_to_install)
82               
83                if self.ret==0:
84                        self.set_configured()
85               
86        #def install_thread
87       
88       
89        def pulsating(self):
90               
91                self.pbar.pulse()
92               
93                if not self.thread.is_alive():
94                       
95                        if self.ret==0:
96                                self.pbar.set_fraction(1)
97                                self.pbar.set_text("Installed")
98                       
99                        self.close_button.set_sensitive(True)
100               
101                return self.thread.is_alive()
102               
103        #def pulsating
104       
105        def set_configured(self):
106               
107                os.system("zero-center set-configured lliurex-flash-installer")
108               
109        #def set_configured
110       
111       
112        def start(self):
113               
114                GObject.threads_init()
115                Gtk.main()
116               
117        #def start
118       
119       
120#class FlashInstaller
121
122
123if __name__=="__main__":
124       
125        fi=FlashInstaller()
126        fi.start()
127       
Note: See TracBrowser for help on using the repository browser.