source: lliurex-ubiquity-addons/trunk/fuentes/src/UbiLliureXExtraPackages.py @ 6223

Last change on this file since 6223 was 6223, checked in by daduve, 22 months ago

Changing open-sankore by openboard

File size: 2.8 KB
Line 
1from ubiquity import misc, plugin, validation
2import os
3import inspect
4import socket
5
6NAME = 'lliurex'
7AFTER = 'console_setup'
8BEFORE = 'usersetup'
9WEIGHT = 13
10
11class PageGtk(plugin.PluginUI):
12        plugin_title = 'lliurex/installextradebs'
13
14        def __init__(self, controller, *args, **kwargs):
15                from gi.repository import Gio, Gtk
16                self.resolver = Gio.Resolver.get_default()
17                self.controller = controller
18                builder = Gtk.Builder()
19                self.controller.add_builder(builder)
20                builder.add_from_file(os.path.join(
21                        os.environ['UBIQUITY_GLADE'], 'UbiLliureXExtraPackages.ui'))
22                builder.connect_signals(self)
23                self.page = builder.get_object('UbiLliureXExtraPackages')
24                # Office
25                self.ocrfeeder = builder.get_object('cb_ocrfeeder')
26                self.posterazor = builder.get_object('cb_posterazor')
27
28                # PDI
29                self.mrpdi = builder.get_object('cb_mrpdi')
30                self.sankore = builder.get_object('cb_openboard')
31
32                # Technology
33                self.s4a = builder.get_object('cb_s4a')
34                self.appinventor = builder.get_object('cb_appinventor')
35                self.arduino = builder.get_object('cb_arduino')
36                self.openscad = builder.get_object('cb_openscad')
37
38                # End
39                self.plugin_widgets = self.page
40                self.skip = False
41               
42        def plugin_skip_page(self):
43                # Set from the command line with --wireless
44                ip_success=""
45                internet= False
46       
47                try:
48                        ip_success = socket.gethostbyname("lliurex.net")
49                        print ("LliureX is reachable : " + ip_success)
50                        internet = True
51                except Exception as e:
52                        print ("LliureX is unreachable:  "+ str(e))
53       
54                try:
55                        ip_success = socket.gethostbyname("server")
56                        print ("Server is reachable : " + ip_success)
57                        internet = True
58                except Exception as e:
59                        print ("Server is unreachable:  "+ str(e))
60       
61                if internet:
62                        return False
63                else:
64                        return True
65       
66
67class Page(plugin.Plugin):
68       
69
70       
71        @misc.raise_privileges
72        def ok_handler(self):
73                list_packages = []
74                # First office
75                if self.ui.ocrfeeder.get_active():
76                        list_packages.append('ocrfeeder')
77                if self.ui.posterazor.get_active():
78                        list_packages.append('posterazor')
79               
80                # Secondly PDI
81                if self.ui.mrpdi.get_active():
82                        list_packages.append('mrpdi-gui')
83                if self.ui.sankore.get_active():
84                        list_packages.append('openboard')
85
86                # At last technology
87                if self.ui.s4a.get_active():
88                        list_packages.append('s4a')
89                if self.ui.appinventor.get_active():
90                        list_packages.append('appinventor2-setup')
91                if self.ui.arduino.get_active():
92                        list_packages.append('arduino-ide')
93                if self.ui.openscad.get_active():
94                        list_packages.append('openscad')
95       
96                # End of checkboxes
97                #s = inspect.stack()
98                #ob = s[1][0]
99                #parent = inspect.getargvalues(ob).locals['self']
100                #parent.success_cmd = 'chroot /target apt-get update && apt-get install ' +' '.join(list_packages)
101
102                os.system("mkdir -p /var/lib/ubiquity/")
103                for p in list_packages:
104                        f = open("/var/lib/ubiquity/apt-installed","a")
105                        f.write(str(p)+"\n")
106                        f.close()
107                       
108                plugin.Plugin.ok_handler(self)
Note: See TracBrowser for help on using the repository browser.