mirror of
				https://mojerepo.cf/NeoBoot/NeoBoot-9.git
				synced 2025-10-31 02:05:48 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			1559 lines
		
	
	
		
			104 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			1559 lines
		
	
	
		
			104 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| #!/usr/bin/python
 | |
| # -*- coding: utf-8 -*-  
 | |
| ####################### _(-_-)_ gutosie _(-_-)_ ####################### 
 | |
|                                  
 | |
| #neoboot modules
 | |
| from __init__ import _
 | |
| from Plugins.Extensions.NeoBoot.files.stbbranding import getLabelDisck, getINSTALLNeo, getNeoLocation, getNeoMount, getNeoMount2, getFSTAB, getFSTAB2, getKernelVersionString, getKernelImageVersion, getCPUtype, getCPUSoC,  getImageNeoBoot, getBoxVuModel, getBoxHostName, getTunerModel                    
 | |
| from Plugins.Extensions.NeoBoot.files import Harddisk
 | |
| from Components.About import about                                                                                                                                                    
 | |
| from enigma import getDesktop
 | |
| from enigma import eTimer
 | |
| from Screens.Screen import Screen                                                                                                                                               
 | |
| from Screens.Console import Console
 | |
| from Screens.MessageBox import MessageBox
 | |
| from Screens.ChoiceBox import ChoiceBox
 | |
| from Screens.VirtualKeyBoard import VirtualKeyBoard
 | |
| from Screens.Standby import TryQuitMainloop
 | |
| from Components.About import about
 | |
| from Components.Sources.List import List
 | |
| from Components.Button import Button
 | |
| from Components.ActionMap import ActionMap, NumberActionMap
 | |
| from Components.GUIComponent import *
 | |
| from Components.MenuList import MenuList
 | |
| from Components.Input import Input
 | |
| from Components.Label import Label
 | |
| from Components.ProgressBar import ProgressBar
 | |
| from Components.ScrollLabel import ScrollLabel
 | |
| from Components.Pixmap import Pixmap, MultiPixmap
 | |
| from Components.config import *
 | |
| from Components.ConfigList import ConfigListScreen
 | |
| from Tools.LoadPixmap import LoadPixmap
 | |
| from Tools.Directories import fileExists, pathExists, createDir, resolveFilename, SCOPE_PLUGINS
 | |
| from os import system, listdir, mkdir, chdir, getcwd, rename as os_rename, remove as os_remove, popen
 | |
| from os.path import dirname, isdir, isdir as os_isdir
 | |
| import os
 | |
| import time
 | |
| # Copyright (c) , gutosie  license
 | |
| # 
 | |
| # Redystrybucja wersji programu i dokonywania modyfikacji JEST DOZWOLONE, pod warunkiem zachowania niniejszej informacji o prawach autorskich. 
 | |
| # Autor NIE ponosi JAKIEJKOLWIEK odpowiedzialności za skutki użtkowania tego programu oraz za wykorzystanie zawartych tu informacji.
 | |
| # Modyfikacje przeprowadzasz na wlasne ryzyko!!!
 | |
| # O wszelkich zmianach prosze poinformować na  http://all-forum.cba.pl   w temacie pod nazwa  	 -#[NEOBOOT]#-
 | |
| 
 | |
| # This text/program is free document/software. Redistribution and use in
 | |
| # source and binary forms, with or without modification, ARE PERMITTED provided
 | |
| # save this copyright notice. This document/program is distributed WITHOUT any
 | |
| # warranty, use at YOUR own risk.
 | |
| 
 | |
| PLUGINVERSION = '1.00'
 | |
| UPDATEVERSION = '1.01'
 | |
| 
 | |
| def Freespace(dev):
 | |
|     statdev = os.statvfs(dev)
 | |
|     space = statdev.f_bavail * statdev.f_frsize / 1024
 | |
|     print '[NeoBoot] Free space on %s = %i kilobytes' % (dev, space)
 | |
|     return space
 | |
| 
 | |
| 
 | |
| #def Log(param = '')
 | |
| 	
 | |
| 
 | |
| class MyUpgrade(Screen):
 | |
|     screenwidth = getDesktop(0).size().width()
 | |
|     if screenwidth and screenwidth == 1920:
 | |
|         skin = """<screen position="center,center" size="1280,570" title="Tools Neoboot">
 | |
|                   <ePixmap position="594,226" zPosition="-2" size="623,313" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/matrix.png" />
 | |
|                   <widget source="list" render="Listbox" position="33,127" size="1229,82" scrollbarMode="showOnDemand">
 | |
|                   <convert type="TemplatedMultiContent">\
 | |
|                     {"template": [MultiContentEntryText(pos = (90, 1), size = (920, 66), flags = RT_HALIGN_LEFT|RT_VALIGN_CENTER, text = 0),
 | |
|                                   MultiContentEntryPixmapAlphaTest(pos = (8, 4), size = (66, 66), png = 1),
 | |
|                                  ],
 | |
|                                  "fonts": [gFont("Regular", 40)],
 | |
|                                  "itemHeight": 66
 | |
|                     }
 | |
|                   </convert>
 | |
|                   </widget>
 | |
|                   <eLabel text="NeoBoot wykry\xc5\x82 nowsz\xc4\x85 wersj\xc4\x99. " font="Regular; 40" position="27,40" size="1042,70" halign="center" foregroundColor="red" backgroundColor="black" transparent="1" />
 | |
|                   <eLabel text="EXIT - Zrezygnuj" font="Regular; 40" position="27,441" size="389,80" halign="center" foregroundColor="yellow" backgroundColor="black" transparent="1" />
 | |
|                 </screen>"""
 | |
|     else:
 | |
|         skin = """<screen position="center,center" size="1127,569" title="Tools NeoBoot">
 | |
|                   <ePixmap position="492,223" zPosition="-2" size="589,298" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/matrix.png" />
 | |
|                   <widget source="list" render="Listbox" position="18,122" size="1085,82" scrollbarMode="showOnDemand">
 | |
|                     <convert type="TemplatedMultiContent">
 | |
|                       {"template": [MultiContentEntryText(pos = (90, 1), size = (920, 66), flags = RT_HALIGN_LEFT|RT_VALIGN_CENTER, text = 0),
 | |
|                                     MultiContentEntryPixmapAlphaTest(pos = (8, 4), size = (66, 66), png = 1),
 | |
|                                    ],
 | |
|                                    "fonts": [gFont("Regular", 40)],
 | |
|                                    "itemHeight": 66
 | |
|                       }
 | |
|                     </convert>
 | |
|                   </widget>
 | |
|                   <eLabel text="NeoBoot wykry\xc5\x82 nowsz\xc4\x85 wersj\xc4\x99 wtyczki. " font="Regular; 40" position="27,40" size="1042,70" halign="center" foregroundColor="red" backgroundColor="black" transparent="1" />
 | |
|                   <eLabel text="EXIT - Zrezygnuj" font="Regular; 40" position="27,441" size="389,80" halign="center" foregroundColor="yellow" backgroundColor="black" transparent="1" />
 | |
|                 </screen>"""
 | |
|     __module__ = __name__
 | |
| 
 | |
|     def __init__(self, session):
 | |
|         Screen.__init__(self, session)
 | |
|         self.list = []
 | |
|         self['list'] = List(self.list)
 | |
|         self.wybierz()
 | |
|         self['actions'] = ActionMap(['WizardActions', 'ColorActions'], {'ok': self.KeyOk,
 | |
|          'back': self.changever})
 | |
| 
 | |
|     def changever(self):
 | |
| 		
 | |
|         ImageChoose = self.session.open(NeoBootImageChoose)
 | |
|         if fileExists('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location'):
 | |
|             out = open('%sImageBoot/.version' % getNeoLocation(), 'w')
 | |
|             out.write(PLUGINVERSION)
 | |
|             out.close()
 | |
|             self.close()
 | |
|         else:
 | |
|             self.close(self.session.open(MessageBox, _('No file location NeoBot, do re-install the plugin.'), MessageBox.TYPE_INFO, 10))
 | |
|             self.close()
 | |
|         return ImageChoose
 | |
| 
 | |
|     def wybierz(self):
 | |
|         self.list = []
 | |
|         mypath = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot'
 | |
|         if not fileExists(mypath + 'icons'):
 | |
|             mypixmap = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/ok.png'
 | |
|         png = LoadPixmap(mypixmap)
 | |
|         res = (_('Update neoboot in all images ?'), png, 0)
 | |
|         self.list.append(res)
 | |
|         self['list'].list = self.list
 | |
| 
 | |
|     def KeyOk(self):
 | |
| 		
 | |
|         self.sel = self['list'].getCurrent()
 | |
|         if self.sel:
 | |
|             self.sel = self.sel[2]
 | |
|         if self.sel == 0 and self.session.open(MyUpgrade2):
 | |
|             pass
 | |
|         self.close()
 | |
| 
 | |
| 
 | |
| class MyUpgrade2(Screen):
 | |
|     screenwidth = getDesktop(0).size().width()
 | |
|     if screenwidth and screenwidth == 1920:
 | |
|         skin = '<screen position="center,center" size="900,450" title="NeoBoot"><widget name="lab1" position="23,42" size="850,350" font="Regular;35" halign="center" valign="center" transparent="1"/></screen>'
 | |
|     else:
 | |
|         skin = '<screen position="center,center" size="400,200" title="NeoBoot"><widget name="lab1" position="10,10" size="380,180" font="Regular;24" halign="center" valign="center" transparent="1"/></screen>'
 | |
| 
 | |
|     def __init__(self, session):		
 | |
|         Screen.__init__(self, session)
 | |
|         self['lab1'] = Label(_('NeoBoot: Upgrading in progress\nPlease wait...'))
 | |
|         self.activityTimer = eTimer()
 | |
|         self.activityTimer.timeout.get().append(self.updateInfo)
 | |
|         self.onShow.append(self.startShow)
 | |
| 
 | |
|     def startShow(self):		
 | |
|         self.activityTimer.start(10)
 | |
| 
 | |
|     def updateInfo(self):		
 | |
|         self.activityTimer.stop()
 | |
|         f2 = open('%sImageBoot/.neonextboot' % getNeoLocation(), 'r')
 | |
|         mypath2 = f2.readline().strip()
 | |
|         f2.close()
 | |
|         if fileExists('/.multinfo'):
 | |
|             self.myClose(_('Sorry, NeoBoot can installed or upgraded only when booted from Flash.'))
 | |
|             self.close()
 | |
|         elif mypath2 != 'Flash':
 | |
|             self.myClose(_('Sorry, NeoBoot can installed or upgraded only when booted from Flash.'))
 | |
|             self.close()
 | |
|         else:
 | |
|             for fn in listdir('%sImageBoot' % getNeoLocation() ):
 | |
|                 dirfile = '%sImageBoot/ ' % getNeoLocation() + fn
 | |
|                 if isdir(dirfile):
 | |
|                     target = dirfile + '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot'
 | |
|                     cmd = 'rm -r ' + target + ' > /dev/null 2>&1'
 | |
|                     system(cmd)
 | |
|                     cmd = 'cp -r /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot ' + target
 | |
|                     system(cmd)
 | |
|           
 | |
|             out = open('%sImageBoot/.version' % getNeoLocation(), 'w')
 | |
|             out.write(PLUGINVERSION)
 | |
|             out.close()
 | |
|             self.myClose(_('NeoBoot successfully updated. You can restart the plugin now.\nHave fun !!!'))
 | |
| 
 | |
| 
 | |
|     def myClose(self, message):				
 | |
|         ImageChoose = self.session.open(NeoBootImageChoose)
 | |
|         self.session.open(MessageBox, message, MessageBox.TYPE_INFO)
 | |
|         self.close(ImageChoose)
 | |
| 
 | |
| 
 | |
| class MyHelp(Screen):
 | |
|     screenwidth = getDesktop(0).size().width()
 | |
|     if screenwidth and screenwidth == 1920:
 | |
|         skin = """<screen position="center,center" size="1920,1080" borderWidth="0" borderColor="transpBlack" flags="wfNoBorder">
 | |
|                     <eLabel text="INFORMACJE NeoBoot" font="Regular; 35" position="71,20" size="1777,112" halign="center" foregroundColor="yellow" backgroundColor="black" transparent="1" />
 | |
|                     <widget name="lab1" position="69,134" size="1780,913" font="Regular;35"    />
 | |
|                   </screen>"""
 | |
|     else:
 | |
|         skin = """<screen position="center,center" size="1280,720" title="NeoBoot - Informacje">
 | |
|                     <widget name="lab1" position="18,19" size="1249,615" font="Regular;20" backgroundColor="black" transparent="1" />
 | |
|                   </screen>"""
 | |
|     __module__ = __name__
 | |
| 
 | |
|     def __init__(self, session):
 | |
| 		
 | |
|         Screen.__init__(self, session)
 | |
|         self['lab1'] = ScrollLabel('')
 | |
|         self['actions'] = ActionMap(['WizardActions', 'ColorActions', 'DirectionActions'], {'back': self.close,
 | |
|          'ok': self.close,
 | |
|          'up': self['lab1'].pageUp,
 | |
|          'left': self['lab1'].pageUp,
 | |
|          'down': self['lab1'].pageDown,
 | |
|          'right': self['lab1'].pageDown})
 | |
|         self['lab1'].hide()
 | |
|         self.updatetext()
 | |
| 
 | |
|     def updatetext(self):
 | |
| 		
 | |
|         message = _('NeoBoot Ver. ' + PLUGINVERSION + '  Enigma2\n\nDuring the entire installation process does not restart the receiver !!!\n\n')
 | |
|         message += _('NeoBoot Ver. updates ' + UPDATEVERSION + '  \n\n')
 | |
|         message = _('For proper operation NeoBota type device is required USB stick or HDD, formatted on your system files Linux ext3 or ext4..\n\n')
 | |
|         message += _('1. If you do not have a media formatted with the ext3 or ext4 is open to the Device Manager <Initialize>, select the drive and format it.\n\n')
 | |
