Changeset 3108


Ignore:
Timestamp:
Dec 19, 2016, 4:26:46 PM (2 years ago)
Author:
jrpelegrina
Message:

Wip in new gui. Add functions to Core

Location:
lliurex-up/trunk/fuentes
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • lliurex-up/trunk/fuentes/LliurexUpCore.py

    r3038 r3108  
    1515                self.changelogsPath = os.path.join(self.processPath,'changelogs')
    1616                self.processSourceslist = os.path.join(self.processPath,'sourceslist')
     17                self.targetMetapackagePath=os.path.join(self.processPath,"targetMetapackage")
    1718                self.previousflavourspath = os.path.join(self.processPath,'previousflavours')
    18 
    1919                self.preActionsPath = '/usr/share/lliurex-up/preActions'
    20                 self.postActionsPath = '/usr/share/lliurex-up/PostActions'
     20                self.postActionsPath = '/usr/share/lliurex-up/postActions'
    2121
    2222                self.n4d = xmlrpclib.ServerProxy('https://localhost:9779')
    2323                self.haveLliurexMirror = False
     24                self.metapackageRef=[]
    2425                self.previuosFlavours = []
     26                self.getTargetMetapackage()
    2527                self.flavours = []
    2628                self.getPreviuosFlavours()
     
    3941
    4042
     43        def getTargetMetapackage(self):
     44
     45                if os.path.exists(self.targetMetapackagePath):
     46                        aux = open(self.targetMetapackagePath,'r')
     47                        lines = aux.readlines()
     48                        for x in lines:
     49                                self.metapackageRef.append(x.strip())
     50                        aux.close()             
     51
     52        def saveTargetMetapackage(self,targetMetapackage):
     53
     54                aux=open(self.targetMetapackagePath,'w')
     55                x=targetMetapackage.split("-")[2]
     56                aux.write(x+"\n")
     57                x="edu"
     58                aux.write(x+"\n")
     59                aux.close()
     60               
     61
    4162        def updateFlavoursList(self):
    4263                self.flavours = [ x.strip() for x in self.n4d.lliurex_version('','LliurexVersion','-v')[1].split(',') ]
     
    6081                if not os.path.exists(self.processPath):
    6182                        os.mkdir(self.processPath)
    62                 if not os.path.exists(processSourceslist):
     83                if not os.path.exists(self.processSourceslist):
    6384                        os.mkdir(self.processSourceslist)
    6485                if not os.path.exists(self.changelogsPath):
     
    182203                                                targetMetapackage = x[2:]
    183204                                                break
     205
     206                if targetMetapackage !=None:
     207                        self.saveTargetMetapackage(targetMetapackage)                           
    184208                return targetMetapackage
    185209
     
    217241        def postActionsScript(self):
    218242                return 'run-parts --arg="postActions" ' + self.postActionsPath
     243
     244
     245        def installInitialFlavour(self,flavourToInstall,options=""):
     246                '''
     247                        Args :
     248                                flavourToInstall String
     249                                options String
     250                        return dictionary => result
     251                        result : {'returncode':Int,'stdout':String,'stderr':String}
     252
     253                        options are Apt options
     254                       
     255
     256                        This function install lliurex-up
     257                '''
     258                command = "LANG=C apt-get install " + flavourToInstall + "{options} ".format(options=options)
     259                p = subprocess.Popen(command,shell=True,stdout=subprocess.PIPE)
     260                poutput,perror = p.communicate()
     261                return {'returncode':p.returncode,'stdout':poutput,'stderrs':perror}   
    219262
    220263        def getPackagesToUpdate(self):
     
    255298
    256299
     300        def distUpgradeProcess(self):
     301       
     302                return 'apt-get dist-upgrade --yes --force-yes'
     303
     304
     305        def installFinalFlavour(self,flavourToInstall):
     306
     307                return 'apt-get install ' + flavourToInstall + ' --yes --force-yes'
     308               
     309       
     310
    257311if __name__ == '__main__':
    258312        x = LliurexUpCore()
  • lliurex-up/trunk/fuentes/lliurex-up-gui/LliurexUpConnect.py

    r3094 r3108  
    2929                self.installflavour_token=os.path.join(self.llxUpCore.processPath,'installflavour_token')
    3030                self.postactions_token=os.path.join(self.llxUpCore.processPath,'postactions_token')
     31                self.errorupgrade_token=os.path.join(self.llxUpCore.processPath,'errorupgrade_token')
    3132
    3233                self.checkInitialFlavour()
     
    258259
    259260
     261        def installInitialFlavour(self,flavourToInstall):
     262
     263                try:
     264                        is_flavour_installed=self.llxUpCore.installInitialFlavour(flavourToInstall)
     265                        return is_flavour_installed
     266                        self.log(is_flavour_installed)
     267
     268                except Exception as e:
     269                        print str(e)
     270
     271
    260272        def getPackagesToUpdate(self):
    261273               
     
    323335                        print str(e)   
    324336
     337
    325338        def distUpgradeProcess(self):
    326339               
    327                 self.distupgrade='apt-get dist-upgrade -sV ;touch ' + self.upgrade_token + '\n'
     340                self.distupgrade=self.llxUpCore.distUpgradeProcess()   
     341                self.distupgrade=self.distupgrade + ' ;touch ' + self.upgrade_token + '\n'
    328342       
    329343                return self.distupgrade
    330344
     345
     346        def checkErrorDistUpgrade(self):
     347
     348                count=0
     349                if os.path.exists(self.errorupgrade_token):
     350                        aux = open(self.errorupgrade_token,'r')
     351                        lines = aux.readlines()
     352                        for x in lines:
     353                                if 'E: ' in x:
     354                                        count=count+1
     355                        aux.close()
     356
     357                if count==0:
     358                        return True
     359                else:
     360                        return False                   
    331361
    332362
     
    352382        def installFinalFlavour(self,flavourToInstall):
    353383
    354                 self.command='apt-get install ' + flavourToInstall + ' -sV ;touch ' + self.installflavour_token + '\n'
     384                self.command=self.llxUpCore.installFinalFlavour(flavourToInstall)
     385                self.command=self.command + ' ;touch ' + self.installflavour_token + '\n'
    355386                return self.command
    356387
     
    359390                try:
    360391                        self.postActions=self.llxUpCore.postActionsScript()
    361                         self.postActions=self.postActions + ' ;touch ' + self.postactions_token + '\n'
     392                        self.postActions=self.postActions + ' 2> >(tee ' + self.errorupgrade_token + ') ;touch ' + self.postactions_token + '\n'
    362393                        return self.postActions
    363394
  • lliurex-up/trunk/fuentes/lliurex-up-gui/LliurexUpCore.py

    r3094 r3108  
    1818                self.previousflavourspath = os.path.join(self.processPath,'previousflavours')
    1919                self.preActionsPath = '/usr/share/lliurex-up/preActions'
    20                 self.postActionsPath = '/usr/share/lliurex-up/PostActions'
     20                self.postActionsPath = '/usr/share/lliurex-up/postActions'
    2121
    2222                self.n4d = xmlrpclib.ServerProxy('https://localhost:9779')
     
    205205
    206206                if targetMetapackage !=None:
    207                         print targetMetapackage
    208207                        self.saveTargetMetapackage(targetMetapackage)                           
    209208                return targetMetapackage
     
    242241        def postActionsScript(self):
    243242                return 'run-parts --arg="postActions" ' + self.postActionsPath
     243
     244
     245        def installInitialFlavour(self,flavourToInstall,options=""):
     246                '''
     247                        Args :
     248                                flavourToInstall String
     249                                options String
     250                        return dictionary => result
     251                        result : {'returncode':Int,'stdout':String,'stderr':String}
     252
     253                        options are Apt options
     254                       
     255
     256                        This function install lliurex-up
     257                '''
     258                command = "LANG=C apt-get install " + flavourToInstall + "{options} ".format(options=options)
     259                p = subprocess.Popen(command,shell=True,stdout=subprocess.PIPE)
     260                poutput,perror = p.communicate()
     261                return {'returncode':p.returncode,'stdout':poutput,'stderrs':perror}   
    244262
    245263        def getPackagesToUpdate(self):
     
    280298
    281299
     300        def distUpgradeProcess(self):
     301       
     302                return 'apt-get dist-upgrade --yes --force-yes'
     303
     304
     305        def installFinalFlavour(self,flavourToInstall):
     306
     307                return 'apt-get install ' + flavourToInstall + ' --yes --force-yes'
     308               
     309       
     310
    282311if __name__ == '__main__':
    283312        x = LliurexUpCore()
  • lliurex-up/trunk/fuentes/lliurex-up-gui/lliurex-up.py

    r3094 r3108  
    201201                        os.environ['HOME'],
    202202                        #["/usr/sbin/dpkg-reconfigure", "xdm"],
    203                         ["/bin/sh"],
     203                        ["/bin/bash"],
    204204                        [],
    205205                        GLib.SpawnFlags.DO_NOT_REAP_CHILD,
     
    859859                        self.flavourToInstall=self.llxup_connect.requiresInstallFlavour()
    860860                        if self.flavourToInstall != None:
     861                                print self.flavourToInstall
    861862                                print "[Lliurex-up]: Installation of flavour is required"
     863                                is_flavour_installed=self.llxup_connect.installInitialFlavour(self.flavourToInstall)   
     864                                self.checkInitialFlavourToInstall_t.done=True   
    862865                        else:
    863866                                print "[Lliurex-up]: Installation of flavour is not required"
    864                
    865                 self.checkInitialFlavourToInstall_t.done=True   
    866 
     867                                self.checkInitialFlavourToInstall_t.done=True   
     868
     869                else:
     870                        print self.flavourToInstall
     871                        print "[Lliurex-up]: Installation of flavour is required"
     872                        is_flavour_installed=self.llxup_connect.installInitialFlavour(self.flavourToInstall)   
     873                        self.checkInitialFlavourToInstall_t.done=True                   
    867874
    868875        def gather_packages(self):
     
    10451052                                                        self.pbar_label.hide()
    10461053                                                        self.terminal_label.set_name("CHANGELOG_FONT")
    1047                                                         msg_updgrade_running="<span><b>" + _("The system is now update") + "</b></span>"
     1054                                                        if self.llxup_connect.checkErrorDistUpgrade():
     1055                                                                msg_updgrade_running="<span><b>" + _("The system is now update") + "</b></span>"
     1056                                                       
     1057                                                        else:
     1058                                                                msg_updgrade_running="<span><b>" + _("The updated proces is endend with errors") + "</b></span>"
     1059                                                       
    10481060                                                        self.update_button_box.set_name("UPDATE_BUTTON_END_COLOR")
    10491061                                                        self.terminal_label.set_markup(msg_updgrade_running)
Note: See TracChangeset for help on using the changeset viewer.