diff --git a/plugin.py b/plugin.py deleted file mode 100644 index cdba888..0000000 --- a/plugin.py +++ /dev/null @@ -1,1559 +0,0 @@ -#!/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 = """ - - - \ - {"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 - } - - - - - """ - else: - skin = """ - - - - {"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 - } - - - - - """ - __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 = '' - else: - skin = '' - - 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 = """ - - - """ - else: - skin = """ - - """ - __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 , 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 = """ - - - - - - - - - """ - else: - skin = """ - - - - - - - - - """ - __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 \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 = """ - - - - - - - - - - - - - - - - """ - else: - skin = """ - - - \n - - - \n - \n - \n - \n - \n - \n - \n - \n - """ - - 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 = """ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - """ - else: - skin = """ - \n\t\t\t\t\t\t\t - \n\t\t\t\t\t\t\t - \n\t\t\t\t\t\t\t - \n\t\t\t\t\t\t\t - \n\t\t\t\t\t\t\t - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Format:%A %e %B %Y - -\t\t\t""" - - - 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 _(-_-)_ ####################### \ No newline at end of file