|         message += _('2. Go to the device manager and install correctly hdd and usb ...\n\n')
 | |
|         message += _('3. Install NeoBota on the selected device.\n\n')
 | |
|         message += _('4. Install the needed packages...\n\n')
 | |
|         message += _('5. For proper installation XenoBota receiver must be connected to the Internet.\n\n')
 | |
|         message += _('6. In the event of a problem with the installation cancel and  inform the author of the plug of a problem.\n\n')
 | |
|         message += _('Have fun !!!')
 | |
|         self['lab1'].show()
 | |
|         self['lab1'].setText(message)
 | |
| 
 | |
| 
 | |
| class Opis(Screen):
 | |
|     screenwidth = getDesktop(0).size().width()
 | |
|     if screenwidth and screenwidth == 1920:
 | |
|         skin = """<screen position="center,center" size="1920,1080" flags="wfNoBorder">
 | |
|                   <ePixmap position="0,0" zPosition="-1" size="1920,1080" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/frame_base-fs8.png"  />
 | |
|                   <widget source="session.VideoPicture" render="Pig" position=" 1253,134" size="556,313" zPosition="3" backgroundColor="#ff000000"/>
 | |
|                   <eLabel text="INFORMACJE NeoBoot" position="340,50"  size="500,55" font="Regular;40" halign="left" foregroundColor="#58bcff" backgroundColor="black" transparent="1"/>
 | |
|                   <widget name="key_red" position="30,950" size="430,50" zPosition="1" font="Regular; 30" halign="center" backgroundColor="red" transparent="1" foregroundColor="white" />
 | |
|                   <ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/scroll.png" position="1144,160" size="26,685" zPosition="5" alphatest="blend"/>
 | |
|                   <ePixmap position="1350,750" zPosition="1" size="400,241" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/matrixhd.png" />
 | |
|                   <ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/red25.png" position="100,1000" size="230,36" alphatest="blend" />
 | |
|                   <widget name="lab1" position="100,160" size="1070,680" font="Regular; 30"  backgroundColor="black" transparent="1" />
 | |
|                 </screen>"""                  		 		   		
 | |
|     else:
 | |
|         skin = """<screen position="center,center" size="1280,720" title="NeoBoot - Informacje">
 | |
|                   <ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/1frame_base-fs8.png"  position="0,0" zPosition="-1" size="1280,720" />
 | |
|                   <ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/red25.png" position="50,680" size="230,36" alphatest="blend"  />
 | |
|                   <widget name="key_red" position="35,630" zPosition="1" size="270,40" font="Regular;20" halign="center" valign="center" backgroundColor="red" transparent="1" />
 | |
|                   <widget name="lab1" position="50,100" size="730,450" font="Regular;20" backgroundColor="black"  />
 | |
|                   <widget source="session.VideoPicture" render="Pig" position=" 836,89" size="370,208" zPosition="3" backgroundColor="#ff000000" />
 | |
|                   <widget source="Title" render="Label"  position="200,25" size="800,30" font="Regular;28" halign="left" foregroundColor="#58bcff" backgroundColor="transpBlack" transparent="1"/>
 | |
|                   <ePixmap position="920,520" zPosition="1" size="228,130" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/1matrix.png" />
 | |
|                   <ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/scroll.png" position="754,100" size="26,455" zPosition="5" alphatest="blend" backgroundColor="black" transparent="1" />
 | |
|                 </screen>"""
 | |
|     __module__ = __name__
 | |
| 
 | |
|     def __init__(self, session):		
 | |
|         Screen.__init__(self, session)
 | |
|         self['key_red'] = Label(_('Remove NeoBoot of STB'))
 | |
|         self['lab1'] = ScrollLabel('')
 | |
|         self['actions'] = ActionMap(['WizardActions', 'ColorActions', 'DirectionActions'], {'back': self.close,
 | |
|          'red': self.delete,
 | |
|          'ok': self.close,
 | |
|          'up': self['lab1'].pageUp,
 | |
|          'left': self['lab1'].pageUp,
 | |
|          'down': self['lab1'].pageDown,
 | |
|          'right': self['lab1'].pageDown})
 | |
|         self['lab1'].hide()
 | |
|         self.updatetext()
 | |
| 
 | |
|     def updatetext(self):		
 | |
|         message = _('NeoBoot Ver. ' + PLUGINVERSION + '\n\n')
 | |
|         message += _('NeoBoot Ver. updates ' + UPDATEVERSION + '\n\n')
 | |
|         message += _('1. Requirements: For proper operation of the device NeoBota are required USB stick or HDD.\n\n')
 | |
|         message += _('2. NeoBot is fully automated\n\n')
 | |
|         message += _('3. To install a new image in MultiBocie should be sent by FTP software file compressed in ZIP or NIF to the folder: \n%sImagesUpload and remote control plugin NeoBoot use the green button <Installation>\n\n')
 | |
|         message += _('4. For proper installation and operation of additional image multiboot, use only the image intended for your receiver. !!!\n\n')
 | |
|         message += _('5. By installing the multiboot images of a different type than for your model STB DOING THIS AT YOUR OWN RISK !!!\n\n')
 | |
|         message += _('6. The installed to multiboot images, it is not indicated update to a newer version.\n\n')
 | |
|         message += _('The authors plug NeoBot not liable for damage a receiver, NeoBoota incorrect use or installation of unauthorized additions or images.!!!\n\n')
 | |
|         message += _('Have fun !!!')
 | |
|         message += _('\nCompletely uninstall NeoBota: \nIf you think NeoBot not you need it, you can uninstall it.\nTo uninstall now press the red button on the remote control.\n\n')
 | |
|         self['lab1'].show()
 | |
|         self['lab1'].setText(message)
 | |
| 
 | |
|     def delete(self):		
 | |
|         message = _('Are you sure you want to completely remove NeoBoota of your image?\n\nIf you choose so all directories NeoBoota will be removed.\nA restore the original image settings Flash.')
 | |
|         ybox = self.session.openWithCallback(self.mbdelete, MessageBox, message, MessageBox.TYPE_YESNO)
 | |
|         ybox.setTitle(_('Removed successfully.'))
 | |
| 
 | |
|     def mbdelete(self, answer):		
 | |
|         if answer is True:
 | |
|             cmd = "echo -e '\n\n%s '" % _('Recovering setting....\n')
 | |
|             cmd1 = 'rm -R /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot; rm -R %sImageBoot/.Flash; rm -R %sImageBoot/.neonextboot; rm -R %sImageBoot/.version'
 | |
|             cmd2 = 'rm -R /sbin/neoinit*'
 | |
|             cmd3 = 'ln -sfn /sbin/init.sysvinit /sbin/init'     
 | |
|             cmd4 = 'opkg install volatile-media; sleep 2; killall -9 enigma2'  
 | |
|             self.session.open(Console, _('NeoBot was removed !!! \nThe changes will be visible only after complete restart of the receiver.'), [cmd,
 | |
|              cmd1,
 | |
|              cmd2,
 | |
|              cmd3,
 | |
|              cmd4,])
 | |
|             self.close()
 | |
| 
 | |
|           
 | |
| class NeoBootInstallation(Screen):
 | |
|     screenwidth = getDesktop(0).size().width()
 | |
|     if screenwidth and screenwidth == 1920:
 | |
|         skin = """<screen position="410,138" size="1200,850" title="NeoBoot">
 | |
|                     <widget name="label3" position="10,632" size="1178,114" zPosition="1" halign="center" font="Regular;35" backgroundColor="black" transparent="1" foregroundColor="blue" />
 | |
|                     <ePixmap position="643,282" zPosition="-2" size="531,331" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/matrix.png" />
 | |
|                     <eLabel position="15,76" size="1177,2" backgroundColor="blue" foregroundColor="blue" name="linia" /><eLabel position="10,622" size="1168,3" backgroundColor="blue" foregroundColor="blue" name="linia" />
 | |
|                     <eLabel position="14,752" size="1168,3" backgroundColor="blue" foregroundColor="blue" name="linia" /><eLabel position="15,276" size="1183,2" backgroundColor="blue" foregroundColor="blue" name="linia" />
 | |
|                     <widget name="label1" position="14,4" size="1180,62" zPosition="1" halign="center" font="Regular;35" backgroundColor="black" transparent="1" foregroundColor="red" />
 | |
|                     <widget name="label2" position="15,82" size="1178,190" zPosition="1" halign="center" font="Regular;35" backgroundColor="black" transparent="1" foregroundColor="blue" />
 | |
|                     <widget name="config" position="15,285" size="641,329" font="Regular; 32" itemHeight="42" selectionPixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/selektor.png" scrollbarMode="showOnDemand" />
 | |
|                     <ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/redcor.png" position="48,812" size="140,28" alphatest="on" />
 | |
|                     <ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/greencor.png" position="311,816" size="185,28" alphatest="on" />
 | |
|                     <ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/yellowcor.png" position="614,815" size="150,28" alphatest="on" />
 | |
|                     <ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/bluecor.png" position="958,817" size="140,26" alphatest="on" />
 | |
|                     <widget name="key_red" position="19,760" zPosition="1" size="221,47" font="Regular; 35" halign="center" valign="center" backgroundColor="red" transparent="1" foregroundColor="red" />
 | |
|                     <widget name="key_green" position="289,761" zPosition="1" size="227,47" font="Regular; 35" halign="center" valign="center" backgroundColor="green" transparent="1" foregroundColor="green" />
 | |
|                     <widget name="key_yellow" position="583,760" zPosition="1" size="224,51" font="Regular; 35" halign="center" valign="center" backgroundColor="yellow" transparent="1" foregroundColor="yellow" />
 | |
|                     <widget name="key_blue" position="856,761" zPosition="1" size="326,52" font="Regular; 35" halign="center" valign="center" backgroundColor="blue" transparent="1" foregroundColor="blue" />
 | |
|                 </screen>"""
 | |
|     else:
 | |
|         skin = """<screen position="center, center" size="835, 500" title="NeoBoot">
 | |
|         <ePixmap position="0,0" zPosition="-1" size="835,500" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/frame835x500.png"  />
 | |
|         <widget name="label1" position="10,15" size="840,30" zPosition="1" halign="center" font="Regular;25" foregroundColor="red" backgroundColor="black" transparent="1" />
 | |
|         \n  <widget name="label2" position="7,100" size="840,296" zPosition="1" halign="center" font="Regular;20" backgroundColor="black" foregroundColor="#58ccff" transparent="1"/>
 | |
|         <widget name="config" position="220,200" size="440,207" backgroundColor="black" selectionPixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/selektor1.png" scrollbarMode="showOnDemand"  />
 | |
|         <ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/redcor.png" position="48,406" size="140,40" alphatest="on"    />
 | |
|         \n  <ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/greencor.png" position="246,406" size="140,40" alphatest="on" />
 | |
|         \n  <ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/yellowcor.png" position="474,406" size="150,40" alphatest="on" />
 | |
|         \n  <ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/bluecor.png" position="675,406" size="140,40" alphatest="on" />
 | |
|         \n  <widget name="key_red" position="48,406" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="red" transparent="1" />
 | |
|         \n  <widget name="key_green" position="248,406" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="green" transparent="1" />
 | |
|         \n  <widget name="key_yellow" position="474,406" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="yellow" transparent="1" />
 | |
|         \n  <widget name="key_blue" position="672,415" zPosition="1" size="145,45" font="Regular;20" halign="center" valign="center" backgroundColor="blue" transparent="1" />
 | |
|         \n  <widget name="label3" position="20,339" size="816,61" zPosition="1" halign="center" font="Regular;24" backgroundColor="black" transparent="1" foregroundColor="#58ccff" />
 | |
|         </screen>"""
 | |
| 
 | |
|     def __init__(self, session):
 | |
|         Screen.__init__(self, session)
 | |
|         self.list = []
 | |
|         self['config'] = MenuList(self.list)
 | |
|         self['key_red'] = Label(_('Instruction'))
 | |
|         self['key_green'] = Label(_('Installation'))
 | |
|         self['key_yellow'] = Label(_('Info disc'))
 | |
|         self['key_blue'] = Label(_('Device Manager'))
 | |
|         self['label1'] = Label(_('Welcome to NeoBoot %s Plugin installation.') % PLUGINVERSION)
 | |
|         self['label3'] = Label(_('WARNING !!! First, mount the device.'))
 | |
|         self['label2'] = Label(_('Here is the list of mounted devices in Your STB\nPlease choose a device where You would like to install NeoBoot'))
 | |
|         self['actions'] = ActionMap(['WizardActions', 'ColorActions', 'DirectionActions'], {'red': self.Instrukcja,                  
 | |
|          'green': self.install,
 | |
|          'yellow': self.datadrive,
 | |
|          'blue': self.devices, 
 | |
|          'back': self.close})             
 | |
|         self.updateList()
 | |
|                 
 | |
|     def Instrukcja(self):
 | |
|         self.session.open(MyHelp)
 | |
| 
 | |
|     def datadrive(self):
 | |
|         try:
 | |
|             message = "echo -e '\n"
 | |
|             message += _('NeoBot checks the connected media.\nWAIT ...\n\nDISCS:')
 | |
|             message += "'"
 | |
|             os.system(" 'mount | sed '/sd/!d' | cut -d" " -f1,2,3,4,5' ")
 | |
|             cmd = '/sbin/blkid '
 | |
|             system(cmd)
 | |
|             print '[MULTI-BOOT]: ', cmd
 | |
|             self.session.open(Console, _('    NeoBot - Available media:'), [message, cmd])
 | |
|         except:
 | |
|             pass
 | |
| 
 | |
|     def updateList(self):
 | |
|         if fileExists('/proc/mounts'):
 | |
|             with open('/proc/mounts', 'r') as f:
 | |
|                 for line in f.readlines():
 | |
|                     if line.startswith('/dev/sd') and line.find('/media/neoboot') == -1 and (line.find('ext4') != -1 or line.find('ext3') != -1):
 | |
