This commit is contained in:
gutosie
2019-02-11 20:40:01 +02:00
committed by GitHub
parent 51f4ca6a63
commit cf1d462d09
7 changed files with 2269 additions and 0 deletions

40
NeoBoot/.info Normal file
View File

@@ -0,0 +1,40 @@
#!/bin/sh
#Wspierane tunery satelitarne:
#Machine BCM - getCPUSoC():
#cat /proc/stb/info/chipset:
Ultimo4k : 7444s
Solo4k : 7376
Zero 4K : 72604
Duo4k : 7278 #BCM7278
Uno 4K : 7252s
Uno4kSE : 7252s
Ultimo : 7405(with 3D)
Uno : 7405(with 3D)
Duo : 7335
Duo2 : 7424
Zero : 7362
Solo : 7325
Solose : 7241
Solose-v2 : 7241
Solo2 : 7356
Formuler F1 : bcm7356
Formuler F3 : 7362
Miraclebox MBmini : bcm7358
Miraclebox Micro : bcm7362
Miraclebox Ultra : bcm7424
Octagon Sf8008 : 3798mv200
Octagon SF4008 : bcm7251
Zgemma h7S : bcm7251s
Zgemma H9S :
AX HD60 4K : hi3798mv200 root@ax60:~# cat /etc/hostname : ax60
OSmini : BCM7362
atemio6000 : bcm7362

25
NeoBoot/__init__.py Normal file
View File

@@ -0,0 +1,25 @@
# -*- coding: utf-8 -*-
from Components.Language import language
from Tools.Directories import resolveFilename, SCOPE_PLUGINS, SCOPE_LANGUAGE
import os, gettext
PluginLanguageDomain = 'NeoBoot'
PluginLanguagePath = 'Extensions/NeoBoot/locale'
def localeInit():
lang = language.getLanguage()[:2]
os.environ['LANGUAGE'] = lang
print '[NeoBoot] set language to ', lang
gettext.bindtextdomain(PluginLanguageDomain, resolveFilename(SCOPE_PLUGINS, PluginLanguagePath))
def _(txt):
t = gettext.dgettext(PluginLanguageDomain, txt)
if t == txt:
#print '[NeoBoot] fallback to default translation for', txt
t = gettext.dgettext('enigma2', txt)
return t
localeInit()
language.addCallback(localeInit)

BIN
NeoBoot/neo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

BIN
NeoBoot/neologo.mvi Normal file

Binary file not shown.

1492
NeoBoot/plugin.py Normal file

File diff suppressed because it is too large Load Diff

399
NeoBoot/run.py Normal file
View File

