source: lliurex-up/trunk/fuentes/lliurex-up-gui/LliurexUpConnect.py @ 2957

Last change on this file since 2957 was 2957, checked in by jrpelegrina, 4 years ago

WIP in gui. Checking meta

File size: 4.8 KB
Line 
1import xmlrpclib 
2import os
3import shutil
4import subprocess
5import socket
6import threading
7import datetime
8from math import pi
9
10import LliurexUpCore
11
12from gi.repository import Gtk, Gdk, GObject, GLib, PangoCairo, Pango
13
14import signal
15signal.signal(signal.SIGINT, signal.SIG_DFL)
16
17
18class LliurexUpConnect():
19
20        def __init__(self):
21                self.llxUpCore=LliurexUpCore.LliurexUpCore()
22                GObject.threads_init()
23                log_msg="------------------------------------------\n"+"LLIUREX-UP STARTING AT: " + datetime.datetime.today().strftime("%d/%m/%y %H:%M:%S") +"\n------------------------------------------"
24                self.log(log_msg)
25
26        #def __init__   
27
28        def getInitialFlavour(self):
29
30                self.initFlavours = [ x.strip() for x in self.llxUpCore.n4d.lliurex_version('','LliurexVersion','-v')[1].split(',') ]
31                log_msg="Initial flavour: " 
32                for line in self.initFlavours:
33                        log_msg=log_msg + " " + line
34
35                self.log(log_msg)       
36
37                return  self.initFlavours
38
39        #def getInitialFlavour 
40
41        def checkFlavour(self):
42                 
43                 try:
44                        self.targetMetapackage=self.llxUpCore.checkFlavour()
45                        log_msg="Initial check metapackage. Metapackage to install: " + str(self.targetMetapackage)
46                        self.log(log_msg)
47                        return self.targetMetapackage
48
49                 except Exception as e:
50                        log_msg="Initial check metapackage. Metapackage to install. Error: " + str(e)
51                        self.log(log_msg)
52                        return None
53                       
54        #def checkFlavoour             
55                       
56
57        def checkFinalFlavour(self):
58       
59                self.finalFlavours = [ x.strip() for x in self.llxUpCore.n4d.lliurex_version('','LliurexVersion','-v')[1].split(',') ]
60               
61                if self.targetMetapackage==None:
62                        if self.initFlavours==self.finalFlavours:
63                                log_msg="Final check metapackage. Metapackage to install: None"
64                                self.log(log_msg)
65                                return None
66                        else:
67                                log_msg="Final check metapackage. Metapackage to install: " +self.initFlavours
68                                self.log(log_msg)
69                                return self.initFlavours
70                else:
71                        if self.targetMetapackage in self.finalFlavours:
72                                log_msg="Final check metapackage. Metapackage to install: None"
73                                self.log(log_msg)
74                                return True
75                        else:
76                                log_msg="Final check metapackage. Metapackage to install: " +self.targetMetapackage
77                                self.log(log_msg)
78                                return self.targetMetapackage                           
79
80
81        #def checkFinalFlavour         
82
83
84        def canConnectToLliurexNet(self):
85
86                try:
87                        can_connect=self.llxUpCore.canConnectToLliurexNet()
88                        if can_connect:
89                                return True 
90                        else:
91                                return False
92                except:
93                        return False
94
95        #def canConnectToLliurexNet
96
97        def isLliurexUpIsUpdated(self):
98
99                try:
100                        is_lliurexup_updated=self.llxUpCore.isLliurexUpIsUpdated()
101                        log_msg="Checking lliurex-up. Is lliurex-up updated: "+ str(is_lliurexup_updated)
102                        self.log(log_msg)
103                        return is_lliurexup_updated
104               
105                except Exception as e:
106                        log_msg="Checking lliurex-up. Error: " + str(e)
107                        self.log(log_msg)
108                        return True
109
110        #def isLliurexUpIsUpdated
111
112        def installLliurexUp(self):
113
114                try:
115                        is_lliurexup_installed=self.llxUpCore.installLliurexUp()
116                        log_msg="Installing lliurex-up: " + str(is_lliurexup_installed)
117                        self.log(log_msg)
118                        return is_lliurexup_installed
119
120                except Exception as e:
121                        log_msg="Installing lliurex-up. Error: " + str(e)
122                        self.log(log_msg)
123                        return True
124
125        #def installLliurexUp   
126
127       
128        def lliurexMirrorIsUpdated(self):
129
130                try:
131                        is_mirror_updated=self.llxUpCore.lliurexMirrorIsUpdated()
132                       
133                        if is_mirror_updated['action']=='update':
134                                log_msg="Checking mirror. Is mirror update: False"
135                                self.log(log_msg)
136                                return False
137                        else: 
138                                log_msg="Checking mirror. Is mirror update: " + is_mirror_updated['action']
139                                self.log(log_msg)
140                                return True
141               
142                except Exception as e:
143                        log_msg="Checking mirror. Error: " + str(e)
144                        self.log(log_msg)
145                        return True     
146
147        #def lliurexMirrorIsUpdated             
148
149        def lliurexMirrorIsRunning(self):
150
151                try:
152                        is_lliurexmirror_running=self.llxUpCore.lliurexMirrorIsRunning()
153                        return is_lliurexmirror_running
154
155                except Exception as e:
156                        log_msg="Updating mirror. Error: " + str(e)
157                        self.log(log_msg)
158                        return False
159
160        #def lliurexMirrorIsRunning             
161
162        def getPercentageLliurexMirror(self):
163
164                try:
165                        percentage_mirror=self.llxUpCore.getPercentageLliurexMirror()
166                        if percentage_mirror != None:
167                                return percentage_mirror
168                        else:
169                                return 0       
170               
171                except Exception as e:
172                        return 0       
173
174        #def getPercentageLliurexMirror
175                       
176        def getPackagesToUpdate(self):
177               
178                try:
179                        packages_parse=[]
180                        packages=self.llxUpCore.getPackagesToUpdate()
181                        if len(packages)>0:
182                                for item in packages:
183                                        version=packages[item]
184                                        packages_parse.append(item+";"+version['candidate']+";"+'20Mb')
185
186                        log_msg="Get packages to update: OK" 
187                        self.log(log_msg)               
188                        return packages_parse
189
190                except Exception as e:
191                        log_msg="Get packages to update. Error: " + str(e)
192                        self.log(log_msg)
193                        return packages_parse
194
195        #def getPackagesToUpdate
196                       
197        def log(self,msg):
198               
199                log_file="/var/log/lliurex-up.log"
200                f=open(log_file,"a+")
201                f.write(msg + '\n')
202                f.close()
203
204        #def log                       
Note: See TracBrowser for help on using the repository browser.