|                         try: self.list.append(line.split(' ')[1] + '/')
 | |
|                         except Exception: pass # nie powinno sie zdarzyc, ale w razie czego
 | |
|         if len(self.list) == 0:
 | |
|             self['label2'].setText(_('Sorry it seems that there are not Linux formatted devices mounted on your STB. To install NeoBoot you need a Linux formatted part1 device. Click on the blue button to open Devices Panel'))
 | |
|         self['config'].setList(self.list)
 | |
|  
 | |
|     def checkReadWriteDir(self, configele):
 | |
|         from Plugins.Extensions.NeoBoot.files import Harddisk
 | |
|         import os.path
 | |
|         import Plugins.Extensions.NeoBoot.files.Harddisk
 | |
|         supported_filesystems = frozenset(('ext4', 'ext3', 'ext2', 'ntfs', 'nfs', ))
 | |
|         candidates = []
 | |
|         mounts = Harddisk.getProcMounts()
 | |
|         for partition in Harddisk.harddiskmanager.getMountedPartitions(False, mounts):
 | |
|             if partition.filesystem(mounts) in supported_filesystems:
 | |
|                 candidates.append((partition.description, partition.mountpoint))
 | |
| 
 | |
|         if candidates:
 | |
|             locations = []
 | |
|             for validdevice in candidates:
 | |
|                 locations.append(validdevice[1])
 | |
| 
 | |
|             if Harddisk.findMountPoint(os.path.realpath(configele)) + '/' in locations or Harddisk.findMountPoint(os.path.realpath(configele)) in locations:
 | |
|                 if fileExists(configele, 'w'):
 | |
|                     return True
 | |
|                 else:
 | |
|                     check = False
 | |
|                     if check == False:
 | |
|                         message = _('The directory %s is not a EXT2, EXT3, EXT4 or NFS partition.\nMake sure you select a valid partition type.')
 | |
|                         message += _('Do you want install NeoBoot ?\n')
 | |
|                         ybox = self.session.openWithCallback(self.install, MessageBox, message, MessageBox.TYPE_YESNO)
 | |
|                         ybox.setTitle(_('Install Manager'))
 | |
|                     else:
 | |
|                         dir = configele
 | |
|                         self.session.open(MessageBox, _('The directory %s is not writable.\nMake sure you select a writable directory instead.') % dir, type=MessageBox.TYPE_ERROR)
 | |
|                         return False
 | |
|             else:
 | |
|                 check = False
 | |
|                 if check == False:
 | |
|                     message = _('The directory %s is not a EXT2, EXT3, EXT4 or NFS partition.\nMake sure you select a valid partition type.')
 | |
|                     message += _('Do you want install NeoBoot ?\n')
 | |
|                     ybox = self.session.openWithCallback(self.install, MessageBox, message, MessageBox.TYPE_YESNO)
 | |
|                     ybox.setTitle(_('Install Manager'))
 | |
|                 else:
 | |
|                     dir = configele
 | |
|                     self.session.open(MessageBox, _('The directory %s is not a EXT2, EXT3, EXT4 or NFS partition.\nMake sure you select a valid partition type.') % dir, type=MessageBox.TYPE_ERROR)
 | |
|                     return False
 | |
|         else:
 | |
| 
 | |
|             check = False
 | |
|             if check == False:
 | |
|                 message = _('The directory %s is not a EXT2, EXT3, EXT4 or NFS partition.\nMake sure you select a valid partition type.')
 | |
|                 message += _('Do you want install NeoBoot ?\n')
 | |
|                 ybox = self.session.openWithCallback(self.install, MessageBox, message, MessageBox.TYPE_YESNO)
 | |
|                 ybox.setTitle(_('Install Manager'))
 | |
|             else:
 | |
|                 dir = configele
 | |
|                 self.session.open(MessageBox, _('The directory %s is not a EXT2, EXT3, EXT4 or NFS partition.\nMake sure you select a valid partition type.') % dir, type=MessageBox.TYPE_ERROR)
 | |
|                 return False
 | |
| 
 | |
| 
 | |
|     def devices(self):
 | |
|         check = False
 | |
|         if check == False:
 | |
|             message = _('After selecting OK start Mounting Manager, option Mount - green\n')
 | |
|             message += _('Do you want to run the manager to mount the drives correctly ?\n')
 | |
|             ybox = self.session.openWithCallback(self.device2, MessageBox, message, MessageBox.TYPE_YESNO)
 | |
|             ybox.setTitle(_('Device Manager'))
 | |
| 
 | |
|     def device2(self, yesno):
 | |
|         if yesno:
 | |
|             if fileExists('/usr/lib/enigma2/python/Plugins/SystemPlugins/DeviceManager*/devicemanager.cfg'):
 | |
|                 system('rm -f /usr/lib/enigma2/python/Plugins/SystemPlugins/DeviceManager*/devicemanager.cfg; touch /usr/lib/enigma2/python/Plugins/SystemPlugins/DeviceManager*/devicemanager.cfg')
 | |
|             if fileExists('/etc/devicemanager.cfg'):
 | |
|                 system(' rm -f /etc/devicemanager.cfg; touch /etc/devicemanager.cfg ')
 | |
|             from Plugins.Extensions.NeoBoot.files.devices import ManagerDevice
 | |
|             self.session.open(ManagerDevice)
 | |
|         else:
 | |
|             self.close()
 | |
| 
 | |
|     def install(self):
 | |
|         #if getFSTAB2() != 'OKinstall':
 | |
|             #self.session.open(MessageBox, _('NeoBot - First use the Device Manager and mount the drives correctly !!!'), MessageBox.TYPE_INFO, 7)
 | |
|             #self.close()
 | |
|         #else:
 | |
|             self.first_installation()
 | |
| 
 | |
|     def first_installation(self):
 | |
|         check = False
 | |
|         if fileExists('/proc/mounts'):
 | |
|             with open('/proc/mounts', 'r') as f:
 | |
|                 for line in f.readlines():
 | |
|                     if line.startswith('/dev/sd') and line.find('/media/neoboot') == -1 and (line.find('ext4') != -1 or line.find('ext3') != -1):
 | |
|                         check = True
 | |
|                         break
 | |
| 
 | |
|         if check == False:
 | |
|             self.session.open(MessageBox, _('Sorry, there is not any connected devices in your STB.\nPlease connect HDD or USB to install NeoBoot!'), MessageBox.TYPE_INFO)
 | |
|         else:
 | |
|             #if getFSTAB2() != 'OKinstall':
 | |
|                 #self.session.open(MessageBox, _('Device Manager encountered an error, disk drives not installed correctly !!!'), MessageBox.TYPE_INFO)
 | |
|                 #self.close()
 | |
|             self.mysel = self['config'].getCurrent()
 | |
|             if self.checkReadWriteDir(self.mysel):
 | |
|                 message = _('Do You really want to install NeoBoot in:\n ') + self.mysel + '?'
 | |
|                 ybox = self.session.openWithCallback(self.install2, MessageBox, message, MessageBox.TYPE_YESNO)
 | |
|                 ybox.setTitle(_('Install Confirmation'))
 | |
|             else:
 | |
|                 self.close()
 | |
| ################# Next Install #################
 | |
| 
 | |
|     def install2(self, yesno):		
 | |
|         print 'yesno:', yesno
 | |
|         if yesno:                 
 | |
|             self.first_installationNeoBoot()
 | |
|         else:
 | |
|             self.myclose2(_('NeoBoot has not been installed ! :(' ))
 | |
| 
 | |
|     def first_installationNeoBoot(self):
 | |
|     	    self.mysel = self['config'].getCurrent()	    
 | |
|             system('cd /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/; chmod 0755 ./bin/neoini*; chmod 0755 ./ex_init.py; chmod 0755 ./target/*.sh; chmod 0755 ./files/NeoBoot.sh; chmod 0755 ./files/S50fat.sh; cp -rf /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/neoini* /sbin cd;')                                    
 | |
|             cmd1 = 'mkdir ' + self.mysel + 'ImageBoot;mkdir ' + self.mysel + 'ImagesUpload' 
 | |
|             system(cmd1)
 | |
|             cmd2 = 'mkdir ' + self.mysel + 'ImageBoot;mkdir ' + self.mysel + 'ImagesUpload/.kernel' 
 | |
|             system(cmd2)
 | |
|                                                
 | |
|             if os.path.isfile('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location'): 
 | |
|                     os.system('rm -f /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location' )  
 | |
|                     
 | |
|             if fileExists('/proc/mounts'):
 | |
|                 fileExists('/proc/mounts')
 | |
|                 f = open('/proc/mounts', 'r')
 | |
|                 for line in f.readlines():
 | |
|                     if line.find(self.mysel):
 | |
|                         mntdev = line.split(' ')[0]
 | |
|                 f.close()                
 | |
|                 mntid = os.system('blkid -s UUID -o value ' + mntdev + '>/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/install')
 | |
|                 os.system('blkid -s UUID -o value ' + mntdev + '>/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/install')                
 | |
| 
 | |
|                 if getFSTAB() != 'OKinstall':                                  
 | |
|                     os.system('blkid -c /dev/null ' + mntdev + ' > /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/install')                    
 | |
|                 if getFSTAB() != 'OKinstall':                                  
 | |
|                     os.system('blkid -c /dev/null /dev/sd* > /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/install')
 | |
|                 if getFSTAB() != 'OKinstall':                                  
 | |
|                     os.system('blkid -c /dev/null /dev/sd* > /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/install')                                                                    
 | |
|                     f2 = open('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/install', 'r')
 | |
|                     for line2 in f2.readlines():
 | |
|                         if line2.find(self.mysel):
 | |
|                             mntdev2 = line2.split(' ')[0][0:-1]                              
 | |
|                     f2.close()                                  
 | |
|                     os.system(' echo ' + mntdev2 + '   > /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/install')
 | |
|                                         
 | |
|             out = open('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location', 'w')
 | |
|             out.write(self.mysel)
 | |
|             out.close()
 | |
| 
 | |
|             os.system('sleep 2')                                          
 | |
| 
 | |
|             if os.path.isfile('%sImageBoot/.neonextboot' % getNeoLocation()): 
 | |
|                     os.system('rm -f /etc/neoimage; rm -f /etc/imageboot; rm -f %sImageBoot/.neonextboot; rm -f %sImageBoot/.version; rm -f %sImageBoot/.Flash; ' % (getNeoLocation(), getNeoLocation(), getNeoLocation()) )
 | |
|             if os.path.isfile('%sImagesUpload/.kernel/zImage*.ipk or %sImagesUpload/.kernel/zImage*.bin' % ( getNeoLocation(),getNeoLocation()) ): 
 | |
|                         os.system('rm -f %sImagesUpload/.kernel/zImage*.ipk; rm -f %sImagesUpload/.kernel/zImage*.bin' % ( getNeoLocation(),getNeoLocation()) )
 | |
|                     
 | |
|             if fileExists('/etc/issue.net'):
 | |
|                 try:
 | |
|                     lines = open('/etc/hostname', 'r').readlines()
 | |
|                     imagename = lines[0][:-1]
 | |
|                     image = imagename
 | |
|                     open('%sImageBoot/.Flash' % getNeoLocation(), 'w').write(image)
 | |
|                 except:
 | |
|                     False
 | |
|                                 
 | |
|             out1 = open('%sImageBoot/.version' % getNeoLocation(), 'w')
 | |
|             out1.write(PLUGINVERSION)
 | |
|             out1.close()
 | |
|                         
 | |
|             out2 = open('%sImageBoot/.neonextboot' % getNeoLocation(), 'w')
 | |
|             out2.write('Flash ')
 | |
|             out2.close()
 | |
| 
 | |
|             out3 = open('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.neo_info', 'w')
 | |
|             out3.write('Kernel\n')
 | |
|             out3.write('Kernel-Version: ' + about.getKernelVersionString() + '\n')
 | |
|             out3.write('NeoBoot\n')
 | |
|             out3.write('NeoBoot-Version: ' + PLUGINVERSION + '\n')
 | |
|             out3.close() 
 | |
|                                                                                  
 | |
| #            os.system('echo "mount -a" >> /etc/init.d/mdev')
 | |
| 
 | |
| 
 | |
|             system('opkg update; chmod 755 /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/install; blkid -c /dev/null /dev/sd* > /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/installblkid; chmod 755 /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/installblkid ')                                         
 | |
|                                            
 | |
|             if os.system('opkg list-installed | grep python-subprocess') != 0:
 | |
|                             os.system('opkg install python-subprocess')
 | |
|             if os.system('opkg list-installed | grep python-argparse') != 0:
 | |
|                             os.system('opkg install python-argparse')
 | |
|             if os.system('opkg list-installed | grep curl') != 0:
 | |
|                             os.system('opkg install curl')    
 | |
|             if os.system('opkg list-installed | grep packagegroup-base-nfs') != 0:                            
 | |
|                             os.system('opkg install packagegroup-base-nfs')                       
 | |
|             if os.system('opkg list-installed | grep ofgwrite') != 0:                                                                                                                                                                                                                                                                                                                                                
 | |
|                             os.system('opkg install ofgwrite')
 | |
|             if os.system('opkg list-installed | grep bzip2') != 0:                                                                                                                                                                                                                                                                                                                                                
 | |
|                             os.system('opkg install bzip2')
 | |
|             if os.system('opkg list-installed | grep mtd-utils') != 0:
 | |
|                             os.system('opkg install mtd-utils')
 | |
|             if os.system('opkg list-installed | grep mtd-utils-ubifs') != 0:                                                                                                                                                                                                                                                                                                                                                
 | |
|                             os.system('opkg install mtd-utils-ubifs')
 | |
|             if os.system('opkg list-installed | grep mtd-utils-jffs2') != 0:
 | |
|                             os.system('opkg install mtd-utils-jffs2')
 | |
|             if os.system('opkg list-installed | grep kernel-module-nandsim') != 0:
 | |
|                             os.system('opkg install kernel-module-nandsim')                          
 | |