@@ -0,0 +1,399 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
from __init__ import _
from Plugins.Extensions.NeoBoot.files import Harddisk
from Plugins.Extensions.NeoBoot.files.stbbranding import getKernelVersionString, getKernelImageVersion, getCPUtype, getCPUSoC, getImageNeoBoot, getBoxVuModel, getBoxHostName, getTunerModel
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
class StartImage(Screen):
screenwidth = getDesktop(0).size().width()
if screenwidth and screenwidth == 1920:
skin = """<screen position="center, center" size="1241, 850" title="NeoBoot">
\n\t\t\t<ePixmap position="491, 673" zPosition="-2" size="365, 160" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/matrixhd.png" />
<widget source="list" render="Listbox" position="20, 171" size="1194, 290" scrollbarMode="showOnDemand">\n\t\t\t\t<convert type="TemplatedMultiContent">
\n \t\t{"template": [
\n \t\t\tMultiContentEntryText(pos = (90, 1), size = (920, 66), flags = RT_HALIGN_LEFT|RT_VALIGN_CENTER, text = 0),
\n \t\t\tMultiContentEntryPixmapAlphaTest(pos = (8, 4), size = (66, 66), png = 1),
\n \t\t\t],
\n \t\t\t"fonts": [gFont("Regular", 40)],\n \t\t\t"itemHeight": 66\n \t\t}
\n \t\t</convert>\n\t\t</widget>
\n <widget name="label1" position="21, 29" zPosition="1" size="1184, 116" font="Regular;35" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="red" />
\n\t\t <widget name="label2" position="22, 480" zPosition="-2" size="1205, 168" font="Regular;35" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="red" />
\n\t\t </screen>"""
else:
skin = """<screen position="center, center" size="835, 500" title="NeoBoot">
\n\t\t\t <ePixmap position="0,0" zPosition="-1" size="835,500" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/frame835x500.png" />
<widget source="list" render="Listbox" position="16, 150" size="800, 40" selectionPixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/listselection800x35.png" scrollbarMode="showOnDemand">
\n\t\t\t\t<convert type="TemplatedMultiContent">
\n \t\t{"template": [
\n \t\t\tMultiContentEntryText(pos = (180, 0), size = (520, 36), flags = RT_HALIGN_LEFT|RT_VALIGN_CENTER, text = 0),
\n \t\t\tMultiContentEntryPixmapAlphaTest(pos = (4, 2), size = (36, 36), png = 1),
\n \t\t\t],\n \t\t\t"fonts": [gFont("Regular", 22)],
\n \t\t\t"itemHeight": 35\n \t\t}\n \t\t</convert>
\n\t\t</widget>\n<widget name="label1" font="Regular; 26" position="15, 70" size="803, 58" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="#00cc99" />
<widget name="label2" position="40, 232" zPosition="2" size="806, 294" font="Regular;25" halign="center" valign="center" backgroundColor="black" transparent="1" foregroundColor="#00cc99" />
\n\t\t </screen>"""
__module__ = __name__
def __init__(self, session):
Screen.__init__(self, session)
self.list = []
self['list'] = List(self.list)
self.select()
self['actions'] = ActionMap(['WizardActions', 'ColorActions'], {'ok': self.KeyOk,
'back': self.close})
self['label1'] = Label(_('Start the chosen system now ?'))
self['label2'] = Label(_('Select OK to run the image.'))
def select(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 = (_('OK Start image...'), png, 0)
self.list.append(res)
self['list'].list = self.list
#################################
def KeyOk(self):
if getImageNeoBoot() != 'Flash':
cmd = _("echo -e '[NeoBoot] Uwaga!!! po poprawnym starcie wybranego oprogramowania w neoboot,\nnalezy uruchomic NEOBOOTA by potwierdzic prawidlowy start image.\n\nNacisnij OK lub exit na pilocie by kontynuowac...\n\n\n'")
self.session.openWithCallback(self.StartImageInNeoBoot, Console, _('NeoBoot: Start image...'), [cmd])
else:
self.StartImageInNeoBoot()
def StartImageInNeoBoot(self):
if fileExists('/media/neoboot/ImageBoot/%s/.control_ok ' % ( getImageNeoBoot())):
system('touch /tmp/.control_ok ')
elif not fileExists('/media/neoboot/ImageBoot/%s/.control_ok ' % ( getImageNeoBoot())):
system('touch /media/neoboot/ImageBoot/%s//.control_boot_new_image ' % ( getImageNeoBoot()))
####################################
system('sync; echo 3 > /proc/sys/vm/drop_caches; chmod 755 /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/*')
self.sel = self['list'].getCurrent()
if self.sel:
self.sel = self.sel[2]
if self.sel == 0:
if fileExists('/media/mmc/etc/init.d/neobootmount.sh'):
os.system('rm -f /media/mmc/etc/init.d/neobootmount.sh;')
#DM900; Zgemma h7S; AX HD60 4K
if getCPUSoC() == 'hi3798mv200' or getBoxHostName == 'ax60' or getCPUSoC() == '3798mv200' or getBoxHostName() == 'sf8008' or getCPUSoC() == 'bcm7251s' or getBoxHostName() == 'h7' or getCPUSoC() == 'BCM97252SSFF' or getBoxHostName() == 'dm900':
if getImageNeoBoot() == 'Flash':
if fileExists('/.multinfo'):
os.system('cd /media/mmc; ln -sfn /sbin/init.sysvinit /media/mmc/sbin/init; reboot -d -f -h -i')
elif not fileExists('/.multinfo'):
os.system('ln -sfn /sbin/init.sysvinit /sbin/init; reboot -d -f -h -i')
elif getImageNeoBoot() != 'Flash':
os.system('ln -sfn /sbin/neoinitarm /sbin/init; reboot -d -f -h -i')
else:
os.system('echo "Flash " >> /media/neoboot/ImageBoot/.neonextboot')
self.messagebox = self.session.open(MessageBox, _('Wygląda na to że multiboot nie wspiera tego modelu STB !!! '), MessageBox.TYPE_INFO, 8)
self.close()
#MiracleBox, ET8500, Formuler F1, Formuler F3, Atemio6000 - MIPS # test - ultra, osmini
elif getCPUtype() != 'ARMv7' and getCPUSoC() == 'bcm7358' or getCPUSoC() == 'bcm7362' or getCPUSoC() == 'bcm7356' or getCPUSoC() == 'bcm7241' or getCPUSoC() == 'bcm7362' or getBoxHostName() == 'mbmini' or getBoxHostName() == 'h3' or getTunerModel() == 'ini-1000sv': #or getBoxHostName == 'mbultra' or getCPUSoC() == 'BCM7362' or getBoxHostName() == 'osmini'
if getImageNeoBoot() == 'Flash':
self.session.open(TryQuitMainloop, 2)
elif getImageNeoBoot() != 'Flash':
cmd='ln -sfn /sbin/neoinitmips /sbin/init; reboot -d -f -h -i'
self.session.open(Console, _('NeoBoot ....'), [cmd])
else:
os.system('echo "Flash " >> /media/neoboot/ImageBoot/.neonextboot')
self.messagebox = self.session.open(MessageBox, _('Wygląda na to że multiboot nie wspiera tego modelu STB !!! '), MessageBox.TYPE_INFO, 8)
self.close()
#MiracleBox Ultra - MIPS #Test
elif getCPUtype() != 'ARMv7' and getCPUSoC() == 'bcm7424' or getTunerModel() == 'ini-8000sv':
if getImageNeoBoot() == 'Flash':
if fileExists('/.multinfo'):
cmd2='/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/mbultra_dev_mtd2.sh'
self.session.open(Console, _('NeoBoot MiracleBox Ultra...'), [cmd2])
elif not fileExists('/.multinfo'):
self.session.open(TryQuitMainloop, 2)
elif getImageNeoBoot() != 'Flash':
if not fileExists('/.multinfo'):
if not fileExists('/media/neoboot/ImageBoot/%s/boot/%s.vmlinux.gz ' % ( getImageNeoBoot(), getBoxHostName())):
cmd2='ln -sfn /sbin/neoinitmips /sbin/init; reboot -d -f -h -i'
self.session.open(Console, _('NeoBoot MiracleBox Ultra Rebooting....'), [cmd2])
elif fileExists('/media/neoboot/ImageBoot/%s/boot/%s.vmlinux.gz' % ( getImageNeoBoot(), getBoxHostName())):
cmd2='ln -sfn /sbin/neoinitmips /sbin/init; /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/mbultra_dev_mtd2.sh'
self.session.open(Console, _('NeoBoot MiracleBox Ultra....'), [cmd2])
elif fileExists('/.multinfo'):
if not fileExists('/media/neoboot/ImageBoot/%s/boot/%s.vmlinux.gz' % ( getImageNeoBoot(), getBoxHostName())):
cmd2='ln -sfn /sbin/init.sysvinit /sbin/init; opkg install --force-reinstall --force-overwrite --force-downgrade /media/neoboot/ImagesUpload/.kernel/zImage.%s.ipk; reboot -d -f -h -i' % getBoxHostName()
self.session.open(Console, _('NeoBoot MiracleBox Ultra Rebooting....'), [cmd2])
elif fileExists('/media/neoboot/ImageBoot/%s/boot/%s.vmlinux.gz' % ( getImageNeoBoot(), getBoxHostName())):
cmd2='ln -sfn /sbin/init.sysvinit /sbin/init; /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/mbultra_dev_mtd2.sh'
self.session.open(Console, _('NeoBoot MiracleBox Ultra....'), [cmd2])
else:
os.system('echo "Flash " >> /media/neoboot/ImageBoot/.neonextboot')
self.messagebox = self.session.open(MessageBox, _('Wygląda na to że model STB nie jest wpierany przez multiboota!!! '), MessageBox.TYPE_INFO, 8)
self.close()
#Edision OS MINI - MIPS #Test
elif getCPUtype() != 'ARMv7' and getCPUSoC() == 'BCM7362' or getBoxHostName() == 'osmini':
if getImageNeoBoot() == 'Flash':
if fileExists('/.multinfo'):
cmd2='/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/osmini_dev_mtd0.sh'
self.session.open(Console, _('NeoBoot Arm....'), [cmd2])
elif not fileExists('/.multinfo'):
self.session.open(TryQuitMainloop, 2)
elif getImageNeoBoot() != 'Flash':
if not fileExists('/.multinfo'):
if not fileExists('/media/neoboot/ImageBoot/%s/boot/%s.vmlinux.gz' % ( getImageNeoBoot(), getBoxHostName())):
cmd2='ln -sfn /sbin/neoinitmips /sbin/init; reboot -d -f -h -i'
self.session.open(Console, _('NeoBoot Arm....'), [cmd2])
elif fileExists('/media/neoboot/ImageBoot/%s/boot/%s.vmlinux.gz' % ( getImageNeoBoot(), getBoxHostName())):
cmd2='ln -sfn /sbin/neoinitmips /sbin/init; /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/osmini_dev_mtd0.sh'
self.session.open(Console, _('NeoBoot Arm....'), [cmd2])
elif fileExists('/.multinfo'):
if not fileExists('/media/neoboot/ImageBoot/%s/boot/%s.vmlinux.gz' % ( getImageNeoBoot(), getBoxHostName())):
cmd2='opkg install --force-reinstall --force-overwrite --force-downgrade /media/neoboot/ImagesUpload/.kernel/zImage.%s.ipk; reboot -d -f -h -i' % getBoxHostName()
self.session.open(Console, _('NeoBoot Arm....'), [cmd2])
elif fileExists('/media/neoboot/ImageBoot/%s/boot/%s.vmlinux.gz' % ( getImageNeoBoot(), getBoxHostName())):
cmd2='/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/osmini_dev_mtd0.sh'
self.session.open(Console, _('NeoBoot Arm....'), [cmd2])
else:
os.system('echo "Flash " >> /media/neoboot/ImageBoot/.neonextboot')
self.messagebox = self.session.open(MessageBox, _('Wygląda na to że model STB nie jest wpierany przez multiboota!!! '), MessageBox.TYPE_INFO, 8)
self.close()
#Octagon SF4008 ARM
elif getCPUSoC() == 'bcm7251' or getBoxHostName() == 'sf4008' :
if getImageNeoBoot() == 'Flash':
if fileExists('/.multinfo'):
cmd1='/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/sf4008_mmcblk0p3.sh'
self.session.open(Console, _('NeoBoot Octagon SF4008 ARM ...'), [cmd1])
elif not fileExists('/.multinfo'):
self.session.open(TryQuitMainloop, 2)
elif getImageNeoBoot() != 'Flash':
if not fileExists('/.multinfo'):
if not fileExists('/media/neoboot/ImageBoot/%s/boot/zImage.%s' % ( getImageNeoBoot(), getBoxHostName())):
cmd1='ln -sfn /sbin/neoinitarm /sbin/init; reboot -d -f -h -i'
self.session.open(Console, _('NeoBoot Octagon SF4008 ARM ....'), [cmd1])
elif fileExists('/media/neoboot/ImageBoot/%s/boot/zImage.%s' % ( getImageNeoBoot(), getBoxHostName())):
cmd1='ln -sfn /sbin/neoinitarm /sbin/init; /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/sf4008_mmcblk0p3.sh'
self.session.open(Console, _('NeoBoot Octagon SF4008 ARM ....'), [cmd1])
elif fileExists('/.multinfo'):
if not fileExists('/media/neoboot/ImageBoot/%s/boot/zImage.%s' % ( getImageNeoBoot(), getBoxHostName())):
cmd1='cd /media/mmc; ln -sf /sbin/init.sysvinit /media/mmc/sbin/init; opkg install --force-maintainer --force-reinstall --force-overwrite --force-downgrade /media/neoboot/ImagesUpload/.kernel/zImage.%s.ipk; reboot -d -f -h -i' % getBoxHostName()
self.session.open(Console, _('NeoBoot Octagon SF4008 ARM ....'), [cmd1])
elif fileExists('/media/neoboot/ImageBoot/%s/boot/zImage.%s' % ( getImageNeoBoot(), getBoxHostName())):
cmd1='cd /media/mmc; ln -sfn /sbin/init.sysvinit /media/mmc/sbin/init; /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/sf4008_mmcblk0p3.sh'
self.session.open(Console, _('NeoBoot Octagon SF4008 ARM ....'), [cmd1])
else:
os.system('echo "Flash " >> /media/neoboot/ImageBoot/.neonextboot')
self.messagebox = self.session.open(MessageBox, _('Wygląda na to że Twój model STB nie jest wpierany!!! '), MessageBox.TYPE_INFO, 8)
self.close()
#Zgemma h7S ARM
elif getCPUSoC() == 'bcm7251s' or getBoxHostName() == 'h7' :
if getImageNeoBoot() == 'Flash':
if fileExists('/.multinfo'):
cmd1='/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/h7s_mmcblk0p2.sh'
self.session.open(Console, _('NeoBoot Zgemma h7S ARM ...'), [cmd1])
elif not fileExists('/.multinfo'):
self.session.open(TryQuitMainloop, 2)
elif getImageNeoBoot() != 'Flash':
if not fileExists('/.multinfo'):
if not fileExists('/media/neoboot/ImageBoot/%s/boot/zImage.%s' % ( getImageNeoBoot(), getBoxHostName())):
cmd1='ln -sfn /sbin/neoinitarm /sbin/init; reboot -d -f -h -i'
self.session.open(Console, _('NeoBoot Zgemma h7S ARM ....'), [cmd1])
elif fileExists('/media/neoboot/ImageBoot/%s/boot/zImage.%s' % ( getImageNeoBoot(), getBoxHostName())):
cmd1='ln -sfn /sbin/neoinitarm /sbin/init; /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/h7s_mmcblk0p2.sh'
self.session.open(Console, _('NeoBoot Zgemma h7S ARM ....'), [cmd1])
elif fileExists('/.multinfo'):
if not fileExists('/media/neoboot/ImageBoot/%s/boot/zImage.%s' % ( getImageNeoBoot(), getBoxHostName())):
cmd1='cd /media/mmc; ln -sf /sbin/neoinitarm /media/mmc/sbin/init; opkg install --force-maintainer --force-reinstall --force-overwrite --force-downgrade /media/neoboot/ImagesUpload/.kernel/zImage.%s.ipk; reboot -d -f -h -i' % getBoxHostName()
self.session.open(Console, _('NeoBoot Zgemma h7S ARM ....'), [cmd1])
elif fileExists('/media/neoboot/ImageBoot/%s/boot/zImage.%s' % ( getImageNeoBoot(), getBoxHostName())):
cmd1='cd /media/mmc; ln -sfn /sbin/neoinitarm /media/mmc/sbin/init; /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/h7s_mmcblk0p2.sh'
self.session.open(Console, _('NeoBoot Zgemma h7S ARM ....'), [cmd1])
else:
os.system('echo "Flash " >> /media/neoboot/ImageBoot/.neonextboot')
self.messagebox = self.session.open(MessageBox, _('Wygląda na to że Twój model STB nie jest wpierany!!! '), MessageBox.TYPE_INFO, 8)
self.close()
#VUPLUS ARM - vu_mmcblk0p1.sh
elif getCPUSoC() == '7444s' or getBoxHostName() == 'vuultimo4k' or getCPUSoC() == '7376' or getBoxHostName() == 'vusolo4k' or getCPUSoC() == '7252s' or getBoxHostName() == 'vuuno4kse':
if getImageNeoBoot() == 'Flash':
if fileExists('/.multinfo'):
cmd1='/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/vu_mmcblk0p1.sh'
self.session.open(Console, _('NeoBoot Arm....'), [cmd1])
elif not fileExists('/.multinfo'):
self.session.open(TryQuitMainloop, 2)
elif getImageNeoBoot() != 'Flash':
if not fileExists('/.multinfo'):
if not fileExists('/media/neoboot/ImageBoot/%s/boot/zImage.%s' % ( getImageNeoBoot(), getBoxVuModel())):
cmd1='ln -sfn /sbin/neoinitarm /sbin/init; reboot -d -f -h -i'
self.session.open(Console, _('NeoBoot Arm....'), [cmd1])
elif fileExists('/media/neoboot/ImageBoot/%s/boot/zImage.%s' % ( getImageNeoBoot(), getBoxVuModel())):
cmd1='ln -sfn /sbin/neoinitarmvu /sbin/init; /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/vu_mmcblk0p1.sh'
self.session.open(Console, _('NeoBoot Arm....'), [cmd1])
elif fileExists('/.multinfo'):
if not fileExists('/media/neoboot/ImageBoot/%s/boot/zImage.%s' % ( getImageNeoBoot(), getBoxVuModel())):
cmd1='cd /media/mmc; ln -sf /sbin/neoinitarm /media/mmc/sbin/init; opkg install --force-maintainer --force-reinstall --force-overwrite --force-downgrade /media/neoboot/ImagesUpload/.kernel/zImage.%s.ipk; reboot -d -f -h -i' % getBoxVuModel()
self.session.open(Console, _('NeoBoot Arm....'), [cmd1])
elif fileExists('/media/neoboot/ImageBoot/%s/boot/zImage.%s' % ( getImageNeoBoot(), getBoxVuModel())):
cmd1='cd /media/mmc; ln -sfn /sbin/neoinitarmvu /media/mmc/sbin/init; /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/vu_mmcblk0p1.sh'
self.session.open(Console, _('NeoBoot Arm....'), [cmd1])
else:
os.system('echo "Flash " >> /media/neoboot/ImageBoot/.neonextboot')
self.messagebox = self.session.open(MessageBox, _('Wygląda na to że Twój model STB nie jest wpierany!!! '), MessageBox.TYPE_INFO, 8)
self.close()
#VUPLUS ARM - vu_mmcblk0p4.sh
elif getCPUSoC() == '72604' or getBoxHostName() == 'vuzero4k':
if getImageNeoBoot() == 'Flash':
if fileExists('/.multinfo'):
cmd1='/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/vu_mmcblk0p4.sh'
self.session.open(Console, _('NeoBoot Arm....'), [cmd1])
elif not fileExists('/.multinfo'):
self.session.open(TryQuitMainloop, 2)
elif getImageNeoBoot() != 'Flash':
if not fileExists('/.multinfo'):
if not fileExists('/media/neoboot/ImageBoot/%s/boot/zImage.%s' % ( getImageNeoBoot(), getBoxVuModel())):
cmd1='ln -sfn /sbin/neoinitarm /sbin/init; reboot -d -f -h -i'
self.session.open(Console, _('NeoBoot Arm....'), [cmd1])
elif fileExists('/media/neoboot/ImageBoot/%s/boot/zImage.%s' % ( getImageNeoBoot(), getBoxVuModel())):
cmd1='ln -sfn /sbin/neoinitarmvu /sbin/init; /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/vu_mmcblk0p4.sh'
self.session.open(Console, _('NeoBoot Arm....'), [cmd1])
elif fileExists('/.multinfo'):
if not fileExists('/media/neoboot/ImageBoot/%s/boot/zImage.%s' % ( getImageNeoBoot(), getBoxVuModel())):
cmd1='cd /media/mmc; ln -sf /sbin/neoinitarm /media/mmc/sbin/init; opkg install --force-maintainer --force-reinstall --force-overwrite --force-downgrade /media/neoboot/ImagesUpload/.kernel/zImage.%s.ipk; reboot -d -f -h -i' % getBoxVuModel()
self.session.open(Console, _('NeoBoot Arm....'), [cmd1])
elif fileExists('/media/neoboot/ImageBoot/%s/boot/zImage.%s' % ( getImageNeoBoot(), getBoxVuModel())):
cmd1='cd /media/mmc; ln -sfn /sbin/neoinitarmvu /media/mmc/sbin/init; /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/vu_mmcblk0p4.sh'
self.session.open(Console, _('NeoBoot Arm....'), [cmd1])
else:
os.system('echo "Flash " >> /media/neoboot/ImageBoot/.neonextboot')
self.messagebox = self.session.open(MessageBox, _('Wygląda na to że Twój model STB nie jest wpierany!!! '), MessageBox.TYPE_INFO, 8)
self.close()
#VUPLUS ARM - Duo4k.sh
elif getCPUSoC() == '7278' or getBoxHostName() == 'vuduo4k':
if getImageNeoBoot() == 'Flash':
if fileExists('/.multinfo'):
cmd1='/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/vu_mmcblk0p6.sh'
self.session.open(Console, _('NeoBoot Arm....'), [cmd1])
elif not fileExists('/.multinfo'):
self.session.open(TryQuitMainloop, 2)
elif getImageNeoBoot() != 'Flash':
if not fileExists('/.multinfo'):
if not fileExists('/media/neoboot/ImageBoot/%s/boot/zImage.%s' % ( getImageNeoBoot(), getBoxVuModel())):
cmd1='ln -sfn /sbin/neoinitarm /sbin/init; reboot -d -f -h -i'
self.session.open(Console, _('NeoBoot Arm....'), [cmd1])
elif fileExists('/media/neoboot/ImageBoot/%s/boot/zImage.%s' % ( getImageNeoBoot(), getBoxVuModel())):
cmd1='ln -sfn /sbin/neoinitarmvu /sbin/init; /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/vu_mmcblk0p6.sh'
self.session.open(Console, _('NeoBoot Arm....'), [cmd1])
elif fileExists('/.multinfo'):
if not fileExists('/media/neoboot/ImageBoot/%s/boot/zImage.%s' % ( getImageNeoBoot(), getBoxVuModel())):
cmd1='cd /media/mmc; ln -sf /sbin/neoinitarm /media/mmc/sbin/init; opkg install --force-maintainer --force-reinstall --force-overwrite --force-downgrade /media/neoboot/ImagesUpload/.kernel/zImage.%s.ipk; reboot -d -f -h -i' % getBoxVuModel()
self.session.open(Console, _('NeoBoot Arm....'), [cmd1])
elif fileExists('/media/neoboot/ImageBoot/%s/boot/zImage.%s' % ( getImageNeoBoot(), getBoxVuModel())):
cmd1='cd /media/mmc; ln -sfn /sbin/neoinitarmvu /media/mmc/sbin/init; /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/vu_mmcblk0p6.sh'
self.session.open(Console, _('NeoBoot Arm....'), [cmd1])
else:
os.system('echo "Flash " >> /media/neoboot/ImageBoot/.neonextboot')
self.messagebox = self.session.open(MessageBox, _('Wygląda na to że Twój model STB nie jest wpierany!!! '), MessageBox.TYPE_INFO, 8)
self.close()
#VUPLUS MIPS mtd2
elif getCPUSoC() == '7356' or getCPUSoC() == '7429' or getCPUSoC() == '7424' or getCPUSoC() == '7241' or getCPUSoC() == '7362' or getBoxHostName() == 'vusolo2' or getBoxHostName() == 'vusolose' or getBoxHostName() == 'vuduo2' or getBoxHostName() == 'vuzero':
if getImageNeoBoot() == 'Flash':
if fileExists('/.multinfo'):
cmd2='/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/vu_dev_mtd2.sh'
self.session.open(Console, _('NeoBoot MIPS...'), [cmd2])
elif not fileExists('/.multinfo'):
self.session.open(TryQuitMainloop, 2)
elif getImageNeoBoot() != 'Flash':
if not fileExists('/.multinfo'):
if not fileExists('/media/neoboot/ImageBoot/%s/boot/%s.vmlinux.gz' % ( getImageNeoBoot(), getBoxVuModel())):
cmd2='ln -sfn /sbin/neoinitmips /sbin/init; reboot -d -f -h -i'
self.session.open(Console, _('NeoBoot Arm....'), [cmd2])
elif fileExists('/media/neoboot/ImageBoot/%s/boot/%s.vmlinux.gz' % ( getImageNeoBoot(), getBoxVuModel())):
cmd2='ln -sfn /sbin/neoinitmipsvu /sbin/init; /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/vu_dev_mtd2.sh'
self.session.open(Console, _('NeoBoot Arm....'), [cmd2])
elif fileExists('/.multinfo'):
if not fileExists('/media/neoboot/ImageBoot/%s/boot/%s.vmlinux.gz' % ( getImageNeoBoot(), getBoxVuModel())):
cmd2='opkg install --force-reinstall --force-overwrite --force-downgrade /media/neoboot/ImagesUpload/.kernel/zImage.%s.ipk; reboot -d -f -h -i' % getBoxVuModel()
self.session.open(Console, _('NeoBoot Arm....'), [cmd2])
elif fileExists('/media/neoboot/ImageBoot/%s/boot/%s.vmlinux.gz' % ( getImageNeoBoot(), getBoxVuModel())):
cmd2='/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/vu_dev_mtd2.sh'
self.session.open(Console, _('NeoBoot Arm....'), [cmd2])
else:
os.system('echo "Flash " >> /media/neoboot/ImageBoot/.neonextboot')
self.messagebox = self.session.open(MessageBox, _('Wygląda na to że model STB nie jest wpierany przez multiboota!!! '), MessageBox.TYPE_INFO, 8)
self.close()
#VUPLUS MIPS mtd1
elif getCPUSoC() == '7335' or getCPUSoC() == '7325' or getCPUSoC() == '7405' or getCPUSoC() == '7405(with 3D)' or getBoxHostName() == 'vuultimo' or getBoxHostName() == 'bm750' or getBoxHostName() == 'duo' or getBoxHostName() == 'vuuno' or getBoxHostName() == 'vusolo' or getBoxHostName() == 'vuduo':
if getImageNeoBoot() == 'Flash':
if fileExists('/.multinfo'):
cmd2='/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/vu_dev_mtd1.sh'
self.session.open(Console, _('NeoBoot MIPS...'), [cmd2])
elif not fileExists('/.multinfo'):
self.session.open(TryQuitMainloop, 2)
elif getImageNeoBoot() != 'Flash':
if not fileExists('/.multinfo'):
if not fileExists('/media/neoboot/ImageBoot/%s/boot/%s.vmlinux.gz' % ( getImageNeoBoot(), getBoxVuModel())):
cmd2='ln -sfn /sbin/neoinitmips /sbin/init; reboot -d -f -h -i'
self.session.open(Console, _('NeoBoot Arm....'), [cmd2])
elif fileExists('/media/neoboot/ImageBoot/%s/boot/%s.vmlinux.gz' % ( getImageNeoBoot(), getBoxVuModel())):
cmd2='ln -sfn /sbin/neoinitmipsvu /sbin/init; /usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/vu_dev_mtd1.sh'
self.session.open(Console, _('NeoBoot Arm....'), [cmd2])
elif fileExists('/.multinfo'):
if not fileExists('/media/neoboot/ImageBoot/%s/boot/%s.vmlinux.gz' % ( getImageNeoBoot(), getBoxVuModel())):
cmd2='opkg install --force-reinstall --force-overwrite --force-downgrade /media/neoboot/ImagesUpload/.kernel/zImage.%s.ipk; reboot -d -f -h -i' % getBoxVuModel()
self.session.open(Console, _('NeoBoot Arm....'), [cmd2])
elif fileExists('/media/neoboot/ImageBoot/%s/boot/%s.vmlinux.gz' % ( getImageNeoBoot(), getBoxVuModel())):
cmd2='/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/target/vu_dev_mtd1.sh'
self.session.open(Console, _('NeoBoot Arm....'), [cmd2])
else:
os.system('echo "Flash " >> /media/neoboot/ImageBoot/.neonextboot')
self.messagebox = self.session.open(MessageBox, _('Wygląda na to że model STB nie jest wpierany przez multiboota!!! '), MessageBox.TYPE_INFO, 8)
self.close()
else:
os.system('echo "Flash " >> /media/neoboot/ImageBoot/.neonextboot')
self.messagebox = self.session.open(MessageBox, _('Wygląda na to że model STB nie jest wpierany przez NEOBOOT !!! '), MessageBox.TYPE_INFO, 8)
self.close()

313
NeoBoot/unpack.py Normal file
View File

@@ -0,0 +1,313 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
from __init__ import _
from Plugins.Extensions.NeoBoot.files import Harddisk
from Plugins.Extensions.NeoBoot.files.stbbranding import getKernelVersionString, getKernelImageVersion, getCPUtype, getCPUSoC, getImageNeoBoot, getBoxVuModel, getBoxHostName, getTunerModel
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
class InstallImage(Screen, ConfigListScreen):
screenwidth = getDesktop(0).size().width()
if screenwidth and screenwidth == 1920:
skin = """<screen position="82,105" size="1650,875" title="NeoBoot - Installation">
<eLabel position="41,107" size="1541,2" backgroundColor="blue" foregroundColor="blue" name="linia" />
<eLabel position="40,744" size="1545,2" backgroundColor="blue" foregroundColor="blue" name="linia" />
<eLabel text="NeoBoot opcje dla instalowanego obrazu" font="Regular; 38" position="40,24" size="1538,74" halign="center" foregroundColor="red" backgroundColor="black" transparent="1" />
<widget name="config" position="38,134" size="1547,593" font="Regular; 32" itemHeight="42" selectionPixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/selektor.png" scrollbarMode="showOnDemand" transparent="1" backgroundColor="transpBlack" />
<ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/redcor.png" position="84,820" size="178,28" alphatest="on" />
<ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/greencor.png" position="457,820" size="178,29" alphatest="on" />
<ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/yellowcor.png" position="884,823" size="169,28" alphatest="on" />
<ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/bluecor.png" position="1288,821" size="167,29" alphatest="on" />
<widget name="HelpWindow" position="330,310" zPosition="5" size="1,1" transparent="1" alphatest="on" />
<widget name="key_red" position="36,762" zPosition="1" size="284,53" font="Regular; 35" halign="center" valign="center" backgroundColor="#FF0000" transparent="1" foregroundColor="red" />
<widget name="key_green" position="403,760" zPosition="1" size="293,55" font="Regular; 35" halign="center" valign="center" backgroundColor="#00FF00" transparent="1" foregroundColor="green" />
<widget name="key_yellow" position="816,761" zPosition="1" size="295,54" font="Regular; 35" halign="center" valign="center" backgroundColor="#FFFF00" transparent="1" foregroundColor="yellow" />
<widget name="key_blue" position="1233,760" zPosition="1" size="272,56" font="Regular; 35" halign="center" valign="center" backgroundColor="#0000FF" transparent="1" foregroundColor="blue" />\
</screen>"""
else:
skin = """<screen position="0,0" size="1280,720" title="NeoBoot - Installation">
<ePixmap position="0,0" zPosition="-1" size="1280,720" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/1frame_base-fs8.png" />
<eLabel text="NeoBoot opcje dla instalowanego obrazu" font="Regular; 28" position="10,30" size="700,30" halign="center" foregroundColor="#58ccff" backgroundColor="black" transparent="1" />
<widget name="config" position="0,150" size="780,450" font="Regular; 22" itemHeight="32" selectionPixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/listselection700x32-fs8.png" scrollbarMode="showOnDemand" transparent="1" backgroundColor="transpBlack" />
<widget name="HelpWindow" position="100,500" zPosition="5" size="1,1" transparent="1" alphatest="on" />
<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 source="session.VideoPicture" render="Pig" position=" 836,89" size="370,208" zPosition="3" backgroundColor="#ff000000"/>
<ePixmap position="920,500" zPosition="1" size="228,130" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/images/1matrix.png" />
</screen>"""
def __init__(self, session):
Screen.__init__(self, session)
fn = 'NewImage'
sourcelist = []
for fn in os.listdir('/media/neoboot/ImagesUpload'):
if fn.find('.zip') != -1:
fn = fn.replace('.zip', '')
sourcelist.append((fn, fn))
continue
if fn.find('.tar.xz') != -1:
fn = fn.replace('.tar.xz', '')
sourcelist.append((fn, fn))
continue
if fn.find('.nfi') != -1:
fn = fn.replace('.nfi', '')
sourcelist.append((fn, fn))
continue
if len(sourcelist) == 0:
sourcelist = [('None', 'None')]
self.source = ConfigSelection(choices=sourcelist)
self.target = ConfigText(fixed_size=False)
self.CopyFiles = ConfigYesNo(default=False)
self.CopyKernel = ConfigYesNo(default=True)
self.TvList = ConfigYesNo(default=True)
self.Montowanie = ConfigYesNo(default=True)
self.LanWlan = ConfigYesNo(default=True)
self.Sterowniki = ConfigYesNo(default=False)
self.InstallSettings = ConfigYesNo(default=False)
self.ZipDelete = ConfigYesNo(default=False)
self.RepairFTP = ConfigYesNo(default=False)
self.SoftCam = ConfigYesNo(default=False)
self.MediaPortal = ConfigYesNo(default=False)
self.BlackHole = ConfigYesNo(default=False)
self.target.value = ''
self.curselimage = ''
try:
if self.curselimage != self.source.value:
self.target.value = self.source.value[:-13]
self.curselimage = self.source.value
except:
pass
self.createSetup()
ConfigListScreen.__init__(self, self.list, session=session)
self.source.addNotifier(self.typeChange)
self['actions'] = ActionMap(['OkCancelActions',
'ColorActions',
'CiSelectionActions',
'VirtualKeyboardActions'], {'cancel': self.cancel,
'red': self.cancel,
'green': self.imageInstall,
'yellow': self.HelpInstall,
'blue': self.openKeyboard}, -2)
self['key_green'] = Label(_('Install'))
self['key_red'] = Label(_('Cancel'))
self['key_yellow'] = Label(_('Help'))
self['key_blue'] = Label(_('Keyboard'))
self['HelpWindow'] = Pixmap()
self['HelpWindow'].hide()
def createSetup(self):
self.list = []
self.list.append(getConfigListEntry(_('Source Image file'), self.source))
self.list.append(getConfigListEntry(_('Image Name'), self.target))
self.list.append(getConfigListEntry(_('Do not copy files from Flash to the installed image ?'), self.CopyFiles ))
self.list.append(getConfigListEntry(_('Copy the kernel of the installed system (recommended only for Vu+) ?'), self.CopyKernel ))
self.list.append(getConfigListEntry(_('Copy the channel list ?'), self.TvList))
self.list.append(getConfigListEntry(_('Copy mounting disks ? (Recommended)'), self.Montowanie))
self.list.append(getConfigListEntry(_('Copy network settings LAN-WLAN ?'), self.LanWlan))
self.list.append(getConfigListEntry(_('Copy the drivers ? (Recommended only other image.)'), self.Sterowniki))
self.list.append(getConfigListEntry(_('Copy Settings to the new Image'), self.InstallSettings))
self.list.append(getConfigListEntry(_('Delete Image zip after Install ?'), self.ZipDelete))
self.list.append(getConfigListEntry(_('Repair FTP ? (Recommended only other image if it does not work.)'), self.RepairFTP))
self.list.append(getConfigListEntry(_('Copy config SoftCam ?'), self.SoftCam))
self.list.append(getConfigListEntry(_('Copy MediaPortal ?'), self.MediaPortal))
self.list.append(getConfigListEntry(_('Path BlackHole ? (Not recommended for VuPlus)'), self.BlackHole))
def HelpInstall(self):
if fileExists('/.multinfo'):
mess = _('Information available only when running Flash.')
self.session.open(MessageBox, mess, MessageBox.TYPE_INFO)
else:
self.session.open(HelpInstall)
def typeChange(self, value):
self.createSetup()
self['config'].l.setList(self.list)
if self.curselimage != self.source.value:
self.target.value = self.source.value[:-13]
self.curselimage = self.source.value
def openKeyboard(self):
sel = self['config'].getCurrent()
if sel:
if sel == self.target:
if self['config'].getCurrent()[1].help_window.instance is not None:
self['config'].getCurrent()[1].help_window.hide()
self.vkvar = sel[0]
if self.vkvar == _('Image Name'):
self.session.openWithCallback(self.VirtualKeyBoardCallback, VirtualKeyBoard, title=self['config'].getCurrent()[0], text=self['config'].getCurrent()[1].value)
return
def VirtualKeyBoardCallback(self, callback = None):
if callback is not None and len(callback):
self['config'].getCurrent()[1].setValue(callback)
self['config'].invalidate(self['config'].getCurrent())
return
def imageInstall(self):
if self.check_free_space():
pluginpath = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot'
myerror = ''
source = self.source.value.replace(' ', '')
target = self.target.value.replace(' ', '')
for fn in os.listdir('/media/neoboot/ImageBoot'):
if fn == target:
myerror = _('Sorry, an Image with the name ') + target + _(' is already installed.\n Please try another name.')
continue
if source == 'None':
myerror = _('You have to select one Image to install.\nPlease, upload your zip file in the folder: /media/neoboot/ImagesUpload and select the image to install.')
if target == '':
myerror = _('You have to provide a name for the new Image.')
if target == 'Flash':
myerror = _('Sorry this name is reserved. Choose another name for the new Image.')
if len(target) > 35:
myerror = _('Sorry the name of the new Image is too long.')
if myerror:
myerror
self.session.open(MessageBox, myerror, MessageBox.TYPE_INFO)
else:
myerror
message = "echo -e '"
message += _('NeoBot started installing new image.\n')
message += _('The installation process may take a few minutes.\n')
message += _('Please: DO NOT reboot your STB and turn off the power.\n')
message += _('Please, wait...\n')
message += "'"
cmd1 = 'python ' + pluginpath + '/ex_init.py'
cmd = '%s %s %s %s %s %s %s %s %s %s %s %s %s %s %s ' % (cmd1,
source,
target.replace(' ', '.'),
str(self.CopyFiles.value),
str(self.CopyKernel.value),
str(self.TvList.value),
str(self.Montowanie.value),
str(self.LanWlan.value),
str(self.Sterowniki.value),
str(self.InstallSettings.value),
str(self.ZipDelete.value),
str(self.RepairFTP.value),
str(self.SoftCam.value),
str(self.MediaPortal.value),
str(self.BlackHole.value))
print '[NEO-BOOT]: ', cmd
self.session.open(Console, _('NEOBoot: Install new image'), [message, cmd])
def check_free_space(self):
if Freespace('/media/neoboot/ImagesUpload') < 500000:
self.session.open(MessageBox, _('Not enough free space on /media/neoboot/ !!\nYou need at least 500Mb free space.\n\nExit plugin.'), type=MessageBox.TYPE_ERROR)
return False
return True
def cancel(self):
self.close()
class HelpInstall(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 instalacji image w 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 = _('Source Image file')
message += _(' -Wybierz kursorem pilota oprogramowanie do zainstalowania (w lewo lub prawo).\n\n')
message += _('Image Name')
message += _(' -Zmień nazwę image - aby zmienić naciśnij na pilocie niebieski.\n\n')
message += _('Do not copy files from Flash to the installed image ?')
message += _(' - po zaznaczeniu tej opcji nie zostanie nic skopiowane z image flash do instalowanego image w neoboot. \n\n')
message += _('Copy the kernel of the installed system (recommended only for Vu+) ?')
message += _(' - po zaznaczeniu tej opcji zostanie skopiowany plik jądra (kernel) instalowanego image do neoboota, zalecane tylko dla STB vuplus \n\n')
message += _('Copy the channel list ?')
message += _(' - opcja kopiuje listę kanałów z flasha do instalowanego image w neoboocie.\n\n')
message += _('Copy mounting disks ? (Recommended)')
message += _(' - opcja przenosi do instalowanego image w neoboot ustawienia montowania podłaczonych urządzeń do tunera.\n\n')
message += _('Copy network settings LAN-WLAN ?')
message += _(' - opcja przenosi pliki z zawartymi ustawieniami dla sieci lan i wlan. \n\n ')
message += _('Copy the drivers ? (Recommended only other image.)')
message += _(' - opcja przenosi z flasza sterowniki do instalowanego image w neoboocie, zalecane tylko w przypadku jeśli instalujemy image od innego model niż posiadamy.\n\n')
message += _('Copy Settings to the new Image')
message += _(' - opcja kopiuje ustawienia oprogramowania z flasza do instalowanego systemu w neoboocie.\n\n')
message += _('Delete Image zip after Install ?')
message += _(' - po instalacji, opcja kasuje plik zip image z katalogu ImagesUpload. \n\n')
message += _('Repair FTP ? (Recommended only other image if it does not work.)')
message += _(' - opcja w niektórych przypadkach naprawia w instalowanym image polączenie FTP (ang. File Transfer Protocol) \n\n')
message += _('Copy config SoftCam ?')
message += _(' - opcja kopiuje configi oscama i cccam (openpli -domyślnie)\n\n')
message += _('Path BlackHole ? (Not recommended for VuPlus)')
message += _(' - opcja przeznaczona dla image blackhole, pomaga uruchomić BH w neoboot \n\n')
self['lab1'].show()
self['lab1'].setText(message)
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