|             if os.system('opkg list-installed | grep lzo') != 0:                            
 | |
|                             os.system('opkg install lzo') 
 | |
|             if os.system('opkg list-installed | grep python-setuptools') != 0:                            
 | |
|                             os.system('opkg install python-setuptools')                             
 | |
|             if os.system('opkg list-installed | grep util-linux-sfdisk') != 0: 
 | |
|                             os.system('opkg install util-linux-sfdisk') 
 | |
|             
 | |
| 
 | |
|             # ARM - OctagonSF4008 - DM900 - Zgemma h7S - Octagon sf 8008 - AX HD60 4K  #gbquad4k  arm , #osmio4k  arm, #Zgemma h9  arm, #Zgemma h7S  arm , #Octagon SF4008         
 | |
|             if getBoxHostName() == 'ustym4kpro' or getTunerModel() ==  'ustym4kpro' or getCPUSoC() == 'bcm7251' or getBoxHostName() == 'sf4008' or getCPUSoC() == 'bcm7251s' or getBoxHostName() == 'h7' or getCPUSoC() == 'bcm7252s' or getBoxHostName() == 'gbquad4k' or getBoxHostName == 'osmio4k' or getBoxHostName() == 'zgemmah9s' or getBoxHostName() == 'ax60' or getBoxHostName() == 'sf8008' or getCPUSoC() == 'bcm7251'  or getCPUSoC() == 'BCM97252SSFF' or getBoxHostName() == 'dm900':
 | |
|                         os.system('cp -f /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/neoinitarm /sbin/neoinitarm; chmod 0755 /sbin/neoinitarm; ln -sfn /sbin/neoinitarm /sbin/init; mv /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/arm_run.py /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/run.py; cd')                         
 | |
|                                                  
 | |
| 
 | |
|             #VUPLUS ARM 
 | |
|             elif getCPUtype() == 'ARMv7' and getBoxHostName() !=  'ustym4kpro':
 | |
|                 if getCPUSoC() == '7278' or getBoxHostName() == 'vuduo4k':
 | |
|                         os.system('cd /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/' )
 | |
|                         os.system('cp -Rf /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/neoinitarm /sbin/neoinitarm; cp -Rf /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/neoinitarmvu /sbin/neoinitarmvu; mv /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/duo4k_run.py /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/run.py; cd')  
 | |
|                         os.system('chmod 755 /sbin/neoinitarm; chmod 755 /sbin/neoinitarmvu')                  
 | |
|                         os.system('dd if=/dev/mmcblk0p6 of=%sImagesUpload/.kernel/flash-kernel-%s.bin' % (getNeoLocation(), getBoxHostName()))
 | |
|                         os.system('mv /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/vuDuo4Kmmcblk0p6.sh /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/kernel.sh; cd')                         
 | |
| 
 | |
|                 elif getCPUSoC() == '72604' or getBoxHostName() == 'vuzero4k':
 | |
|                         os.system('cd /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/' )
 | |
|                         os.system('cp -Rf /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/neoinitarm /sbin/neoinitarm; cp -Rf /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/neoinitarmvu /sbin/neoinitarmvu; cd')  
 | |
|                         os.system('chmod 755 /sbin/neoinitarm; chmod 755 /sbin/neoinitarmvu')                  
 | |
|                         os.system('dd if=/dev/mmcblk0p4 of=%sImagesUpload/.kernel/flash-kernel-%s.bin' % (getNeoLocation(), getBoxHostName()))      
 | |
|                         os.system('mv /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/vuUno4Kmmcblk0p6.sh /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/kernel.sh; mv /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/zero4k_run.py /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/run.py; cd')                         
 | |
|                                                                                                                                                                                                                                                                                                                                                                                             
 | |
|                 #Zgemma h7S  arm  
 | |
|                 elif getCPUSoC() == 'bcm7251s' or getBoxHostName() == 'h7':
 | |
|                         os.system('cd /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/' )
 | |
|                         os.system('cp -Rf /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/neoinitarm /sbin/neoinitarm; cd') 
 | |
|                         os.system('chmod 755 /sbin/neoinitarm; chmod 755 /sbin/neoinitarm')                 
 | |
|                         os.system('python /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/findkerneldevice.py; dd if=/dev/kernel of=%sImagesUpload/.kernel/flash-kernel-%s.bin' % (getNeoLocation(), getBoxHostName()) )
 | |
|                         os.system('mv /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/h7s_kernel.sh /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/kernel.sh;mv /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/h7s_run.py /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/run.py; cd')                         
 | |
|                         
 | |
|                 elif getCPUSoC() or getBoxHostName() == ['7444s', 
 | |
|                  '7252s',
 | |
|                  '7376',
 | |
|                  'vuultimo4k',
 | |
|                  'vuuno4k',
 | |
|                  'vusolo4k',
 | |
|                  'vuuno4kse'] : 
 | |
|                         os.system('cd /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/' )
 | |
|                         os.system('cp -Rf /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/neoinitarm /sbin/neoinitarm; cp -Rf /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/neoinitarmvu /sbin/neoinitarmvu; cd')  
 | |
|                         os.system('chmod 755 /sbin/neoinitarm; chmod 755 /sbin/neoinitarmvu')                  
 | |
|                         os.system('dd if=/dev/mmcblk0p1 of=%sImagesUpload/.kernel/flash-kernel-%s.bin' % (getNeoLocation(), getBoxHostName()) )
 | |
|                         os.system('mv /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/vu_mmcblk0p1.sh /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/kernel.sh;mv /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/vu4k_run.py /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/run.py; cd')                         
 | |
|                         
 | |
|             # MIPS                                                                                                                                                                                                                 
 | |
|             elif getCPUtype() == 'MIPS':
 | |
|                 if getCPUSoC() or getBoxHostName() or getTunerModel() == ['7335', 
 | |
|                  '7413',
 | |
|                  '7325',
 | |
|                  '7356',
 | |
|                  'bcm7356',
 | |
|                  '7429',
 | |
|                  '7424', 
 | |
|                  '7241',
 | |
|                  '7405',
 | |
|                  '7405(with 3D)',
 | |
|                  '7362',
 | |
|                  'bcm7362',
 | |
|                  'BCM7362', 
 | |
|                  'bcm7358', 
 | |
|                  'bcm7424', 
 | |
|                  'bm750',
 | |
|                  'vuduo',
 | |
|                  'vusolo',
 | |
|                  'vuuno',
 | |
|                  'vuultimo',
 | |
|                  'vusolo2',
 | |
|                  'vuduo2',
 | |
|                  'vusolose',
 | |
|                  'vuzero',
 | |
|                  'mbmini',
 | |
|                  'mbultra', 
 | |
|                  'osmini',
 | |
|                  'h3',
 | |
|                  'ini-1000sv',
 | |
|                  'ini-8000sv']:                    
 | |
|                         #vuplus stb mtd1
 | |
|                         if getBoxHostName() == 'bm750' or getBoxHostName() == 'vuduo' or getBoxHostName() == 'vusolo' or getBoxHostName() == 'vuuno' or getBoxHostName() == 'vuultimo':
 | |
|                             if fileExists ('/usr/sbin/nanddump'):
 | |
|                                 os.system('cd ' + getNeoLocation() + 'ImagesUpload/.kernel/; /usr/sbin/nanddump /dev/mtd1  > vmlinux.gz; mv ./vmlinux.gz ./' + getBoxHostName() + '.vmlinux.gz' )
 | |
|                             elif not fileExists ('/usr/sbin/nanddump'):
 | |
|                                 os.system('cd ' + getNeoLocation() + 'ImagesUpload/.kernel/; /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/nanddump_mips /dev/mtd1  > vmlinux.gz; mv ./vmlinux.gz ./' + getBoxHostName() + '.vmlinux.gz' )
 | |
|                             os.system('cd /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/; rm ./bin/neobm; rm ./bin/fontforneoboot.ttf; rm ./bin/libpngneo; mv /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/vu_dev_mtd1.sh /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/kernel.sh;mv /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/vu_mtd1_run.py /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/run.py; cd')                         
 | |
| 
 | |
| 
 | |
|                         #vuplus stb mtd2  
 | |
|                         elif getBoxHostName() == 'vusolo2' or getBoxHostName() == 'vuduo2' or getBoxHostName() == 'vusolose' or getBoxHostName() == 'vuzero':
 | |
|                             if fileExists ('/usr/sbin/nanddump'):
 | |
|                                 os.system('cd ' + getNeoLocation() + 'ImagesUpload/.kernel/; /usr/sbin/nanddump /dev/mtd2  > vmlinux.gz; mv ./vmlinux.gz ./' + getBoxHostName() + '.vmlinux.gz' )
 | |
|                             elif not fileExists ('/usr/sbin/nanddump'):
 | |
|                                 os.system('cd ' + getNeoLocation() + 'ImagesUpload/.kernel/; /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/nanddump_mips /dev/mtd2  > vmlinux.gz; mv ./vmlinux.gz ./' + getBoxHostName() + '.vmlinux.gz' )
 | |
|                             os.system('cd /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/; rm ./bin/neobm; rm ./bin/fontforneoboot.ttf; rm ./bin/libpngneo; mv /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/vu_dev_mtd2.sh /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/kernel.sh;mv /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/vu_mtd2_run.py /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/run.py; cd')                         
 | |
| 
 | |
|                         # mbultra
 | |
|                         elif  getCPUSoC() == 'bcm7424' or getBoxHostName == 'mbultra' or getTunerModel() == 'ini-8000sv':
 | |
|                             os.system('cd; cd /media/neoboot/ImagesUpload/.kernel; /usr/sbin/nanddump /dev/mtd2 -o > vmlinux.gz; mv /home/root/vmlinux.gz /media/neoboot/ImagesUpload/.kernel/')
 | |
|                             os.system('cd /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/; rm ./bin/neobm; rm ./bin/fontforneoboot.ttf; rm ./bin/libpngneo; mv /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/vu_dev_mtd2.sh /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/kernel.sh; mv /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/vu_mtd2_run.py /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/run.py; cd')                         
 | |
| 
 | |
|                         #inne stb                                                                                                                                                                                                                                
 | |
|                         elif getCPUSoC() == 'bcm7358' or getCPUSoC() == 'bcm7362' or getCPUSoC() == 'BCM7362' or getCPUSoC() == 'bcm7356' or getCPUSoC() == 'bcm7241' or getCPUSoC() == 'bcm7362' or getBoxHostName() == 'mbmini' or getBoxHostName() == 'osmini' or getTunerModel() == 'ini-1000sv' or getTunerModel() == 'h3':
 | |
|                             os.system('cd /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/; mv ./bin/fontforneoboot.ttf /usr/share/fonts; mv ./bin/libpngneo /usr/lib; cp -f ./bin/neoinitmips /sbin/neoinitmips; cp -f ./bin/neoinitmipsvu /sbin/neoinitmipsvu; chmod 0755 /sbin/neoinit*; chmod 0755 ./bin/neobm; chmod 0755 /usr/lib/libpngneo; cd; chmod 0755 /sbin/neoinitmips; ln -sf /media/neoboot/ImageBoot/.neonextboot /etc/neoimage; mv /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/mips_run.py /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/run.py; cd')                         
 | |
|                                                            
 | |
|  
 | |
|                         os.system('cp -Rf /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/neoinitmips /sbin/neoinitmips; cp -Rf /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/neoinitmipsvu /sbin/neoinitmipsvu') 
 | |
|                         os.system('chmod 755 /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/nfidump; chmod 0755 /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/nanddump_mips; rm -r /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/neoinitar*; cd')
 | |
|                         os.system('chmod 755 /sbin/neoinitmips; chmod 0755 /sbin/neoinitmipsvu; cd /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/;mv ./bin/fontforneoboot.ttf /usr/share/fonts;mv ./bin/libpngneo /usr/lib; cp -f ./bin/neoinitmips /sbin/neoinitmips; chmod 0755 ./bin/neobm;chmod 0755 /usr/lib/libpngneo; cd; chmod 0755 /sbin/neoinitmips ')
 | |
|                                                                                                                                                                                                                                                                                                             
 | |
|             if fileExists('/home/root/vmlinux.gz'):
 | |
|                             os.system('mv -f /home/root/vmlinux.gz %sImagesUpload/.kernel/%s.vmlinux.gz' % (getNeoLocation(), getBoxHostName()) )
 | |
|                    
 | |
|             if getCPUtype() == 'ARMv7':                                                                                                                                     
 | |
|                         os.system('cd /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/; mv ./bin/fbcleararm ./bin/fbclear; rm -f ./bin/fbclearmips; mv ./ubi_reader_arm ./ubi_reader; rm -r ./ubi_reader_mips; rm ./bin/neoinitmips; rm ./bin/neoinitmipsvu; rm -r ./bin/nanddump_mips; rm ./bin/nfidump; rm ./bin/neobm; rm ./bin/fontforneoboot.ttf; rm ./bin/libpngneo; cd')   
 | |
|             elif getCPUtype() == 'MIPS':       
 | |
|                         os.system('cd /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/; mv ./bin/fbclearmips ./bin/fbclear; rm -f ./bin/fbcleararm; mv ./ubi_reader_mips ./ubi_reader; rm -r ./ubi_reader_arm; rm -f /bin/neoinitarm; rm -f /bin/neoinitarmvu; rm -r ./bin/nanddump_arm')
 | |
|                                                           
 | |
|             os.system(' ln -sfn ' + getNeoLocation() + 'ImageBoot/.neonextboot /etc/neoimage; chmod 644 ' + getNeoLocation() + 'ImagesUpload/.kernel/*; ln -sfn ' + getNeoLocation() + 'ImageBoot /etc/imageboot; rm -r /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target; chmod 0755 /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/kernel.sh ')
 | |
| 
 | |
|             os.system('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neo_location; sleep 2; chmod 0755 /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neom')                                    
 | |
|                                               
 | |
|             if os.path.isfile('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location'): 	
 | |
|                 if getLabelDisck() != 'LABEL=':	
 | |
|                     cmd = "echo -e '\n\n%s '" % _('NeoBoot has been installed succesfully !') 							                                      
 | |
|                     cmd1 = "echo -e '\n\n%s '" % _('NeoBoot wykrył że dyski nie mają nadanej nazwy Label.\n') 
 | |
|                 elif getLabelDisck() == 'LABEL=':	
 | |
|                     cmd = "echo -e '\n\n%s '" % _('NeoBoot has been installed succesfully !') 							                                      
 | |
|                     cmd1 = "echo -e '\n\n%s '" % _('NeoBoot wykrył że dyski mają nadane nazwy Label.\n')                      
 | |
|             else:       
 | |
|                 self.myclose2(_('NeoBoot has not been installed ! :(' ))
 | |
|                 
 | |
| 
 | |
|             self.session.open(Console, _('NeoBoot Install....'), [cmd, cmd1])
 | |
|             self.close()                 
 | |
|                                  	
 | |
|             if fileExists('/media/usb/ImageBoot/') and fileExists('/media/hdd/ImageBoot/'): 
 | |
|                     self.messagebox = self.session.open(MessageBox, _('[NeoBoot] \nError, you have neoboot installed on usb and hdd, \nUninstall one directories from one drive !!!\n'), MessageBox.TYPE_INFO, 8)
 | |
|                     self.close()
 | |
|             else:                                                      
 | |
|                     self.close()
 | |
| 
 | |
| 
 | |
|     def myclose2(self, message):
 | |
|         self.session.open(MessageBox, message, MessageBox.TYPE_INFO)
 | |
|         self.close()
 | |
| 
 | |
| class NeoBootImageChoose(Screen):
 | |
|     screenwidth = getDesktop(0).size().width()
 | |
|     if screenwidth and screenwidth == 1920:
 | |
| 
 | |
|         skin = """
 | |
|         <screen name="NeoBootImageChoose" position="center,center" size="1920,1080" title=" " flags="wfNoBorder" backgroundColor="transparent">  
 | |
|         <widget name="progreso" position="590,600" size="530,15" borderWidth="1" zPosition="3" />
 | |
|         <ePixmap position="-75,0" zPosition="-7" size="1996,1078" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/skin.png" />
 | |
|         <ePixmap position="54,981" zPosition="-7" size="1809,55" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/pasek.png" />  
 | |
|         <ePixmap position="71,903" zPosition="-7" size="509,54" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/pasek2.png" />  
 | |
|         <ePixmap position="71,820" zPosition="-7" size="509,54" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/pasek2.png" />    
 | |
|         <ePixmap position="71,736" zPosition="-7" size="509,54" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/pasek2.png" />  
 | |
|         <ePixmap position="70,655" zPosition="-7" size="509,54" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/pasek2.png" />             
 | |
|         <ePixmap position="64,417" zPosition="-7" size="509,54" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/pasek2.png" />  
 | |
|         <ePixmap position="1170,186" size="45,64" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/updown.png" alphatest="on" />  
 | |
|         <ePixmap position="587,631" zPosition="-2" size="545,340" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/matrix.png" />  
 | |
| 
 | |
|         <eLabel position="70,149" size="1080,2" backgroundColor="blue" foregroundColor="blue" name="linia" />  
 | |
|         <eLabel position="70,392" size="1080,2" backgroundColor="blue" foregroundColor="blue" name="linia2" />   
 | |
| 
 | |
|         <widget name="device_icon" position="123,490" size="146,136" alphatest="on" zPosition="2" />   
 | |
|         <widget name="key_red" position="149,982" zPosition="1" size="280,48" font="Regular;35" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="red" />                  
 | |
|         <widget name="key_green" position="571,984" zPosition="1" size="276,46" font="Regular;35" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="green" />  
 | |
|         <widget name="key_yellow" position="1010,984" zPosition="1" size="275,46" font="Regular;35" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="yellow" />          
 | |
|         <widget name="key_blue" position="1470,983" zPosition="1" size="276,46" font="Regular;35" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="blue" />    
 | |
|         <widget name="config" position="1183,256" size="659,690" selectionPixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/selektor.png" font="Regular;32" itemHeight="42" scrollbarMode="showOnDemand" backgroundColor="black" transparent="1" />     
 | |
|         <widget name="key_menu" position="254,419" zPosition="1" size="249,45" font="Regular;33" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="#99FFFF" />  
 | |
| 
 | |
|         <eLabel backgroundColor="black" font="Regular; 35" foregroundColor="red" position="67,54" size="443,55" text=" NeoBoot  Multi-image " transparent="1" />          
 | |
|         <eLabel backgroundColor="black" font="Regular; 30" foregroundColor="yellow" position="140,424" size="155,41" text="MENU >" transparent="1" />  
 | |
|         <eLabel backgroundColor="black" font="Regular; 35" foregroundColor="#C0C0C0" position="90,659" size="80,46" text="1 >" transparent="1" />  
 | |
|         <eLabel backgroundColor="black" font="Regular; 35" foregroundColor="#C0C0C0" position="90,742" size="80,43" text="2 >" transparent="1" />  
 | |
|         <eLabel backgroundColor="black" font="Regular; 35" foregroundColor="#C0C0C0" position="90,826" size="80,42" text="3 >" transparent="1" />          
 | |
|         <eLabel backgroundColor="black" font="Regular; 35" foregroundColor="#C0C0C0" position="90,909" size="80,39" text="4 >" transparent="1" />  
 | |
| 
 | |
|         <widget name="key_1" position="150,660" zPosition="1" size="363,46" font="Regular;32" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="red" />          
 | |
|         <widget name="key_2" position="149,742" zPosition="1" size="431,42" font="Regular;32" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="green" />  
 | |
|         <widget name="key_3" position="149,826" zPosition="1" size="367,43" font="Regular;32" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="yellow" />  
 | |
| 
 | |
|         <widget name="label1" position="1179,147" size="661,99" zPosition="1" halign="center" font="Regular;35" foregroundColor="red" backgroundColor="black" transparent="1" />                  
 | |
|         <widget name="label2" position="69,164" zPosition="1" size="652,66" font="Regular;35" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="white" />  
 | |
|         <widget name="label3" position="315,460" zPosition="1" size="799,124" font="Regular;35" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="yellow" />
 | |
|         <widget name="label4" position="68,244" zPosition="1" size="606,66" font="Regular;35" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="white" />  
 | |
|         <widget name="label5" position="802,163" zPosition="1" size="340,66" font="Regular;35" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="blue" />         
 | |
|         <widget name="label6" position="628,235" zPosition="1" size="516,82" font="Regular;35" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="yellow" />          
 | |
|         <widget name="label7" position="836,323" zPosition="1" size="308,66" font="Regular;35" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="green" />  
 | |
|         <widget name="label8" position="67,324" zPosition="1" size="666,66" font="Regular;35" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="white" />
 | |
|         <widget name="label9" position="883,49" zPosition="1" size="970,56" font="Regular;35" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="#00FF00" /> 
 | |
|         <widget name="label10" position="985,410" zPosition="1" size="125,55" font="Regular;35" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="#00FF00" />       
 | |
|         <widget name="label13" position="610,410" zPosition="1" size="415,55" font="Regular;35" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="green" />  
 | |
|         <widget name="label14" position="534,51" zPosition="1" size="350,56" font="Regular;35" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="green" /> 
 | |
|         <widget name="label15" position="322,584" zPosition="1" size="265,42" font="Regular;35" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="green" />
 | |
|         <widget name="label19" position="69,878" zPosition="1" size="513,99" font="Regular;35" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="#00FF00" />         
 | |
|         </screen>"""
 | |
|     else:
 | |
| 	    skin = """<screen name="NeoBootImageChoose" position="center,center" size="1280, 720" backgroundColor="transpBlack">
 | |
| 	    \n\t\t\t\t\t\t\t <ePixmap position="0,0" zPosition="-1" size="1280,720" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/1frame_base-fs8.png"  />
 | |
| 	    \n\t\t\t\t\t\t\t <widget source="session.VideoPicture" render="Pig" position=" 836,89" size="370,208" zPosition="3" backgroundColor="#ff000000"/>
 | |
| 	    \n\t\t\t\t\t\t\t        <ePixmap position="870,304" zPosition="-1" size="300,14"  pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/1chan_p1_bar.png" alphatest="on" />
 | |
| 	    \n\t\t\t\t\t\t\t     <widget source="Title" render="Label"  position="0,5" size="800,30" font="Regular;28" halign="left" foregroundColor="#58bcff" backgroundColor="transpBlack" transparent="1"/>
 | |
| 	    \n\t\t\t\t\t\t\t  <widget name="label9" position="100,45" zPosition="10" size="800,30" font="Regular;24"  foregroundColor="#58bcff" backgroundColor="black" halign="left"  transparent="1" />
 | |
| 	    <widget name="config"  enableWrapAround="1" position="30,150" size="270,370" itemHeight="25" font="Regular;18" zPosition="2"  selectionPixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/1channel_sel.png" foregroundColor="#00cc99" scrollbarMode="showNever" transparent="1" />
 | |
| 	    <widget name="device_icon" position="530,80" size="146,136" alphatest="on" zPosition="2" />
 | |
| 	    <widget name="progreso" position="400,200" size="300,10" borderWidth="1" zPosition="3" foregroundColor="white" />
 | |
| 	    <widget name="label3" position="380,230" zPosition="1" size="450,60" font="Regular;20" halign="left" valign="center" backgroundColor="black" transparent="1" foregroundColor="#58ccff" />
 | |
| 	    <ePixmap position="300,310" zPosition="4" size="500,4" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/separator.png" alphatest="blend" transparent="1"  />
 | |
| 	    <widget name="label2" position="310,340" zPosition="1" size="400,22" font="Regular;20" halign="left" valign="center" backgroundColor="black" transparent="1" foregroundColor="white" />
 | |
| 	    <widget name="label5" position="630,340" zPosition="1" size="340,22" font="Regular;20" halign="left" valign="center" backgroundColor="black" transparent="1" foregroundColor="#58ccff" />
 | |
| 	    <widget name="label4" position="310,370" zPosition="1" size="606,25" font="Regular;20" halign="left" valign="center" backgroundColor="black" transparent="1" foregroundColor="white" />
 | |
| 	    <widget name="label6" position="630,370" zPosition="1" size="516,25" font="Regular;20" halign="left" valign="center" backgroundColor="black" transparent="1" foregroundColor="#58ccff" />
 | |
| 	    <widget name="label8" position="310,400" zPosition="1" size="466,25" font="Regular;20" halign="left" valign="center" backgroundColor="black" transparent="1" foregroundColor="white" />
 | |
| 	    <widget name="label7" position="660,400" zPosition="1" size="308,25" font="Regular;20" halign="left" valign="center" backgroundColor="black" transparent="1" foregroundColor="#58ccff" />
 | |
| 	    <eLabel backgroundColor="black" font="Regular; 20" foregroundColor="#58ccff" position="310,450" size="60,25" text="1 >" transparent="1" />
 | |
| 	    <eLabel backgroundColor="black" font="Regular; 20" foregroundColor="#58ccff" position="310,480" size="60,25" text="2 >" transparent="1" />
 | |
| 	    <eLabel backgroundColor="black" font="Regular; 20" foregroundColor="#58ccff" position="310,510" size="60,25" text="3 >" transparent="1" />
 | |
| 	    <eLabel backgroundColor="black" font="Regular; 20" foregroundColor="#58ccff" position="310,540" size="60,25" text="4 >" transparent="1" /> 
 | |
| 	    <widget name="key_1" position="360,450" zPosition="1" size="300,25" font="Regular;20" halign="left" valign="center" backgroundColor="black" transparent="1" foregroundColor="white" />
 | |
| 	    <widget name="key_2" position="360,480" zPosition="1" size="350,25" font="Regular;20" halign="left" valign="center" backgroundColor="black" transparent="1" foregroundColor="white" />
 | |
| 	    <widget name="key_3" position="360,510" zPosition="1" size="300,25" font="Regular;20" halign="left" 
 | |
| valign="center" backgroundColor="black" transparent="1" foregroundColor="white" />
 | |
| <widget name="label19" position="360,540" zPosition="1" size="450,25" font="Regular;20" halign="left" valign="center" backgroundColor="black" transparent="1" foregroundColor="white" />
 | |
| <ePixmap position="920,480" zPosition="1" size="228,130" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/1matrix.png" />
 | |
| <ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/red25.png" position="0,650" size="250,40" alphatest="blend" />
 | |
| <widget name="key_red" position="0,670" zPosition="2" size="250,40"  font="Regular; 20" halign="center" backgroundColor="transpBlack" transparent="1" foregroundColor="white" />
 | |
| <ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/green25.png" position="200,650" size="230,36" alphatest="blend" />
 | |
| <widget name="key_green" position="200,670" size="230,38" zPosition="1" font="Regular; 20"  halign="center" backgroundColor="transpBlack" transparent="1" foregroundColor="white" />
 | |
| <ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/yellow25.png" position="400,650" size="230,36" alphatest="blend" />
 | |
| <widget name="key_yellow" position="400,670" size="230,38" zPosition="1" font="Regular; 20"  halign="center" backgroundColor="transpBlack" transparent="1" foregroundColor="white" />
 | |
| <ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/blue25.png" position="600,650" size="230,36" alphatest="blend" />
 | |
| <widget name="key_blue" position="600,670" size="230,38" zPosition="1" font="Regular; 20" halign="center" backgroundColor="transpBlack" transparent="1" foregroundColor="white" />
 | |
| <widget name="key_menu" position="950,640" zPosition="1" size="249,45" font="Regular;22" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="#58bcff" />
 | |
| <eLabel backgroundColor="black" font="Regular; 24" foregroundColor="white" position="900,650" size="155,41" text="MENU >" transparent="1" />
 | |
| <ePixmap position="20,135" zPosition="1" size="280,400" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/border_menu1.png"  />
 | |
| <widget source="global.CurrentTime" render="Label" position="780,30" size="450,55" font="RegularAA;24" valign="center" halign="center" backgroundColor="transpBlack" foregroundColor="#58bcff"  zPosition="10" transparent="1">
 | |
| <convert type="ClockToText">Format:%A  %e  %B  %Y </convert>
 | |
| </widget>
 | |
| \t\t\t</screen>""" 
 | |
| 
 | |
| 
 | |
|     def __init__(self, session):
 | |
| 		
 | |
|         Screen.__init__(self, session)
 | |
|                        
 | |
|         if not fileExists('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/mountpoint.sh'):
 | |
|             os.system('touch /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/mountpoint.sh; echo "#!/bin/sh\n#DESCRIPTION=This script by gutosie\n"  >> /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/mountpoint.sh; chmod 0755 /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/mountpoint.sh') 
 | |
|             if getNeoMount() == 'hdd_install_/dev/sda1': 
 | |
|                     os.system('echo "umount /media/hdd\nmkdir -p /media/hdd\n/bin/mount /dev/sda1 /media/hdd"  >> /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/mountpoint.sh') 
 | |
|             elif getNeoMount() == 'hdd_install_/dev/sdb1': 
 | |
|                     os.system('echo "umount /media/hdd\nmkdir -p /media/hdd\n/bin/mount /dev/sdb1 /media/hdd"  >> /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/mountpoint.sh') 
 | |
|             elif getNeoMount() == 'hdd_install_/dev/sda2': 
 | |
|                     os.system('echo "umount /media/hdd\nmkdir -p /media/hdd\n/bin/mount /dev/sda2 /media/hdd"  >> /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/mountpoint.sh') 
 | |
|             elif getNeoMount() == 'hdd_install_/dev/sdb2': 
 | |
|                     os.system('echo "umount /media/hdd\nmkdir -p /media/hdd\n/bin/mount /dev/sdb2 /media/hdd"  >> /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/mountpoint.sh') 
 | |
| 
 | |
|             if getNeoMount2() == 'usb_install_/dev/sdb1': 
 | |
|                     os.system('echo "umount /media/usb\nmkdir -p /media/usb\n/bin/mount /dev/sdb1 /media/usb"  >> /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/mountpoint.sh')      
 | |
|             elif getNeoMount2() == 'usb_install_/dev/sda1': 
 | |
|                     os.system('echo "umount /media/usb\nmkdir -p /media/usb\n/bin/mount /dev/sda1 /media/usb"  >> /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/mountpoint.sh')  
 | |
|             elif getNeoMount2() == 'usb_install_/dev/sdb2': 
 | |
|                     os.system('echo "umount /media/usb\nmkdir -p /media/usb\n/bin/mount /dev/sdb2 /media/usb"  >> /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/mountpoint.sh')  
 | |
|             elif getNeoMount2() == 'usb_install_/dev/sdc1': 
 | |
|                     os.system('echo "umount /media/usb\nmkdir -p /media/usb\n/bin/mount /dev/sdc1 /media/usb"  >> /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/mountpoint.sh')  
 | |
|             elif getNeoMount2() == 'usb_install_/dev/sdd1': 
 | |
|                     os.system('echo "umount /media/usb\nmkdir -p /media/usb\n/bin/mount /dev/sdd1 /media/usb"  >> /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/mountpoint.sh')  
 | |
|             elif getNeoMount2() == 'usb_install_/dev/sde1': 
 | |
|                     os.system('echo "umount /media/usb\nmkdir -p /media/usb\n/bin/mount /dev/sde1 /media/usb"  >> /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/mountpoint.sh')  
 | |
|             elif getNeoMount2() == 'usb_install_/dev/sdf1': 
 | |
|                     os.system('echo "umount /media/usb\nmkdir -p /media/usb\n/bin/mount /dev/sdf1 /media/usb"  >> /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/mountpoint.sh')  
 | |
| 
 | |
|         if not fileExists('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neo.sh'):
 | |
|             if getINSTALLNeo() == '/dev/sda1':
 | |
|                     out = open('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neo.sh', 'w')
 | |
|                     out.write('#!/bin/sh\n#DESCRIPTION=This script by gutosie\n\n/bin/mount /dev/sda1 ' + getNeoLocation() + '  \n')
 | |
|                     out.close()
 | |
|             elif getINSTALLNeo() == '/dev/sdb1':
 | |
|                     out = open('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neo.sh', 'w')
 | |
|                     out.write('#!/bin/sh\n#DESCRIPTION=This script by gutosie\n\n/bin/mount /dev/sdb1 ' + getNeoLocation() + '  \n')
 | |
|                     out.close()
 | |
|             elif getINSTALLNeo() == '/dev/sda2':
 | |
|                     out = open('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neo.sh', 'w')
 | |
|                     out.write('#!/bin/sh\n#DESCRIPTION=This script by gutosie\n\n/bin/mount /dev/sda2 ' + getNeoLocation() + '  \n')
 | |
|                     out.close()
 | |
|             elif getINSTALLNeo() == '/dev/sdb2':
 | |
|                     out = open('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neo.sh', 'w')
 | |
|                     out.write('#!/bin/sh\n#DESCRIPTION=This script by gutosie\n\n/bin/mount /dev/sdb2 ' + getNeoLocation() + '  \n')
 | |
|                     out.close()
 | |
|             elif getINSTALLNeo() == '/dev/sdc1':
 | |
|                     out = open('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neo.sh', 'w')
 | |
|                     out.write('#!/bin/sh\n#DESCRIPTION=This script by gutosie\n\n/bin/mount /dev/sdc1 ' + getNeoLocation() + '  \n')
 | |
|                     out.close()                    
 | |
|             elif getINSTALLNeo() == '/dev/sdd1':
 | |
|                     out = open('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neo.sh', 'w')
 | |
|                     out.write('#!/bin/sh\n#DESCRIPTION=This script by gutosie\n\n/bin/mount /dev/sdd1 ' + getNeoLocation() + '  \n')
 | |
|                     out.close()
 | |
|             elif getINSTALLNeo() == '/dev/sde1':
 | |
|                     out = open('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neo.sh', 'w')
 | |
|                     out.write('#!/bin/sh\n#DESCRIPTION=This script by gutosie\n\n/bin/mount /dev/sde1 ' + getNeoLocation() + '  \n')
 | |
|                     out.close()
 | |
|             elif getINSTALLNeo() == '/dev/sdf1':
 | |
|                     out = open('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neo.sh', 'w')
 | |
|                     out.write('#!/bin/sh\n#DESCRIPTION=This script by gutosie\n\n/bin/mount /dev/sdf1 ' + getNeoLocation() + '  \n')
 | |
|                     out.close()
 | |
|             system('chmod 755 /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neo.sh')   
 | |
| 
 | |
|         if not fileExists('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neom'):
 | |
|             os.system('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neo_location; chmod 0755 /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neom')                                    
 | |
| 
 | |
| 
 | |
|         if fileExists('/tmp/.init_reboot'):
 | |
|             system('rm /tmp/.init_reboot')
 | |
| 
 | |
|         if fileExists('/.multinfo'):
 | |
|             if not fileExists('/.control_ok'):
 | |
|                 if fileExists('/.control_boot_new_image'):  
 | |
|                     os.system('rm -f /.control_boot_new_image; echo "Image uruchomione OK\nNie kasuj tego pliku. \n\nImage started OK\nDo not delete this file."  > /.control_ok ')          
 | |
|                 if not fileExists('/.control_boot_new_image'):  
 | |
|                     os.system('echo "Image uruchomione OK\nNie kasuj tego pliku. \n\nImage started OK\nDo not delete this file."  > /.control_ok')
 | |
|                     #os.system('touch /.control_ok ') 
 | |
| 
 | |
|         if fileExists('/.multinfo') and getCPUtype() == 'ARMv7':
 | |
|             if os.path.exists('/proc/stb/info/boxtype'):
 | |
|                 if getCPUSoC() == 'bcm7251' or getBoxHostName == 'sf4008':   
 | |
|                     os.system('mkdir -p /media/mmc; mount /dev/mmcblk0p4 /media/mmc')  
 | |
| 
 | |
|         if fileExists('/.multinfo') and getCPUtype() == 'ARMv7':
 | |
|             if os.path.exists('/proc/stb/info/boxtype'):
 | |
|                 if getCPUSoC() == 'bcm7251s' or getBoxHostName() == 'h7':   
 | |
|                     os.system('mkdir -p /media/mmc; mount /dev/mmcblk0p3 /media/mmc')
 | |
| 
 | |
|             if os.path.exists('/proc/stb/info/boxtype'):
 | |
|                 if getBoxHostName() == 'zgemmah9s':   
 | |
|                     os.system('mkdir -p /media/mmc; mount /dev/mmcblk0p7 /media/mmc')
 | |
| 
 | |
|             if getBoxHostName == 'sf8008':   
 | |
|                     os.system('mkdir -p /media/mmc; mount /dev/mmcblk0p13 /media/mmc')  
 | |
| 
 | |
|             if getBoxHostName == 'ax60':   
 | |
|                     os.system('mkdir -p /media/mmc; mount /dev/mmcblk0p21 /media/mmc')
 | |
| 
 | |
|             if getBoxHostName() == 'ustym4kpro' or getTunerModel() ==  'ustym4kpro':   
 | |
|                     os.system('mkdir -p /media/mmc; mount /dev/mmcblk0p13 /media/mmc')
 | |
| 
 | |
|             if os.path.exists('/proc/stb/info/model'):
 | |
|                 if getTunerModel() == 'dm900' or getCPUSoC() == 'BCM97252SSFF':   
 | |
|                     os.system('mkdir -p /media/mmc; mount /dev/mmcblk0p2 /media/mmc')
 | |
|                     
 | |
|             if  getBoxVuModel() == 'uno4kse' or getBoxVuModel() == 'uno4k'  or  getBoxVuModel() == 'ultimo4k' or  getBoxVuModel() == 'solo4k':
 | |
|                     os.system('mkdir -p /media/mmc; mount /dev/mmcblk0p4 /media/mmc')
 | |
| 
 | |
|             if  getBoxVuModel() == 'zero4k':
 | |
|                     os.system('mkdir -p /media/mmc; mount /dev/mmcblk0p7 /media/mmc')
 | |
| 
 | |
|             if  getBoxVuModel() == 'duo4k':               
 | |
|                     os.system('mkdir -p /media/mmc; mount /dev/mmcblk0p9 /media/mmc')
 | |
| 
 | |
|             if getCPUSoC() == 'bcm7252s' or getBoxHostName() == 'gbquad4k':
 | |
|                     os.system('mkdir -p /media/mmc; mount /dev/mmcblk0p5 /media/mmc')
 | |
| 
 | |
|             #if getBoxHostName == 'osmio4k':
 | |
|                     #os.system('mkdir -p /media/mmc; mount /dev/mmcblk0p5 /media/mmc')
 | |
| 
 | |
| 
 | |
|         self.list = []
 | |
|         self.setTitle('         NeoBoot  %s  - Menu' % PLUGINVERSION + '          ' + 'Ver. update:  %s' % UPDATEVERSION)
 | |
|         self['device_icon'] = Pixmap()
 | |
|         self['progreso'] = ProgressBar()
 | |
|         self['linea'] = ProgressBar()
 | |
|         self['config'] = MenuList(self.list)
 | |
|         self['key_red'] = Label(_('Boot Image'))
 | |
|         self['key_green'] = Label(_('Installation'))
 | |
|         self['key_yellow'] = Label(_('Remove Image '))
 | |
|         self['key_blue'] = Label(_('Info'))
 | |
|         self['key_menu'] = Label(_('More options'))
 | |
|         self['key_1'] = Label(_('Update NeoBot'))
 | |
|         self['key_2'] = Label(_('Reinstall NeoBoot'))
 | |
|         self['key_3'] = Label(_('Install Kernel'))
 | |
|         self['label1'] = Label(_('Please choose an image to boot'))
 | |
|         self['label2'] = Label(_('NeoBoot is running from:'))
 | |
|         self['label3'] = Label('')
 | |
|         self['label4'] = Label(_('NeoBoot is running image:'))
 | |
|         self['label5'] = Label('')
 | |
|         self['label6'] = Label('')
 | |
|         self['label7'] = Label('')
 | |
|         self['label8'] = Label(_('Number of images installed:'))
 | |
|         self['label19'] = Label('')         
 | |
|         self['label9'] = Label('')
 | |
|         self['label10'] = Label('')
 | |
|         self['label11'] = Label('')
 | |
|         self['label12'] = Label('')
 | |
|         self['label13'] = Label(_('Version update: '))
 | |
|         self['label14'] = Label(_('NeoBoot version: '))
 | |
|         self['label15'] = Label(_('Memory disc:'))
 | |
|         self['actions'] = ActionMap(['WizardActions',
 | |
|          'ColorActions',
 | |
|          'MenuActions',
 | |
|          'NumberActionMap',
 | |
|          'SetupActions',
 | |
|          'number'], {'ok': self.boot,
 | |
|          'red': self.boot,
 | |
|          'green': self.ImageInstall,
 | |
|          'yellow': self.remove,
 | |
|          'blue': self.pomoc,
 | |
|          'ok': self.boot,
 | |
|          'menu': self.mytools,
 | |
|          '1': self.neoboot_update,
 | |
|          '2': self.ReinstallNeoBoot,
 | |
|          '3': self.ReinstallKernel,
 | |
|          'back': self.close_exit})
 | |
|         if not fileExists('/etc/name'):
 | |
|             os.system('touch /etc/name')
 | |
|         self.onShow.append(self.updateList)
 | |
| 
 | |
|     def chackkernel(self):
 | |
| 		
 | |
|                             message = _('NeoBoot wykryl niezgodnos kernela w flash, \nZainstalowac kernel dla flash image ? ?')
 | |
|                             ybox = self.session.openWithCallback(self.updatekernel, MessageBox, message, MessageBox.TYPE_YESNO)
 | |
|                             ybox.setTitle(_('Updating ... '))
 | |
|     def pomoc(self):
 | |
| 		
 | |
|         if fileExists('/.multinfo'):
 | |
|             mess = _('Information available only when running Flash.')
 | |
|             self.session.open(MessageBox, mess, MessageBox.TYPE_INFO)
 | |
|         else:
 | |
|             self.session.open(Opis)
 | |
| 
 | |
|     def ReinstallNeoBoot(self):
 | |
| 		
 | |
|         INSTALLbox = self.session.openWithCallback(self.reinstallboot, MessageBox, _('Wybierz Tak, by przeinstalować neoboota.\n     NEOBOOT.'), MessageBox.TYPE_YESNO)
 | |
|         INSTALLbox.setTitle(_('Zainstalować ponownie neoboota ?'))
 | |
|                 
 | |
|     def reinstallboot(self, answer):
 | |
| 		        
 | |
|         if answer is True:
 | |
|             try:
 | |
|                 cmd = "echo -e '\n\n%s '" % _('NEOBOOT - Please reinstall NeoBoot....\nPlease wait, done...\nrestart systemu...')
 | |
|                 cmd1 = 'cd /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/; rm ./.location; rm ./files/mountpoint.sh; rm ./files/neom; rm ./files/neo.sh; sleep 5; killall -9 enigma2 '                                                                                       
 | |
|             except:                                 
 | |
|                 False
 | |
|             self.session.open(Console, _('NeoBoot ARM....'), [cmd, cmd1])
 | |
|             self.close()
 | |
|         else:
 | |
|             try:
 | |
|                 self.session.open(MessageBox, _('Rezygnacja.'), MessageBox.TYPE_INFO, 4)
 | |
|                 self.close()
 | |
|             except:
 | |
|                 False
 | |
|          
 | |
|     def close_exit(self):
 | |
| 		
 | |
|         system('touch /tmp/.init_reboot')
 | |
|         if not fileExists('/.multinfo'):            
 | |
|             out = open('%sImageBoot/.neonextboot' % getNeoLocation(), 'w' )
 | |
|             out.write('Flash')
 | |
|             out.close()
 | |
|         self.close()
 | |
|                         
 | |
|         if fileExists('/.multinfo'):            
 | |
|             with open('%sImageBoot/.neonextboot' % getNeoLocation(), 'r'  ) as f:
 | |
|                 imagefile = f.readline().strip()
 | |
|                 f.close()
 | |
|                 out = open('%sImageBoot/.neonextboot'% getNeoLocation(), 'w' )
 | |
|                 out.write(imagefile)
 | |
|                 out.close()
 | |
| 
 | |
|         else:
 | |
|             system('touch /tmp/.init_reboot')
 | |
|             out = open('%sImageBoot/.neonextboot' % getNeoLocation() , 'w')
 | |
|             out.write('Flash')
 | |
|             out.close()
 | |
|         self.close()
 | |
|                         
 | |
|     def ReinstallKernel(self):
 | |
| 		
 | |
|         from Plugins.Extensions.NeoBoot.files.tools import ReinstallKernel
 | |
|         self.session.open(ReinstallKernel)
 | |
| 
 | |
|     def neoboot_update(self):
 | |
|                 self.messagebox = self.session.open(MessageBox, _('Updated unnecessary, you have the latest version. Please try again later.'), MessageBox.TYPE_INFO, 8)
 | |
|                 self.close()
 | |
|     
 | |
|     
 | |
| ##/////NA CZAS TESTU UPDATE ZATRZYMANE\\\\\####################################
 | |
|     def STOPneoboot_update(self):
 | |
| 		
 | |
|         if fileExists('/.multinfo'):
 | |
|             mess = _('Downloading available only from the image Flash.')
 | |
|             self.session.open(MessageBox, mess, MessageBox.TYPE_INFO)
 | |
|         else:
 | |
|             out = open('%sImageBoot/.neonextboot', 'w' % getNeoLocation())
 | |
|             out.write('Flash')
 | |
|             out.close()
 | |
|             message = _('\n\n\n')
 | |
|             message += _('WARNING !: The update brings with it the risk of errors.\n')
 | |
|             message += _('Before upgrading it is recommended that you make a backup NeoBoot.\n')
 | |
|             message += _('Do you want to run the update now ?\n')
 | |
|             message += _('\n')
 | |
|             ybox = self.session.openWithCallback(self.chackupdate2, MessageBox, message, MessageBox.TYPE_YESNO)
 | |
|             ybox.setTitle(_('The download neoboot update.'))
 | |
| 
 | |
|     def chackupdate2(self, yesno):
 | |
| 		
 | |
|         if yesno:
 | |
|             self.chackupdate3()
 | |
|         else:
 | |
|             self.session.open(MessageBox, _('Canceled update.'), MessageBox.TYPE_INFO, 7)
 | |
|                                            
 | |
|     def chackupdate3(self):
 | |
| 		
 | |
|         os.system('cd /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot;curl -O --ftp-ssl https://raw.githubusercontent.com/gutosie/neoboot2/master/ver.txt;sleep 3;cd /')            
 | |
|         if not fileExists('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/ver.txt'):
 | |
|             os.system('cd /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot;fullwget --no-check-certificate https://raw.githubusercontent.com/gutosie/neoboot2/master/ver.txt; sleep 3;cd /')
 | |
|             if not fileExists('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/ver.txt'):
 | |
|                 self.session.open(MessageBox, _('Unfortunately, at the moment not found an update, try again later.'), MessageBox.TYPE_INFO, 8)
 | |
|         else:
 | |
|             mypath = ''
 | |
|             version = open('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/ver.txt', 'r')
 | |
|             mypath = float(version.read().strip())
 | |
|             version.close()
 | |
|             if float(UPDATEVERSION) != mypath:
 | |
|                 message = _('NeoBoot has detected update.\nDo you want to update NeoBoota now ?')
 | |
|                 ybox = self.session.openWithCallback(self.aktualizacjamboot, MessageBox, message, MessageBox.TYPE_YESNO)
 | |
|                 ybox.setTitle(_('Updating ... '))
 | |
|             elif fileExists('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/ver.txt'):
 | |
|                 os.system('rm /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/ver.txt')
 | |
|                 self.session.open(MessageBox, _('Updated unnecessary, you have the latest version. Please try again later.'), MessageBox.TYPE_INFO)
 | |
| 
 | |
|     def aktualizacjamboot(self, yesno):
 | |
| 		
 | |
|         if yesno:
 | |
|             if fileExists('/tmp/*.zip'):
 | |
|                 os.system('rm /tmp/*.zip')
 | |
|             os.system('cd /tmp; curl -O --ftp-ssl https://codeload.github.com/gutosie/neoboot2/zip/master; mv /tmp/master /tmp/neoboot.zip; cd /')
 | |
|             if not fileExists('/tmp/neoboot.zip'):
 | |
|                     os.system('cd /tmp;fullwget --no-check-certificate https://codeload.github.com/gutosie/neoboot2/zip/master; mv /tmp/master /tmp/neoboot.zip; sleep 3;cd ')
 | |
|                     if not fileExists('/tmp/neoboot.zip'):
 | |
|                         self.session.open(MessageBox, _('Unfortunately, at the moment not found an update, try again later.'), MessageBox.TYPE_INFO, 8)
 | |
|             else:                                                                                                                                                                                                                                                                                                                                                   
 | |
|                 os.system('cd /tmp/; unzip -qn ./neoboot.zip; rm -f ./neoboot.zip; cp -rf ./neoboot2-master/NeoBoot /usr/lib/enigma2/python/Plugins/Extensions; rm -rf /tmp/neoboot2-master;  rm /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/ver.txt; cd /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/; chmod 0755 ./bin/neoini*;  chmod 0755 ./ex_init.py; chmod 0755 ./target/*; chmod 0755 ./files/NeoBoot.sh; chmod 0755 ./files/S50fat.sh; cd')                    
 | |
|                 if getCPUtype() == 'MIPS':
 | |
|                     os.system('cd /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/; cp -rf ./bin/neoinitmipsvu /sbin; chmod 755 /sbin/neoinitmipsvu; cp -rf ./bin/neoinitmips /sbin; chmod 755 /sbin/neoinitmips; cd')                    
 | |
|                 #elif getCPUtype() == 'ARMv7':
 | |
|                     #os.system('')                                                                
 | |
| 
 | |
|                 restartbox = self.session.openWithCallback(self.restartGUI, MessageBox, _('Completed update NeoBoot. You need to restart the E2 !!!\nRestart now ?'), MessageBox.TYPE_YESNO)
 | |
|                 restartbox.setTitle(_('Restart GUI now ?'))
 | |
| 
 | |
|         else:
 | |
|             os.system('rm -f /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/ver.txt')
 | |
|             self.session.open(MessageBox, _('The update has been canceled.'), MessageBox.TYPE_INFO, 8)
 | |
| 
 | |
|     def restartGUI(self, answer):
 | |
| 		
 | |
|         if answer is True:
 | |
|             self.session.open(TryQuitMainloop, 3)
 | |
|         else:
 | |
|             self.close()
 | |
| 
 | |
|     def installMedia(self):
 | |
| 		
 | |
| 		
 | |
|         images = False
 | |
|         myimages = os.listdir('%sImagesUpload' % getNeoLocation() )
 | |
|         print myimages
 | |
|         for fil in myimages:
 | |
|             if fil.endswith('.zip'):
 | |
|                 images = True
 | |
|                 break
 | |
|             if fil.endswith('.tar.xz'):
 | |
|                 images = True
 | |
|                 break
 | |
|             if fil.endswith('.nfi'):
 | |
|                 images = True
 | |
|                 break                
 | |
|             else:
 | |
|                 images = False
 | |
|                 
 | |
|         if images == True:
 | |
|             self.ImageInstall()
 | |
|         else:
 | |
|             mess = _('[NeoBoot] The %sImagesUpload directory is EMPTY !!!\nPlease upload the image files in .ZIP or .NFI formats to install. ' % getNeoLocation() )
 | |
|             self.session.open(MessageBox, mess, MessageBox.TYPE_INFO)
 | |
| 
 | |
|     def MBBackup(self):
 | |
| 		
 | |
|         from Plugins.Extensions.NeoBoot.files.tools import MBBackup
 | |
|         self.session.open(MBBackup)
 | |
| 
 | |
|     def MBRestore(self):
 | |
| 		
 | |
|         from Plugins.Extensions.NeoBoot.files.tools import MBRestore
 | |
|         self.session.open(MBRestore)
 | |
| 
 | |
|     def updateList(self):        
 | |
|         if not fileExists('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location'):                    
 | |
|                 self.session.open(NeoBootInstallation)
 | |
|         else:
 | |
|             self.updateListOK()
 | |
| 
 | |
|     def updateListOK(self):
 | |
| 		
 | |
|         self.list = []
 | |
|         pluginpath = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot'
 | |
|         f = open(pluginpath + '/.location', 'r')
 | |
|         mypath = f.readline().strip()
 | |
|         f.close()
 | |
|         icon = 'dev_usb.png'
 | |
|         if 'card' in mypath or 'sd' in mypath:
 | |
|             icon = 'dev_sd.png'
 | |
|         elif 'ntfs' in mypath:
 | |
|             icon = 'dev_sd.png'
 | |
|         elif 'hdd' in mypath:
 | |
|             icon = 'dev_hdd.png'
 | |
|         elif 'cf' in mypath:
 | |
|             icon = 'dev_cf.png'
 | |
|         icon = pluginpath + '/images/' + icon
 | |
|         png = LoadPixmap(icon)
 | |
|         self['device_icon'].instance.setPixmap(png)                               
 | |
|         linesdevice = open('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location', 'r').readlines()
 | |
|         deviceneo = linesdevice[0][0:-1]
 | |
|         device = deviceneo
 | |
|         ustot = usfree = usperc = ''
 | |
|         rc = system('df > /tmp/memoryinfo.tmp')
 | |
|         if fileExists('/tmp/memoryinfo.tmp'):
 | |
|             f = open('/tmp/memoryinfo.tmp', 'r')
 | |
|             for line in f.readlines():
 | |
|                 line = line.replace('part1', ' ')
 | |
|                 parts = line.strip().split()
 | |
|                 totsp = len(parts) - 1
 | |
|                 if parts[totsp] == device:               
 | |
|                     if totsp == 5:
 | |
|                         ustot = parts[1]
 | |
|                         usfree = parts[3]
 | |
|                         usperc = parts[4]
 | |
|                     else:
 | |
|                         ustot = 'N/A   '
 | |
|                         usfree = parts[2]
 | |
|                         usperc = parts[3]
 | |
|                     break
 | |
| 
 | |
|             f.close()
 | |
|             os.remove('/tmp/memoryinfo.tmp')
 | |
| 
 | |
|         perc = int(usperc[0:-1])
 | |
|         self['progreso'].setValue(perc)
 | |
|         green = '#00389416'
 | |
|         red = '#00ff2525'
 | |
|         yellow = '#00ffe875'
 | |
|         orange = '#00ff7f50'
 | |
|         if perc < 30:
 | |
|                 color = green
 | |
|         elif perc < 60:
 | |
|                 color = yellow
 | |
|         elif perc < 80:
 | |
|                 color = orange
 | |
|         else:
 | |
|                 color = red
 | |
|         try:
 | |
|             from skin import parseColor
 | |
|             self['label13'].instance.setForegroundColor(parseColor(color))
 | |
|             self['label14'].instance.setForegroundColor(parseColor(color))
 | |
|             self['label15'].instance.setForegroundColor(parseColor(color))
 | |
|             self['progreso'].instance.setForegroundColor(parseColor(color))
 | |
|         except:
 | |
|             pass
 | |
| 
 | |
|         self.availablespace = usfree[0:-3]
 | |
|         strview = _('Used: ') + usperc + _('   \n   Available: ') + usfree[0:-3] + ' MB'
 | |
|         self['label3'].setText(strview)
 | |
|         try:
 | |
|             f2 = open('%sImageBoot/.neonextboot', 'r' % getNeoLocation())
 | |
|             mypath2 = f2.readline().strip()
 | |
|             f2.close()
 | |
|         except:
 | |
|             mypath2 = 'Flash'
 | |
| 
 | |
|         if mypath2 == 'Flash':
 | |
|             image = getImageNeoBoot()
 | |
|             if not fileExists('/.multinfo'):
 | |
|                 if fileExists('/etc/issue.net'):
 | |
|                     try:
 | |
|                         obraz = open('/etc/issue.net', 'r').readlines()
 | |
|                         imagetype = obraz[0][:-3]
 | |
|                         image = imagetype
 | |
|                         open('%sImageBoot/.Flash', 'w' % getNeoLocation()).write(image)
 | |
|                     except:
 | |
|                         False
 | |
|             if fileExists('/.multinfo'):
 | |
|                 if fileExists('/media/mmc/etc/issue.net'):
 | |
|                     try:
 | |
|                         obraz = open('/media/mmc/etc/issue.net', 'r').readlines()
 | |
|                         imagetype = obraz[0][:-3]
 | |
|                         image = imagetype
 | |
|                         open('%sImageBoot/.Flash', 'w' % getNeoLocation()).write(image)
 | |
|                     except:
 | |
|                         False
 | |
|                 elif fileExists('/etc/issue.net'):
 | |
|                     try:
 | |
|                         obraz = open('/etc/issue.net', 'r').readlines()
 | |
|                         imagetype = obraz[0][:-1]
 | |
|                         lines = open('/etc/hostname', 'r').readlines()
 | |
|                         boxtype = lines[0][:-1]
 | |
|                         image = imagetype[0:-2] + ' ' + boxtype
 | |
|                         open('%sImageBoot/.Flash', 'w' % getNeoLocation()).write(image)
 | |
|                     except:
 | |
|                         False
 | |
| 
 | |
|         elif fileExists('%sImageBoot/.Flash' % getNeoLocation()):
 | |
|             f = open('%sImageBoot/.Flash', 'r' % getNeoLocation())
 | |
|             image = f.readline().strip()
 | |
|             f.close()
 | |
|         image = ' [' + image + ']'
 | |
|         self.list.append('Flash' + image)
 | |
|         self['label5'].setText(mypath)
 | |
|         if fileExists('/.multinfo'):
 | |
|             f2 = open('/.multinfo', 'r')
 | |
|             mypath3 = f2.readline().strip()
 | |
|             f2.close()
 | |
|             self['label6'].setText(mypath3)
 | |
|         else:
 | |
|             f2 = open('%sImageBoot/.neonextboot' % getNeoLocation() , 'r' )
 | |
|             mypath3 = f2.readline().strip()
 | |
|             f2.close()
 | |
|             self['label6'].setText(mypath3)
 | |
|         mypath = ('%sImageBoot' % getNeoLocation())
 | |
|         myimages = listdir(mypath)
 | |
|         for fil in myimages:
 | |
|             if os.path.isdir(os.path.join(mypath, fil)):
 | |
|                 self.list.append(fil)
 | |
| 
 | |
|         self['label7'].setText(str(len(self.list) - 1))
 | |
|         self['config'].setList(self.list)
 | |
|         KERNELVERSION = getKernelImageVersion()      
 | |
|         strview = PLUGINVERSION + '             ' + 'Kernel %s' % KERNELVERSION
 | |
|         self['label9'].setText(strview)
 | |
|         self['label19'].setText(readline('%sImagesUpload/.kernel/used_flash_kernel' % getNeoLocation() ))
 | |
|         strview = UPDATEVERSION
 | |
|         self['label10'].setText(strview)
 | |
| 
 | |
|     def mytools(self):		
 | |
|         from Plugins.Extensions.NeoBoot.files.tools import MBTools
 | |
|         self.session.open(MBTools)
 | |
| 
 | |
|     def remove(self):
 | |
| 		
 | |
|         self.mysel = self['config'].getCurrent()
 | |
|         if 'Flash' in self.mysel:
 | |
|             self.mysel = 'Flash'
 | |
|         if self.mysel:
 | |
|             f = open('%sImageBoot/.neonextboot' % getNeoLocation(), 'r')
 | |
|             mypath = f.readline().strip()
 | |
|             f.close()
 | |
|             try:
 | |
|                 if fileExists('/.multinfo'):
 | |
|                      self.session.open(MessageBox, _('Sorry you can delete only from the image Flash.'), MessageBox.TYPE_INFO, 5)
 | |
|                 elif self.mysel == 'Flash':
 | |
|                     self.session.open(MessageBox, _('Sorry you cannot delete Flash image'), MessageBox.TYPE_INFO, 5)
 | |
|                 elif mypath == self.mysel:
 | |
|                     self.session.open(MessageBox, _('Sorry you cannot delete the image currently booted from.'), MessageBox.TYPE_INFO, 5)
 | |
|                 else:
 | |
|                     out = open('%sImageBoot/.neonextboot' % getNeoLocation(), 'w' )
 | |
|                     out.write('Flash')
 | |
|                     out.close()
 | |
|                     message = _('Delete the selected image - ') + self.mysel + _('\nDelete ?')
 | |
|                     ybox = self.session.openWithCallback(self.remove2, MessageBox, message, MessageBox.TYPE_YESNO)
 | |
|                     ybox.setTitle(_('Delete Confirmation'))
 | |
|             except:
 | |
|                 print 'no image to remove'
 | |
| 
 | |
|         else:
 | |
|             self.mysel
 | |
| 
 | |
|     def up(self):		
 | |
|         self.list = []
 | |
|         self['config'].setList(self.list)
 | |
|         self.updateList()
 | |
| 
 | |
|     def up2(self):		
 | |
|         try:
 | |
|             self.list = []
 | |
|             self['config'].setList(self.list)
 | |
|             self.updateList()
 | |
|         except:
 | |
|             print ' '
 | |
| 
 | |
|     def remove2(self, yesno):		
 | |
|         if yesno:
 | |
|             cmd = _("echo -e 'Deleting in progress...\n'")
 | |
|             cmd1 = 'rm -r %sImageBoot/' % getNeoLocation() + self.mysel
 | |
|             self.session.openWithCallback(self.up, Console, _('NeoBoot: Deleting Image'), [cmd, cmd1])
 | |
|         else:
 | |
|             self.session.open(MessageBox, _('Removing canceled!'), MessageBox.TYPE_INFO)
 | |
| 
 | |
|     def ImageInstall(self):		
 | |
|         if not fileExists('/.multinfo'):                                                                                                                                                                                                                                                 
 | |
|             if getCPUSoC() or getBoxHostName() or getTunerModel() == ['zgemmah9s',
 | |
|              'osmio4k',
 | |
|              'bcm7252s',
 | |
|              'gbquad4k', 
 | |
|              'ax60',
 | |
|              'sf8008',
 | |
|              'bcm7251', 
 | |
|              'sf4008', 
 | |
|              'bcm7251s', 
 | |
|              '7241', 
 | |
|              'h7',
 | |
|              'dm900',
 | |
|              'BCM97252SSFF', 
 | |
|              '7444s',
 | |
|              '7252s',
 | |
|              '7376',
 | |
|              '72604',
 | |
|              '7278',
 | |
|              '7335',
 | |
|              '7413',
 | |
|              '7325',
 | |
|              '7356',
 | |
|              'bcm7356', 
 | |
|              '7429',
 | |
|              '7424',
 | |
|              '7362', 
 | |
|              'bcm7362',
 | |
|              'BCM7362',
 | |
|              'bcm7358', 
 | |
|              '7405', 
 | |
|              '7405(with 3D)',
 | |
|              'bcm7424',
 | |
|              'vuultimo', 
 | |
|              'mbmini',
 | |
|              'osmini',
 | |
|              'mbultra',
 | |
|              'ustym4kpro'             
 | |
|              'h3']:                   
 | |
|                 self.extractImage()                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
 | |
|             else:
 | |
|                 self.messagebox = self.session.open(MessageBox, _('Nie wykryto odpowiedniego STB do instalacji !!!!'), MessageBox.TYPE_INFO, 8)
 | |
|                 self.close()
 | |
|         else:
 | |
|                 self.messagebox = self.session.open(MessageBox, _('Instalacja tylko z poziomu systemu flash.'), MessageBox.TYPE_INFO, 8)
 | |
|                 self.close()
 | |
| 
 | |
|     def extractImage(self):		
 | |
|         images = False
 | |
|         if fileExists('%sImageBoot/.without_copying' % getNeoLocation() ):
 | |
|             system('rm %sImageBoot/.without_copying' % getNeoLocation() )
 | |
|             
 | |
|         if not os.path.exists('%sImagesUpload' % getNeoLocation()):
 | |
|             system('mkdir %sImagesUpload' % getNeoLocation())                                                                      
 | |
|         myimages = listdir('%sImagesUpload' % getNeoLocation())
 | |
|         print myimages
 | |
|         for fil in myimages:
 | |
|             if fil.endswith('.zip'):
 | |
|                 images = True
 | |
|                 break
 | |
|             if fil.endswith('.tar.xz'):
 | |
|                 images = True
 | |
|                 break
 | |
|             if fil.endswith('.nfi'):
 | |
|                 images = True
 | |
|                 break                
 | |
|             else:
 | |
|                 images = False
 | |
| 
 | |
|         if images == True:
 | |
|                 from Plugins.Extensions.NeoBoot.unpack import InstallImage
 | |
|                 self.session.open(InstallImage)
 | |
|         else:
 | |
|             self.ImageSystem()
 | |
| 
 | |
|     def ImageSystem(self):		
 | |
|         if fileExists('%sImageBoot/.neonextboot' % getNeoLocation()):
 | |
|                 self.messagebox = self.session.open(MessageBox, _('[NeoBoot] The %sImagesUpload directory is EMPTY !!!\nPlease upload the image files in .ZIP or .NFI formats to install.\n' % getNeoLocation() ), MessageBox.TYPE_INFO, 8)
 | |
|                 self.close()   
 | |
|         else:
 | |
|             self.close()
 | |
| 
 | |
|     def boot(self):		
 | |
|         self.mysel = self['config'].getCurrent()
 | |
|         if 'Flash' in self.mysel:
 | |
|             self.mysel = 'Flash'
 | |
|         if self.mysel:
 | |
|             out = open('' + getNeoLocation() + 'ImageBoot/.neonextboot', 'w' )
 | |
|             out.write(self.mysel)
 | |
|             out.close()
 | |
| 
 | |
|             from Plugins.Extensions.NeoBoot.run import StartImage
 | |
|             self.session.open(StartImage)
 | |
| 
 | |
|     def myClose(self, message):		
 | |
|         self.session.open(MessageBox, message, MessageBox.TYPE_INFO)
 | |
|         self.close()
 | |
|                 
 | |
|                                                                
 | |
| def readline(filename, iferror = ''):
 | |
|     if iferror[:3] == 'or:':
 | |
|       data = iferror[3:]
 | |
|     else:
 | |
|       data = iferror
 | |
|     try:
 | |
|         if os.path.exists(filename):
 | |
|             with open(filename) as f:
 | |
|                 data = f.readline().strip()
 | |
|                 f.close()
 | |
|     except Exception:
 | |
|         PrintException()
 | |
|     return data
 | |
| 
 | |
| def checkimage():
 | |
|     mycheck = False
 | |
|     if fileExists('/proc/stb/info'): #vumodel'): ogranicza tylko dla vu+
 | |
|         mycheck = True
 | |
|     else:
 | |
|         mycheck = False
 | |
|     return mycheck
 | |
| 
 | |
| 
 | |
| def main(session, **kwargs):
 | |
| 	
 | |
|     if not fileExists('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neo.sh'):
 | |
|         pass
 | |
|     else:
 | |
|         if not fileExists('%sImageBoot/.version' % getNeoLocation()):
 | |
|             os.system('mkdir -p %s; sync; chmod 0755 /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neo.sh; /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neo.sh  -i' % getNeoLocation())
 | |
| 
 | |
|     version = 0           
 | |
|     if fileExists('%sImageBoot/.version' % getNeoLocation()):
 | |
|         f = open('%sImageBoot/.version' % getNeoLocation())
 | |
|         version = float(f.read())
 | |
|         f.close()
 | |
|     if fileExists('%sImageBoot/.neonextboot' % getNeoLocation()):
 | |
|         f2 = open('%sImageBoot/.neonextboot' % getNeoLocation(), 'r' )
 | |
|         mypath2 = f2.readline().strip()
 | |
|         f2.close()
 | |
|         if mypath2 != 'Flash' or mypath2 == 'Flash' and checkimage():
 | |
|             if float(PLUGINVERSION) != version:
 | |
|                 session.open(MyUpgrade)
 | |
|             else:
 | |
|                 session.open(NeoBootImageChoose)
 | |
|         else:
 | |
|             session.open(MessageBox, _('Sorry: Wrong image in flash found. You have to install in flash Vu+ or Octagon-sf4008 Image !!!'), MessageBox.TYPE_INFO, 10)
 | |
|     else:  
 | |
|         session.open(NeoBootInstallation)
 | |
| 
 | |
| def menu(menuid, **kwargs):
 | |
|     if menuid == 'mainmenu':
 | |
|         return [(_('NeoBOOT'),
 | |
|           main,
 | |
|           'neo_boot',
 | |
|           1)]
 | |
|     return []
 | |
| 
 | |
| from Plugins.Plugin import PluginDescriptor
 | |
| 
 | |
| def Plugins(**kwargs):
 | |
|     return [PluginDescriptor(name='NeoBootUstym ', description='NeoBoot', where=PluginDescriptor.WHERE_MENU, fnc=menu), PluginDescriptor(name='NeoBoot', description=_('Installing multiple images'), icon='neo.png', where=PluginDescriptor.WHERE_PLUGINMENU, fnc=main)]
 | |
| 
 | |
| ####################### _(-_-)_ gutosie _(-_-)_ ####################### |