mirror of
				https://github.com/gutosie/neoboot.git
				synced 2025-10-31 03:15:48 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			1140 lines
		
	
	
		
			45 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			1140 lines
		
	
	
		
			45 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # -*- coding: utf-8 -*-
 | |
| 
 | |
| #from Plugins.Extensions.NeoBoot.__init__ import _
 | |
| import sys
 | |
| import os
 | |
| import time
 | |
| from Tools.Directories import fileExists, SCOPE_PLUGINS
 | |
| LinkNeoBoot = '/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot'
 | |
| 
 | |
| LogFileObj = None
 | |
| 
 | |
| def Log(param=''):
 | |
|     global LogFileObj
 | |
|     #first close object if exists
 | |
|     if param.lower() in ['open', 'write', 'append', 'close']:
 | |
|         if LogFileObj is not None:
 | |
|             LogFileObj.close()
 | |
|             if LogFileObj.closed:
 | |
|                 LogFileObj = None
 | |
|                 try:
 | |
|                     with open('/tmp/NeoBoot.log', 'a') as f:
 | |
|                         f.write('LogFile closed properly\n')
 | |
|                         f.close()
 | |
|                 except Exception:
 | |
|                     print("ERROR closing LogFile!!!")
 | |
|             else:
 | |
|                 print("ERROR closing LogFile!!!")
 | |
|     #second create object if does not exist
 | |
|     if LogFileObj is None:
 | |
|         if param.lower() in ['open', 'write']:
 | |
|             LogFileObj = open(LogFile, "w")
 | |
|         elif param.lower() in ['append']:
 | |
|             LogFileObj = open(LogFile, "a")
 | |
|         elif param.lower() in ['close']:
 | |
|             pass
 | |
|     elif param.lower() in ['flush']:
 | |
|         LogFileObj.flush()
 | |
|     return LogFileObj
 | |
| 
 | |
| 
 | |
| def clearMemory():
 | |
|     with open("/proc/sys/vm/drop_caches", "w") as f:
 | |
|         f.write("1\n")
 | |
|         f.close()
 | |
| 
 | |
| 
 | |
| def LogCrashGS(line):
 | |
| 	log_file = open('%sImageBoot/neoboot.log' % getNeoLocation(), 'a')
 | |
| 	log_file.write(line)
 | |
| 	log_file.close()
 | |
| 
 | |
| 
 | |
| def fileCheck(f, mode='r'):
 | |
|     return fileExists(f, mode) and f
 | |
| 
 | |
| #		if not IsImageName():
 | |
| #			from Components.PluginComponent import plugins
 | |
| #			plugins.reloadPlugins()
 | |
| 
 | |
| 
 | |
| def IsImageName():
 | |
| 	if fileExists("/etc/issue"):
 | |
| 		for line in open("/etc/issue"):
 | |
| 			if "BlackHole" in line or "vuplus" in line:
 | |
| 				return True
 | |
| 	return False
 | |
| 
 | |
| 
 | |
| def mountp():
 | |
| 	pathmp = []
 | |
| 	if os.path.isfile('/proc/mounts'):
 | |
| 		for line in open('/proc/mounts'):
 | |
| 			if '/dev/sd' in line or '/dev/disk/by-uuid/' in line or '/dev/mmc' in line or '/dev/mtdblock' in line:
 | |
| 				pathmp.append(line.split()[1].replace('\\040', ' ') + '/')
 | |
| 	pathmp.append('/usr/share/enigma2/')
 | |
| 	pathmp.append('/etc/enigma2/')
 | |
| 	pathmp.append('/tmp/')
 | |
| 	return pathmp
 | |
| 
 | |
| 
 | |
| def getSupportedTuners():
 | |
|     supportedT = ''
 | |
|     if os.path.exists('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/stbinfo.cfg'):
 | |
|         with open('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/stbinfo.cfg', 'r') as f:
 | |
|             lines = f.read()
 | |
|             f.close()
 | |
|         if lines.find("%s" % getBoxHostName()) != -1:
 | |
|             supportedT = '%s' % getBoxHostName()
 | |
|     return supportedT
 | |
| 
 | |
| 
 | |
| def getFreespace(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
 | |
| 
 | |
| #check install
 | |
| 
 | |
| 
 | |
| def getCheckInstal1():
 | |
|     neocheckinstal = 'UNKNOWN'
 | |
|     if os.path.exists('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/install'):
 | |
|         with open('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/install', 'r') as f:
 | |
|             lines1 = f.read()
 | |
|             f.close()
 | |
|         if not lines1.find('/dev/') != -1:
 | |
|             neocheckinstal = '1'
 | |
|     return neocheckinstal
 | |
| 
 | |
| 
 | |
| def getCheckInstal2():
 | |
|     neocheckinstal = 'UNKNOWN'
 | |
|     if os.path.exists('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location'):
 | |
|         with open('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location', 'r') as f:
 | |
|             lines2 = f.read()
 | |
|             f.close()
 | |
|         if not lines2.find('/media/') != -1:
 | |
|             neocheckinstal = '2'
 | |
|     return neocheckinstal
 | |
| 
 | |
| 
 | |
| def getCheckInstal3():
 | |
|     neocheckinstal = 'UNKNOWN'
 | |
|     if os.path.exists('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neo.sh'):
 | |
|         with open('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/files/neo.sh', 'r') as f:
 | |
|             lines3 = f.read()
 | |
|             f.close()
 | |
|         if not lines3.find('/bin/mount') != -1:
 | |
|             neocheckinstal = '3'
 | |
| 
 | |
|     return neocheckinstal
 | |
| 
 | |
| #check imageATV
 | |
| 
 | |
| 
 | |
| def getImageATv():
 | |
|     atvimage = 'UNKNOWN'
 | |
|     if os.path.exists('/etc/issue.net'):
 | |
|         with open('/etc/issue.net', 'r') as f:
 | |
|             lines = f.read()
 | |
|             f.close()
 | |
|         if lines.find('openatv') != -1:
 | |
|             atvimage = 'okfeedCAMatv'
 | |
|     return atvimage
 | |
| 
 | |
| #check install
 | |
| 
 | |
| 
 | |
| def getNeoLocation():
 | |
|     locatinoneo = 'UNKNOWN'
 | |
|     if os.path.exists('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location'):
 | |
|         with open('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/.location', 'r') as f:
 | |
|             locatino = f.readline().strip()
 | |
|             f.close()
 | |
|         if os.path.exists('/media/hdd/ImageBoot'):
 | |
|             locatinoneo = '/media/hdd/'
 | |
|         elif os.path.exists('/media/usb/ImageBoot'):
 | |
|             locatinoneo = '/media/usb/'
 | |
|         else:
 | |
|             locatinoneo = locatino    		
 | |
|     return locatinoneo
 | |
| 
 | |
| 
 | |
| #check ext
 | |
| def getFormat():
 | |
|     neoformat = 'UNKNOWN'
 | |
|     if os.path.exists('/proc/mounts'):
 | |
|         with open('/proc/mounts', 'r') as f:
 | |
|             lines = f.read()
 | |
|             f.close()
 | |
|         if lines.find('ext2') != -1:
 | |
|             neoformat = 'ext2'
 | |
|         elif lines.find('ext3') != -1:
 | |
|             neoformat = 'ext3'
 | |
|         elif lines.find('ext4') != -1:
 | |
|             neoformat = 'ext4'
 | |
|         elif lines.find('nfs') != -1:
 | |
|             neoformat = 'nfs'
 | |
| 
 | |
|     return neoformat
 | |
| 
 | |
| 
 | |
| def getNEO_filesystems():
 | |
|     neo_filesystems = 'UNKNOWN'
 | |
|     if os.path.exists('/tmp/.neo_format'):
 | |
|         with open('/tmp/.neo_format', 'r') as f:
 | |
|             lines = f.read()
 | |
|             f.close()
 | |
|         if lines.find('ext2') != -1:
 | |
|             neo_filesystems = '1'
 | |
|         elif lines.find('ext3') != -1:
 | |
|             neo_filesystems = '1'
 | |
|         elif lines.find('ext4') != -1:
 | |
|             neo_filesystems = '1'
 | |
|         elif lines.find('nfs') != -1:
 | |
|             neo_filesystems = '1'
 | |
| 
 | |
|     return neo_filesystems
 | |
| 
 | |
| #typ procesora arm lub mips
 | |
| 
 | |
| 
 | |
| def getCPUtype():
 | |
|     cpu = 'UNKNOWN'
 | |
|     if os.path.exists('/proc/cpuinfo'):
 | |
|         with open('/proc/cpuinfo', 'r') as f:
 | |
|             lines = f.read()
 | |
|             f.close()
 | |
|         if lines.find('ARMv7') != -1:
 | |
|             cpu = 'ARMv7'
 | |
|         elif lines.find('mips') != -1:
 | |
|             cpu = 'MIPS'
 | |
|     return cpu
 | |
| 
 | |
| #check install
 | |
| 
 | |
| 
 | |
| def getFSTAB():
 | |
|     install = 'UNKNOWN'
 | |
|     if os.path.exists('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/reading_blkid'):
 | |
|         with open('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/reading_blkid', 'r') as f:
 | |
|             lines = f.read()
 | |
|             f.close()
 | |
|         if lines.find('UUID') != -1:
 | |
|             install = 'UUID'
 | |
|         elif not lines.find('UUID') != -1:
 | |
|             install = 'NOUUID'
 | |
|     return install
 | |
| 
 | |
| 
 | |
| def getFSTAB2():
 | |
|     install = 'UNKNOWN'
 | |
|     if os.path.exists('/etc/fstab'):
 | |
|         with open('/etc/fstab', 'r') as f:
 | |
|             lines = f.read()
 | |
|             f.close()
 | |
|         if lines.find('UUID') != -1:
 | |
|             install = 'OKinstall'
 | |
|         elif not lines.find('UUID') != -1:
 | |
|             install = 'NOUUID'
 | |
|     return install
 | |
| 
 | |
| 
 | |
| def getINSTALLNeo():
 | |
|     neoinstall = 'UNKNOWN'
 | |
|     if os.path.exists('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/installNeo'):
 | |
|         with open('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/installNeo', 'r') as f:
 | |
|             lines = f.read()
 | |
|             f.close()
 | |
|         if lines.find('/dev/sda1') != -1:
 | |
|             neoinstall = '/dev/sda1'
 | |
|         elif lines.find('/dev/sda2') != -1:
 | |
|             neoinstall = '/dev/sda2'
 | |
|         elif lines.find('/dev/sdb1') != -1:
 | |
|             neoinstall = '/dev/sdb1'
 | |
|         elif lines.find('/dev/sdb2') != -1:
 | |
|             neoinstall = '/dev/sdb2'
 | |
|         elif lines.find('/dev/sdc1') != -1:
 | |
|             neoinstall = '/dev/sdc1'
 | |
|         elif lines.find('/dev/sdd1') != -1:
 | |
|             neoinstall = '/dev/sdd1'
 | |
|         elif lines.find('/dev/sde1') != -1:
 | |
|             neoinstall = '/dev/sde1'
 | |
|         elif lines.find('/dev/sdf1') != -1:
 | |
|             neoinstall = '/dev/sdf1'
 | |
| 
 | |
|     return neoinstall
 | |
| 
 | |
| 
 | |
| def getLocationMultiboot():
 | |
|     LocationMultiboot = 'UNKNOWN'
 | |
|     if os.path.exists('/media/sda1/ImageBoot'):
 | |
|             LocationMultiboot = '/dev/sda1'
 | |
|     if os.path.exists('/media/sda2/ImageBoot'):
 | |
|             LocationMultiboot = '/dev/sda2'
 | |
|     if os.path.exists('/media/sdb1/ImageBoot'):
 | |
|             LocationMultiboot = '/dev/sdb1'
 | |
|     if os.path.exists('/media/sdb2/ImageBoot'):
 | |
|             LocationMultiboot = '/dev/sdb2'
 | |
|     if os.path.exists('/media/sdc1/ImageBoot'):
 | |
|             LocationMultiboot = '/dev/sdc1'
 | |
|     if os.path.exists('/media/sdd1/ImageBoot'):
 | |
|             LocationMultiboot = '/dev/sdd1'
 | |
|     if os.path.exists('/media/sde1/ImageBoot'):
 | |
|             LocationMultiboot = '/dev/sde1'
 | |
|     if os.path.exists('/media/sdf1/ImageBoot'):
 | |
|             LocationMultiboot = '/dev/sdf1'
 | |
| 
 | |
|     return LocationMultiboot
 | |
| 
 | |
| 
 | |
| def getLabelDisck():
 | |
|     label = 'UNKNOWN'
 | |
|     if os.path.exists('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/reading_blkid'):
 | |
|         with open('/usr/lib/enigma2/python/Plugins/Extensions/NeoBoot/bin/reading_blkid', 'r') as f:
 | |
|             lines = f.read()
 | |
|             f.close()
 | |
|         if lines.find('LABEL=') != -1:
 | |
|             label = 'LABEL='
 | |
|     return label
 | |
| 
 | |
| #checking device  neo
 | |
| 
 | |
| 
 | |
| def getNeoMountDisc():
 | |
|     lines_mount = 'UNKNOWN'
 | |
|     if os.path.exists('/proc/mounts'):
 | |
|         with open('/proc/mounts', 'r') as f:
 | |
|             lines_mount = f.read()
 | |
|             f.close()
 | |
| 
 | |
|     return lines_mount
 | |
|     
 | |
| 
 | |
| def getNeoMount():
 | |
|     neo = 'UNKNOWN'
 | |
|     if os.path.exists('/proc/mounts'):
 | |
|         with open('/proc/mounts', 'r') as f:
 | |
|             lines = f.read()
 | |
|             f.close()
 | |
|         if lines.find('/dev/sda1 /media/hdd') != -1:
 | |
|             neo = 'hdd_install_/dev/sda1'
 | |
|         elif lines.find('/dev/sdb1 /media/hdd') != -1:
 | |
|             neo = 'hdd_install_/dev/sdb1'
 | |
|         elif lines.find('/dev/sda2 /media/hdd') != -1:
 | |
|             neo = 'hdd_install_/dev/sda2'
 | |
|         elif lines.find('/dev/sdb2 /media/hdd') != -1:
 | |
|             neo = 'hdd_install_/dev/sdb2'
 | |
|         elif lines.find('/dev/sdc1 /media/hdd') != -1:
 | |
|             neo = 'hdd_install_/dev/sdc1'
 | |
|         elif lines.find('/dev/sdd1 /media/hdd') != -1:
 | |
|             neo = 'hdd_install_/dev/sdd1'
 | |
|         elif lines.find('/dev/sde1 /media/hdd') != -1:
 | |
|             neo = 'hdd_install_/dev/sde1'
 | |
|         elif lines.find('/dev/sdf1 /media/hdd') != -1:
 | |
|             neo = 'hdd_install_/dev/sdf1'
 | |
| 
 | |
|     return neo
 | |
|     
 | |
|     
 | |
| def getNeoMount2():
 | |
|     neo = 'UNKNOWN'
 | |
|     if os.path.exists('/proc/mounts'):
 | |
|         with open('/proc/mounts', 'r') as f:
 | |
|             lines = f.read()
 | |
|             f.close()
 | |
|         if lines.find('/dev/sda1 /media/usb') != -1:
 | |
|             neo = 'usb_install_/dev/sda1'
 | |
|         elif lines.find('/dev/sdb1 /media/usb') != -1:
 | |
|             neo = 'usb_install_/dev/sdb1'
 | |
|         elif lines.find('/dev/sdb2 /media/usb') != -1:
 | |
|             neo = 'usb_install_/dev/sdb2'
 | |
|         elif lines.find('/dev/sdc1 /media/usb') != -1:
 | |
|             neo = 'usb_install_/dev/sdc1'
 | |
|         elif lines.find('/dev/sdd1 /media/usb') != -1:
 | |
|             neo = 'usb_install_/dev/sdd1'
 | |
|         elif lines.find('/dev/sde1 /media/usb') != -1:
 | |
|             neo = 'usb_install_/dev/sde1'
 | |
|         elif lines.find('/dev/sdf1 /media/usb') != -1:
 | |
|             neo = 'usb_install_/dev/sdf1'
 | |
|         elif lines.find('/dev/sda1 /media/usb2') != -1:
 | |
|             neo = 'usb_install_/dev/sda1'
 | |
|         elif lines.find('/dev/sdb1 /media/usb2') != -1:
 | |
|             neo = 'usb_install_/dev/sdb1'
 | |
|         elif lines.find('/dev/sdb2 /media/usb2') != -1:
 | |
|             neo = 'usb_install_/dev/sdb2'
 | |
|         elif lines.find('/dev/sdc1 /media/usb2') != -1:
 | |
|             neo = 'usb_install_/dev/sdc1'
 | |
|         elif lines.find('/dev/sdd1 /media/usb2') != -1:
 | |
|             neo = 'usb_install_/dev/sdd1'
 | |
|         elif lines.find('/dev/sde1 /media/usb2') != -1:
 | |
|             neo = 'usb_install_/dev/sde1'
 | |
|         elif lines.find('/dev/sdf1 /media/usb2') != -1:
 | |
|             neo = 'usb_install_/dev/sdf1'
 | |
| 
 | |
|     return neo
 | |
| 
 | |
| 
 | |
| def getNeoMount3():
 | |
|     neo = 'UNKNOWN'
 | |
|     if os.path.exists('/proc/mounts'):
 | |
|         with open('/proc/mounts', 'r') as f:
 | |
|             lines = f.read()
 | |
|             f.close()
 | |
|         if lines.find('/dev/sda1 /media/cf') != -1:
 | |
|             neo = 'cf_install_/dev/sda1'
 | |
|         elif lines.find('/dev/sdb1 /media/cf') != -1:
 | |
|             neo = 'cf_install_/dev/sdb1'
 | |
|     return neo
 | |
| 
 | |
| 
 | |
| def getNeoMount4():
 | |
|     neo = 'UNKNOWN'
 | |
|     if os.path.exists('/proc/mounts'):
 | |
|         with open('/proc/mounts', 'r') as f:
 | |
|             lines = f.read()
 | |
|             f.close()
 | |
|         if lines.find('/dev/sda1 /media/card') != -1:
 | |
|             neo = 'card_install_/dev/sda1'
 | |
|         elif lines.find('/dev/sdb1 /media/card') != -1:
 | |
|             neo = 'card_install_/dev/sdb1'
 | |
|     return neo
 | |
| 
 | |
| 
 | |
| def getNeoMount5():
 | |
|     neo = 'UNKNOWN'
 | |
|     if os.path.exists('/proc/mounts'):
 | |
|         with open('/proc/mounts', 'r') as f:
 | |
|             lines = f.read()
 | |
|             f.close()
 | |
|         if lines.find('/dev/sda1 /media/mmc') != -1:
 | |
|             neo = 'mmc_install_/dev/sda1'
 | |
|         elif lines.find('/dev/sdb1 /media/mmc') != -1:
 | |
|             neo = 'mmc_install_/dev/sdb1'
 | |
|     return neo
 | |
| 
 | |
| 
 | |
| #zwraca typ chipa prcesora
 | |
| def getCPUSoC():
 | |
|     chipset = 'UNKNOWN'
 | |
|     if os.path.exists('/proc/stb/info/chipset'):
 | |
|         with open('/proc/stb/info/chipset', 'r') as f:
 | |
|             chipset = f.readline().strip()
 | |
|             f.close()
 | |
|         if chipset == '7405(with 3D)':
 | |
|                 chipset = '7405'
 | |
|     return chipset
 | |
| 
 | |
| 
 | |
| def getCPUSoCModel():
 | |
|     devicetree = 'UNKNOWN'
 | |
|     if os.path.exists('/proc/device-tree/model'):
 | |
|         with open('/proc/device-tree/model', 'r') as f:
 | |
|             devicetree = f.readline().strip()
 | |
|             f.close()
 | |
|     return devicetree
 | |
| 
 | |
| #zwraca wybrane image w neoboot do uruchomienia
 | |
| 
 | |
| 
 | |
| def getImageNeoBoot():
 | |
|     imagefile = 'UNKNOWN'
 | |
|     if os.path.exists('%sImageBoot/.neonextboot' % getNeoLocation()):
 | |
|         with open('%sImageBoot/.neonextboot' % getNeoLocation(), 'r') as f:
 | |
|             imagefile = f.readline().strip()
 | |
|             f.close()
 | |
|     return imagefile
 | |
| 
 | |
| #zwraca model vuplus
 | |
| 
 | |
| 
 | |
| def getBoxVuModel():
 | |
|     vumodel = 'UNKNOWN'
 | |
|     if fileExists("/proc/stb/info/vumodel") and not fileExists("/proc/stb/info/boxtype"):
 | |
|         with open('/proc/stb/info/vumodel', 'r') as f:
 | |
|             vumodel = f.readline().strip()
 | |
|             f.close()
 | |
|     elif fileExists("/proc/stb/info/boxtype") and not fileExists("/proc/stb/info/vumodel"):
 | |
|         with open('/proc/stb/info/boxtype', 'r') as f:
 | |
|             vumodel = f.readline().strip()
 | |
|             f.close()
 | |
|     return vumodel
 | |
| 
 | |
| 
 | |
| def getVuModel():
 | |
|     if fileExists("/proc/stb/info/vumodel") and not fileExists("/proc/stb/info/boxtype"):
 | |
|         brand = "Vu+"
 | |
|         f = open("/proc/stb/info/vumodel", 'r')
 | |
|         procmodel = f.readline().strip()
 | |
|         f.close()
 | |
|         model = procmodel.title().replace("olose", "olo SE").replace("olo2se", "olo2 SE").replace("2", "²")
 | |
|     return model
 | |
| 
 | |
| #zwraca nazwe stb z pliku hostname
 | |
| 
 | |
| 
 | |
| def getBoxHostName():
 | |
|     if os.path.exists('/etc/hostname'):
 | |
|         with open('/etc/hostname', 'r') as f:
 | |
|             myboxname = f.readline().strip()
 | |
|             f.close()
 | |
|     return myboxname
 | |
| 
 | |
| #zwraca vuplus/vumodel
 | |
| 
 | |
| 
 | |
| def getTunerModel(): #< neoboot.py
 | |
|     BOX_NAME = ''
 | |
|     if os.path.isfile('/proc/stb/info/vumodel') and not os.path.isfile("/proc/stb/info/boxtype"):
 | |
|         BOX_NAME = open('/proc/stb/info/vumodel').read().strip()
 | |
|         ImageFolder = 'vuplus/%s' % BOX_NAME
 | |
|     elif os.path.isfile('proc/stb/info/boxtype'):
 | |
|         BOX_NAME = open('/proc/stb/info/boxtype').read().strip()
 | |
|     elif os.path.isfile('proc/stb/info/model') and not os.path.isfile("/proc/stb/info/mid"):
 | |
|         BOX_NAME = open('/proc/stb/info/model').read().strip()
 | |
|     return BOX_NAME
 | |
| 
 | |
| #zwraca strukture folderu zip - vuplus/vumodel
 | |
| 
 | |
| 
 | |
| def getImageFolder():
 | |
|     if os.path.isfile('/proc/stb/info/vumodel'):
 | |
|         BOX_NAME = getBoxModelVU()
 | |
|         ImageFolder = 'vuplus/' + BOX_NAME
 | |
|     return ImageFolder
 | |
| 
 | |
| #zwraca nazwe kernela z /lib/modules
 | |
| 
 | |
| 
 | |
| def getKernelVersion():
 | |
|     try:
 | |
|         return open('/proc/version', 'r').read().split(' ', 4)[2].split('-', 2)[0]
 | |
|     except:
 | |
|         return _('unknown')
 | |
| 
 | |
| # czysci pamiec
 | |
| 
 | |
| 
 | |
| def runCMDS(cmdsList):
 | |
|     clearMemory()
 | |
|     if isinstance(cmdsList, (list, tuple)):
 | |
|         myCMD = '\n'.join(cmdsList)# + '\n'
 | |
|     ret = os.system(myCMD)
 | |
|     return rett
 | |
| 
 | |
| 
 | |
| def getImageDistroN():
 | |
|     image = 'Internal storage'
 | |
| 
 | |
|     if fileExists('/.multinfo') and fileExists('%sImageBoot/.imagedistro' % getNeoLocation()):
 | |
|                     with open('%sImageBoot/.imagedistro' % getNeoLocation(), 'r') as f:
 | |
|                         image = f.readline().strip()
 | |
|                         f.close()
 | |
| 
 | |
|     elif not fileExists('/.multinfo') and fileExists('/etc/vtiversion.info'):
 | |
|                     f = open("/etc/vtiversion.info", 'r')
 | |
|                     imagever = f.readline().strip().replace("Release ", " ")
 | |
|                     f.close()
 | |
|                     image = imagever
 | |
| 
 | |
|     elif not fileExists('/.multinfo') and fileExists('/etc/bhversion'):
 | |
|                     f = open("/etc/bhversion", 'r')
 | |
|                     imagever = f.readline().strip()
 | |
|                     f.close()
 | |
|                     image = imagever
 | |
| 
 | |
| #    elif not fileExists('/.multinfo') and fileExists('/etc/vtiversion.info'):
 | |
| #                    image = 'VTI Team Image '
 | |
| 
 | |
|     elif fileExists('/.multinfo') and fileExists('/etc/bhversion'):
 | |
|                     image = 'Flash ' + ' ' + getBoxHostName()
 | |
| 
 | |
|     elif fileExists('/.multinfo') and fileExists('/etc/vtiversion.info'):
 | |
|                     image = 'Flash ' + ' ' + getBoxHostName()
 | |
| 
 | |
|     elif fileExists('/usr/lib/enigma2/python/boxbranding.so') and not fileExists('/.multinfo'):
 | |
|                     from boxbranding import getImageDistro
 | |
|                     image = getImageDistro()
 | |
| 
 | |
|     elif fileExists('/media/InternalFlash/etc/issue.net') and fileExists('/.multinfo') and not fileExists('%sImageBoot/.imagedistro' % getNeoLocation()):
 | |
|                     obraz = open('/media/InternalFlash/etc/issue.net', 'r').readlines()
 | |
|                     imagetype = obraz[0][:-3]
 | |
|                     image = imagetype
 | |
| 
 | |
|     elif fileExists('/etc/issue.net') and not fileExists('/.multinfo'):
 | |
|                     obraz = open('/etc/issue.net', 'r').readlines()
 | |
|                     imagetype = obraz[0][:-3]
 | |
|                     image = imagetype
 | |
| 
 | |
|     else:
 | |
|                     image = 'Inernal Flash ' + ' ' + getBoxHostName()
 | |
| 
 | |
|     return image
 | |
| 
 | |
| 
 | |
| def getKernelVersionString():
 | |
|     try:
 | |
|         result = popen('uname -r', 'r').read().strip('\n').split('-')
 | |
|         kernel_version = result[0]
 | |
|         return kernel_version
 | |
|     except:
 | |
|         pass
 | |
| 
 | |
|     return 'unknown'
 | |
| 
 | |
| 
 | |
| def getKernelImageVersion():
 | |
|     try:
 | |
|         from glob import glob
 | |
|         lines = open(glob('/var/lib/opkg/info/kernel-*.control')[0], 'r').readlines()
 | |
|         kernelimage = lines[1][:-1]
 | |
|     except:
 | |
|         kernelimage = getKernelVersionString
 | |
| 
 | |
|     return kernelimage
 | |
| 
 | |
| 
 | |
| def getTypBoxa():
 | |
|     if not fileExists('/etc/typboxa'):
 | |
|         os.system('touch /etc/typboxa')
 | |
|         f2 = open('/etc/hostname', 'r')
 | |
|         mypath2 = f2.readline().strip()
 | |
|         f2.close()
 | |
|         if mypath2 == 'vuuno':
 | |
|             out = open('/etc/typboxa ', 'w')
 | |
|             out.write('Vu+Uno ')
 | |
|             out.close()
 | |
|         elif mypath2 == 'vuultimo':
 | |
|             out = open('/etc/typboxa', 'w')
 | |
|             out.write('Vu+Ultimo ')
 | |
|             out.close()
 | |
|         elif mypath2 == 'vuduo':
 | |
|             out = open('/etc/typboxa ', 'w')
 | |
|             out.write('Vu+Duo ')
 | |
|             out.close()
 | |
|         elif mypath2 == 'vuduo2':
 | |
|             out = open('/etc/typboxa ', 'w')
 | |
|             out.write('Vu+Duo2 ')
 | |
|             out.close()
 | |
|         elif mypath2 == 'vusolo':
 | |
|             out = open('/etc/typboxa ', 'w')
 | |
|             out.write('Vu+Solo ')
 | |
|             out.close()
 | |
|         elif mypath2 == 'vusolo2':
 | |
|             out = open('/etc/typboxa ', 'w')
 | |
|             out.write('Vu+Solo2 ')
 | |
|             out.close()
 | |
|         elif mypath2 == 'vusolose':
 | |
|             out = open('/etc/typboxa ', 'w')
 | |
|             out.write('Vu+Solo-SE ')
 | |
|             out.close()
 | |
|         elif mypath2 == 'vuvzero':
 | |
|             out = open('/etc/typboxa ', 'w')
 | |
|             out.write('Vu+Zero ')
 | |
|             out.close()
 | |
|         elif mypath2 == 'vuuno4k':
 | |
|             out = open('/etc/typboxa ', 'w')
 | |
|             out.write('Vu+Uno4k ')
 | |
|             out.close()
 | |
|         elif mypath2 == 'vuultimo4k':
 | |
|             out = open('/etc/typboxa ', 'w')
 | |
|             out.write('Vu+Ultimo4k ')
 | |
|             out.close()
 | |
|         elif mypath2 == 'vusolo4k':
 | |
|             out = open('/etc/typboxa ', 'w')
 | |
|             out.write('Vu+Solo4k ')
 | |
|             out.close()
 | |
|         elif mypath2 == 'mbmini':
 | |
|             out = open('/etc/typboxa', 'w')
 | |
|             out.write('Miraclebox-Mini ')
 | |
|             out.close()
 | |
|         elif mypath2 == 'mutant51':
 | |
|             out = open('/etc/typboxa', 'w')
 | |
|             out.write('Mutant 51 ')
 | |
|             out.close()
 | |
|         elif mypath2 == 'sf4008':
 | |
|             out = open('/etc/typboxa', 'w')
 | |
|             out.write('Ocatgon sf4008 ')
 | |
|             out.close()
 | |
|         elif mypath2 == 'ax51':
 | |
|             out = open('/etc/typboxa', 'w')
 | |
|             out.write('ax51 ')
 | |
|             out.close()
 | |
| 
 | |
|     try:
 | |
|         lines = open('/etc/typboxa', 'r').readlines()
 | |
|         typboxa = lines[0][:-1]
 | |
|     except:
 | |
|         typboxa = 'not detected'
 | |
| 
 | |
|     return typboxa
 | |
| 
 | |
| 
 | |
| def getImageVersionString():
 | |
|     try:
 | |
|         if os.path.isfile('/var/lib/opkg/status'):
 | |
|             st = os.stat('/var/lib/opkg/status')
 | |
|         else:
 | |
|             st = os.stat('/usr/lib/ipkg/status')
 | |
|         tm = time.localtime(st.st_mtime)
 | |
|         if tm.tm_year >= 2015:
 | |
|             return time.strftime('%Y-%m-%d %H:%M:%S', tm)
 | |
|     except:
 | |
|         pass
 | |
| 
 | |
|     return _('unavailable')
 | |
| 
 | |
| 
 | |
| def getModelString():
 | |
|     try:
 | |
|         file = open('/proc/stb/info/boxtype', 'r')
 | |
|         model = file.readline().strip()
 | |
|         file.close()
 | |
|         return model
 | |
|     except IOError:
 | |
|         return 'unknown'
 | |
| 
 | |
| 
 | |
| def getChipSetString():
 | |
|     try:
 | |
|         f = open('/proc/stb/info/chipset', 'r')
 | |
|         chipset = f.read()
 | |
|         f.close()
 | |
|         return str(chipset.lower().replace('\n', '').replace('bcm', ''))
 | |
|     except IOError:
 | |
|         return 'unavailable'
 | |
| 
 | |
| 
 | |
| def getCPUString():
 | |
|     try:
 | |
|         file = open('/proc/cpuinfo', 'r')
 | |
|         lines = file.readlines()
 | |
|         for x in lines:
 | |
|             splitted = x.split(': ')
 | |
|             if len(splitted) > 1:
 | |
|                 splitted[1] = splitted[1].replace('\n', '')
 | |
|                 if splitted[0].startswith('system type'):
 | |
|                     system = splitted[1].split(' ')[0]
 | |
|                 elif splitted[0].startswith('Processor'):
 | |
|                     system = splitted[1].split(' ')[0]
 | |
| 
 | |
|         file.close()
 | |
|         return system
 | |
|     except IOError:
 | |
|         return 'unavailable'
 | |
| 
 | |
| 
 | |
| def getCpuCoresString():
 | |
|     try:
 | |
|         file = open('/proc/cpuinfo', 'r')
 | |
|         lines = file.readlines()
 | |
|         for x in lines:
 | |
|             splitted = x.split(': ')
 | |
|             if len(splitted) > 1:
 | |
|                 splitted[1] = splitted[1].replace('\n', '')
 | |
|                 if splitted[0].startswith('processor'):
 | |
|                     if int(splitted[1]) > 0:
 | |
|                         cores = 2
 | |
|                     else:
 | |
|                         cores = 1
 | |
| 
 | |
|         file.close()
 | |
|         return cores
 | |
|     except IOError:
 | |
|         return 'unavailable'
 | |
| 
 | |
| 
 | |
| def getEnigmaVersionString():
 | |
|     import enigma
 | |
|     enigma_version = enigma.getEnigmaVersionString()
 | |
|     if '-(no branch)' in enigma_version:
 | |
|         enigma_version = enigma_version[:-12]
 | |
|     return enigma_version
 | |
| 
 | |
| 
 | |
| def getKernelVersionString():
 | |
|     try:
 | |
|         f = open('/proc/version', 'r')
 | |
|         kernelversion = f.read().split(' ', 4)[2].split('-', 2)[0]
 | |
|         f.close()
 | |
|         return kernelversion
 | |
|     except:
 | |
|         return _('unknown')
 | |
| 
 | |
| 
 | |
| def getHardwareTypeString():
 | |
|     try:
 | |
|         if os.path.isfile('/proc/stb/info/boxtype'):
 | |
|             return open('/proc/stb/info/boxtype').read().strip().upper() + ' (' + open('/proc/stb/info/board_revision').read().strip() + '-' + open('/proc/stb/info/version').read().strip() + ')'
 | |
|         if os.path.isfile('/proc/stb/info/vumodel'):
 | |
|             return 'VU+' + open('/proc/stb/info/vumodel').read().strip().upper() + '(' + open('/proc/stb/info/version').read().strip().upper() + ')'
 | |
|         if os.path.isfile('/proc/stb/info/model'):
 | |
|             return open('/proc/stb/info/model').read().strip().upper()
 | |
|     except:
 | |
|         pass
 | |
| 
 | |
|     return _('unavailable')
 | |
| 
 | |
| 
 | |
| def getImageTypeString():
 | |
|     try:
 | |
|         return open('/etc/issue').readlines()[-2].capitalize().strip()[:-6]
 | |
|     except:
 | |
|         pass
 | |
| 
 | |
|     return _('undefined')
 | |
| 
 | |
| 
 | |
| def getMachineBuild():
 | |
|     try:
 | |
|         return open('/proc/version', 'r').read().split(' ', 4)[2].split('-', 2)[0]
 | |
|     except:
 | |
|         return 'unknown'
 | |
| 
 | |
| 
 | |
| def getVuBoxModel():
 | |
|     if fileExists('/proc/stb/info/vumodel'):
 | |
|         try:
 | |
|             l = open('/proc/stb/info/vumodel')
 | |
|             model = l.read()
 | |
|             l.close()
 | |
|             BOX_NAME = str(model.lower().strip())
 | |
|             l.close()
 | |
|             BOX_MODEL = 'vuplus'
 | |
|         except:
 | |
|             BOX_MODEL = 'not detected'
 | |
| 
 | |
|     return BOX_MODEL
 | |
| 
 | |
| 
 | |
| def getBoxModelVU():
 | |
|     try:
 | |
|         if os.path.isfile('/proc/stb/info/vumodel'):
 | |
|             return open('/proc/stb/info/vumodel').read().strip().upper()
 | |
|     except:
 | |
|         pass
 | |
| 
 | |
|     return _('unavailable')
 | |
| 
 | |
| 
 | |
| def getMachineProcModel():
 | |
|     if os.path.isfile('/proc/stb/info/vumodel'):
 | |
|         BOX_NAME = getBoxModelVU()
 | |
|         BOX_MODEL = getVuBoxModel()
 | |
|         if BOX_MODEL == 'vuplus':
 | |
|             if BOX_NAME == 'duo':
 | |
|                 GETMACHINEPROCMODEL = 'bcm7335'
 | |
|             elif BOX_NAME == 'solo':
 | |
|                 GETMACHINEPROCMODEL = 'bcm7325'
 | |
|             elif BOX_NAME == 'solo2':
 | |
|                 GETMACHINEPROCMODEL = 'bcm7346'
 | |
|             elif BOX_NAME == 'solose':
 | |
|                 GETMACHINEPROCMODEL = 'bcm7241'
 | |
|             elif BOX_NAME == 'ultimo' or BOX_NAME == 'uno':
 | |
|                 GETMACHINEPROCMODEL = 'bcm7413'
 | |
|             elif BOX_NAME == 'zero':
 | |
|                 GETMACHINEPROCMODEL = 'bcm7362'
 | |
|             elif BOX_NAME == 'duo2':
 | |
|                 GETMACHINEPROCMODEL = 'bcm7425'
 | |
|             elif BOX_NAME == 'ultimo4k':
 | |
|                 GETMACHINEPROCMODEL = 'bcm7444S'
 | |
|             elif BOX_NAME == 'uno4k':
 | |
|                 GETMACHINEPROCMODEL = 'bcm7252S'
 | |
|             elif BOX_NAME == 'solo4k':
 | |
|                 GETMACHINEPROCMODEL = 'bcm7376'
 | |
|             elif BOX_NAME == 'zero4K':
 | |
|                 GETMACHINEPROCMODEL = 'bcm72604'
 | |
|             elif BOX_NAME == 'uno4kse':
 | |
|                 GETMACHINEPROCMODEL = ''
 | |
|             procmodel = getMachineProcModel()
 | |
|     return procmodel
 | |
| 
 | |
| 
 | |
| def getMountPointAll():
 | |
|             os.system('touch ' + LinkNeoBoot + '/files/mountpoint.sh; echo "#!/bin/sh\n"  >> ' + LinkNeoBoot + '/files/mountpoint.sh; chmod 0755 ' + LinkNeoBoot + '/files/mountpoint.sh')
 | |
|             if getNeoMount() == 'hdd_install_/dev/sda1':
 | |
|                     os.system('echo "umount -l /media/hdd\nmkdir -p /media/hdd\nmkdir -p /media/sda1\n/bin/mount /dev/sda1 /media/hdd\n/bin/mount /dev/sda1 /media/sda1"  >> ' + LinkNeoBoot + '/files/mountpoint.sh')
 | |
|             elif getNeoMount() == 'hdd_install_/dev/sdb1':
 | |
|                     os.system('echo "umount -l /media/hdd\nmkdir -p /media/hdd\nmkdir -p /media/sdb1\n/bin/mount /dev/sdb1 /media/hdd\n/bin/mount /dev/sdb1 /media/sdb1"  >> ' + LinkNeoBoot + '/files/mountpoint.sh')
 | |
|             elif getNeoMount() == 'hdd_install_/dev/sda2':
 | |
|                     os.system('echo "umount -l /media/hdd\nmkdir -p /media/hdd\nmkdir -p /media/sda2\n/bin/mount /dev/sda2 /media/hdd\n/bin/mount /dev/sda2 /media/sda2"  >> ' + LinkNeoBoot + '/files/mountpoint.sh')
 | |
|             elif getNeoMount() == 'hdd_install_/dev/sdb2':
 | |
|                     os.system('echo "umount -l /media/hdd\nmkdir -p /media/hdd\nmkdir -p /media/sdb2\n/bin/mount /dev/sdb2 /media/hdd\n/bin/mount /dev/sdb2 /media/sdb2"  >> ' + LinkNeoBoot + '/files/mountpoint.sh')
 | |
|             #---------------------------------------------
 | |
|             if getNeoMount2() == 'usb_install_/dev/sdb1':
 | |
|                     os.system('echo "\numount -l /media/usb\nmkdir -p /media/usb\nmkdir -p /media/sdb1\n/bin/mount /dev/sdb1 /media/usb\n/bin/mount /dev/sdb1 /media/sdb1"  >> ' + LinkNeoBoot + '/files/mountpoint.sh')
 | |
|             elif getNeoMount2() == 'usb_install_/dev/sda1':
 | |
|                     os.system('echo "umount -l /media/usb\nmkdir -p /media/usb\nmkdir -p /media/sda1\n/bin/mount /dev/sda1 /media/sda1\n/bin/mount /dev/sda1 /media/usb"  >> ' + LinkNeoBoot + '/files/mountpoint.sh')
 | |
|             elif getNeoMount2() == 'usb_install_/dev/sdb2':
 | |
|                     os.system('echo "umount -l /media/usb\nmkdir -p /media/usb\nmkdir -p /media/sdb2\n/bin/mount /dev/sdb2 /media/sdb2\n/bin/mount /dev/sdb2 /media/usb"  >> ' + LinkNeoBoot + '/files/mountpoint.sh')
 | |
|             elif getNeoMount2() == 'usb_install_/dev/sdc1':
 | |
|                     os.system('echo "umount -l /media/usb\nmkdir -p /media/usb\nmkdir -p /media/sdc1\n/bin/mount /dev/sdc1 /media/sdb2\n/bin/mount /dev/sdc1 /media/usb"  >> ' + LinkNeoBoot + '/files/mountpoint.sh')
 | |
|             elif getNeoMount2() == 'usb_install_/dev/sdd1':
 | |
|                     os.system('echo "umount -l /media/usb\nmkdir -p /media/usb\nmkdir -p /media/sdd1\n/bin/mount /dev/sdd1 /media/sdd1\n/bin/mount /dev/sdd1 /media/usb"  >> ' + LinkNeoBoot + '/files/mountpoint.sh')
 | |
|             elif getNeoMount2() == 'usb_install_/dev/sde1':
 | |
|                     os.system('echo "umount -l /media/usb\nmkdir -p /media/usb\nmkdir -p /media/sde1\n/bin/mount /dev/sde1 /media/sde1\n/bin/mount /dev/sde1 /media/usb"  >> ' + LinkNeoBoot + '/files/mountpoint.sh')
 | |
|             elif getNeoMount2() == 'usb_install_/dev/sdf1':
 | |
|                     os.system('echo "umount -l /media/usb\nmkdir -p /media/usb\nmkdir -p /media/sdf1\n/bin/mount /dev/sdf1 /media/sdf1\n/bin/mount /dev/sdf1 /media/usb"  >> ' + LinkNeoBoot + '/files/mountpoint.sh')
 | |
|             #---------------------------------------------
 | |
|             elif getNeoMount3() == 'cf_install_/dev/sda1':
 | |
|                     os.system('echo "umount -l /media/cf\nmkdir -p /media/cf\nmkdir -p /media/sdb1\n/bin/mount /dev/sda1 /media/cf\n/bin/mount /dev/sda1 /media/sda1"  >> ' + LinkNeoBoot + '/files/mountpoint.sh')
 | |
|             elif getNeoMount3() == 'cf_install_/dev/sdb1':
 | |
|                     os.system('echo "umount -l /media/cf\nmkdir -p /media/cf\nmkdir -p /media/sdb1\n/bin/mount /dev/sdb1 /media/cf\n/bin/mount /dev/sdb1 /media/sdb1"  >> ' + LinkNeoBoot + '/files/mountpoint.sh')
 | |
|             #---------------------------------------------
 | |
|             elif getNeoMount4() == 'card_install_/dev/sda1':
 | |
|                     os.system('echo "umount -l /media/card\nmkdir -p /media/card\nmkdir -p /media/sda1\n/bin/mount /dev/sda1 /media/card\n/bin/mount /dev/sda1 /media/sda1"  >> ' + LinkNeoBoot + '/files/mountpoint.sh')
 | |
|             elif getNeoMount4() == 'card_install_/dev/sdb1':
 | |
|                     os.system('echo "umount -l /media/card\nmkdir -p /media/card\nmkdir -p /media/sdb1\n/bin/mount /dev/sdb1 /media/card\n/bin/mount /dev/sdb1 /media/sdb1"  >> ' + LinkNeoBoot + '/files/mountpoint.sh')
 | |
|             #---------------------------------------------
 | |
|             elif getNeoMount5() == 'mmc_install_/dev/sda1':
 | |
|                     os.system('echo "umount -l /media/mmc\nmkdir -p /media/mmc\nmkdir -p /media/sda1\n/bin/mount /dev/sda1 /media/mmc\n/bin/mount /dev/sda1 /media/sda1"  >> ' + LinkNeoBoot + '/files/mountpoint.sh')
 | |
|             elif getNeoMount5() == 'mmc_install_/dev/sdb1':
 | |
|                     os.system('echo "umount -l /media/mmc\nmkdir -p /media/mmc\nmkdir -p /media/sdb1\n/bin/mount /dev/sdb1 /media/mmc\n/bin/mount /dev/sdb1 /media/sdb1"  >> ' + LinkNeoBoot + '/files/mountpoint.sh')
 | |
|             os.system('echo "\n\nexit 0"  >> ' + LinkNeoBoot + '/files/mountpoint.sh')
 | |
| 
 | |
| 
 | |
| def getMountPointNeo():
 | |
|             os.system('' + LinkNeoBoot + '/files/mountpoint.sh')
 | |
|             os.system('echo ' + getLocationMultiboot() + ' > ' + LinkNeoBoot + '/bin/install; chmod 0755 ' + LinkNeoBoot + '/bin/install')
 | |
|             if getLocationMultiboot() == '/dev/sda1':
 | |
|                     out = open('' + LinkNeoBoot + '/files/neo.sh', 'w')
 | |
|                     out.write('#!/bin/sh\n\n/bin/mount /dev/sda1 ' + getNeoLocation() + '  \n\nexit 0')
 | |
|                     out.close()
 | |
|             elif getLocationMultiboot() == '/dev/sdb1':
 | |
|                     out = open('' + LinkNeoBoot + '/files/neo.sh', 'w')
 | |
|                     out.write('#!/bin/sh\n\n/bin/mount /dev/sdb1 ' + getNeoLocation() + '  \n\nexit 0')
 | |
|                     out.close()
 | |
|             elif getLocationMultiboot() == '/dev/sda2':
 | |
|                     out = open('' + LinkNeoBoot + '/files/neo.sh', 'w')
 | |
|                     out.write('#!/bin/sh\n\n/bin/mount /dev/sda2 ' + getNeoLocation() + '  \n\nexit 0')
 | |
|                     out.close()
 | |
|             elif getLocationMultiboot() == '/dev/sdb2':
 | |
|                     out = open('' + LinkNeoBoot + '/files/neo.sh', 'w')
 | |
|                     out.write('#!/bin/sh\n\n/bin/mount /dev/sdb2 ' + getNeoLocation() + '  \n\nexit 0')
 | |
|                     out.close()
 | |
|             elif getLocationMultiboot() == '/dev/sdc1':
 | |
|                     out = open('' + LinkNeoBoot + '/files/neo.sh', 'w')
 | |
|                     out.write('#!/bin/sh\n\n/bin/mount /dev/sdc1 ' + getNeoLocation() + '  \n\nexit 0')
 | |
|                     out.close()
 | |
|             elif getLocationMultiboot() == '/dev/sdd1':
 | |
|                     out = open('' + LinkNeoBoot + '/files/neo.sh', 'w')
 | |
|                     out.write('#!/bin/sh\n\n/bin/mount /dev/sdd1 ' + getNeoLocation() + '  \n\nexit 0')
 | |
|                     out.close()
 | |
|             elif getLocationMultiboot() == '/dev/sde1':
 | |
|                     out = open('' + LinkNeoBoot + '/files/neo.sh', 'w')
 | |
|                     out.write('#!/bin/sh\n\n/bin/mount /dev/sde1 ' + getNeoLocation() + '  \n\nexit 0')
 | |
|                     out.close()
 | |
|             elif getLocationMultiboot() == '/dev/sdf1':
 | |
|                     out = open('' + LinkNeoBoot + '/files/neo.sh', 'w')
 | |
|                     out.write('#!/bin/sh\n\n/bin/mount /dev/sdf1 ' + getNeoLocation() + '  \n\nexit 0')
 | |
|                     out.close()
 | |
|             os.system('chmod 755 ' + LinkNeoBoot + '/files/neo.sh')
 | |
| 
 | |
| 
 | |
| def getMountPointNeo2():
 | |
|         #---------------------------------------------
 | |
|         os.system('touch ' + LinkNeoBoot + '/files/mountpoint.sh; echo "#!/bin/sh"  > ' + LinkNeoBoot + '/files/mountpoint.sh; chmod 0755 ' + LinkNeoBoot + '/files/mountpoint.sh')
 | |
|         if getNeoMount() == 'hdd_install_/dev/sda1':
 | |
|                     os.system('echo "umount -l /media/hdd\nmkdir -p /media/hdd\n/bin/mount /dev/sda1 /media/hdd"  >> ' + LinkNeoBoot + '/files/mountpoint.sh')
 | |
|         elif getNeoMount() == 'hdd_install_/dev/sdb1':
 | |
|                     os.system('echo "umount -l /media/hdd\nmkdir -p /media/hdd\n/bin/mount /dev/sdb1 /media/hdd"  >> ' + LinkNeoBoot + '/files/mountpoint.sh')
 | |
|         elif getNeoMount() == 'hdd_install_/dev/sda2':
 | |
|                     os.system('echo "umount -l /media/hdd\nmkdir -p /media/hdd\n/bin/mount /dev/sda2 /media/hdd"  >> ' + LinkNeoBoot + '/files/mountpoint.sh')
 | |
|         elif getNeoMount() == 'hdd_install_/dev/sdb2':
 | |
|                     os.system('echo "umount -l /media/hdd\nmkdir -p /media/hdd\n/bin/mount /dev/sda2 /media/hdd"  >> ' + LinkNeoBoot + '/files/mountpoint.sh')
 | |
|         #---------------------------------------------
 | |
|         if getNeoMount2() == 'usb_install_/dev/sdb1':
 | |
|                     os.system('echo "umount -l /media/usb\nmkdir -p /media/usb\n/bin/mount /dev/sdb1 /media/usb"  >> ' + LinkNeoBoot + '/files/mountpoint.sh')
 | |
|         elif getNeoMount2() == 'usb_install_/dev/sda1':
 | |
|                     os.system('echo "umount -l /media/usb\nmkdir -p /media/usb\n/bin/mount /dev/sda1 /media/usb"  >> ' + LinkNeoBoot + '/files/mountpoint.sh')
 | |
|         elif getNeoMount2() == 'usb_install_/dev/sdb2':
 | |
|                     os.system('echo "umount -l /media/usb\nmkdir -p /media/usb\n/bin/mount /dev/sdb2 /media/usb"  >> ' + LinkNeoBoot + '/files/mountpoint.sh')
 | |
|         elif getNeoMount2() == 'usb_install_/dev/sdc1':
 | |
|                     os.system('echo "umount -l /media/usb\nmkdir -p /media/usb\n/bin/mount /dev/sdc1 /media/usb"  >> ' + LinkNeoBoot + '/files/mountpoint.sh')
 | |
|         elif getNeoMount2() == 'usb_install_/dev/sdd1':
 | |
|                     os.system('echo "umount -l /media/usb\nmkdir -p /media/usb\n/bin/mount /dev/sdd1 /media/usb"  >> ' + LinkNeoBoot + '/files/mountpoint.sh')
 | |
|         elif getNeoMount2() == 'usb_install_/dev/sde1':
 | |
|                     os.system('echo "umount -l /media/usb\nmkdir -p /media/usb\n/bin/mount /dev/sde1 /media/usb"  >> ' + LinkNeoBoot + '/files/mountpoint.sh')
 | |
|         elif getNeoMount2() == 'usb_install_/dev/sdf1':
 | |
|                     os.system('echo "umount -l /media/usb\nmkdir -p /media/usb\n/bin/mount /dev/sdf1 /media/usb"  >> ' + LinkNeoBoot + '/files/mountpoint.sh')
 | |
|         #---------------------------------------------
 | |
|         elif getNeoMount3() == 'cf_install_/dev/sda1':
 | |
|                     os.system('echo "umount -l /media/cf\nmkdir -p /media/cf\n/bin/mount /dev/sda1 /media/cf"  >> ' + LinkNeoBoot + '/files/mountpoint.sh')
 | |
|         elif getNeoMount3() == 'cf_install_/dev/sdb1':
 | |
|                     os.system('echo "umount -l /media/cf\nmkdir -p /media/cf\n/bin/mount /dev/sdb1 /media/cf"  >> ' + LinkNeoBoot + '/files/mountpoint.sh')
 | |
|         #---------------------------------------------
 | |
|         elif getNeoMount4() == 'card_install_/dev/sda1':
 | |
|                     os.system('echo "umount -l /media/card\nmkdir -p /media/card\n/bin/mount /dev/sda1 /media/card"  >> ' + LinkNeoBoot + '/files/mountpoint.sh')
 | |
|         elif getNeoMount4() == 'card_install_/dev/sdb1':
 | |
|                     os.system('echo "umount -l /media/card\nmkdir -p /media/card\n/bin/mount /dev/sdb1 /media/card"  >> ' + LinkNeoBoot + '/files/mountpoint.sh')
 | |
|         #---------------------------------------------
 | |
|         elif getNeoMount5() == 'mmc_install_/dev/sda1':
 | |
|                     os.system('echo "umount -l /media/mmc\nmkdir -p /media/mmc\n/bin/mount /dev/sda1 /media/mmc"  >> ' + LinkNeoBoot + '/files/mountpoint.sh')
 | |
|         elif getNeoMount5() == 'mmc_install_/dev/sdb1':
 | |
|                     os.system('echo "umount -l /media/mmc\nmkdir -p /media/mmc\n/bin/mount /dev/sdb1 /media/mmc"  >> ' + LinkNeoBoot + '/files/mountpoint.sh')
 | |
|         os.system('echo "\n\nexit 0"  >> ' + LinkNeoBoot + '/files/mountpoint.sh')
 | |
| 	
 | |
| def getBoxMacAddres():
 | |
|     os.system('%s > /tmp/.mymac' % ("ifconfig -a"))
 | |
|     if fileExists('/etc/.nameneo'):
 | |
|         os.system('cp -r /etc/.nameneo /tmp/.mymac; sleep 1')        
 | |
|         with open('/tmp/.mymac', 'r') as f:
 | |
|             myboxmac = f.read()
 | |
|             f.close()
 | |
|         EthernetMac = myboxmac
 | |
|     elif fileExists('/tmp/.mymac'):
 | |
|                     f = open("/tmp/.mymac", 'r')
 | |
|                     myboxmac = f.readline().strip().replace("eth0      Link encap:Ethernet  HWaddr ", "")
 | |
|                     f.close()
 | |
|                     EthernetMac = myboxmac                       
 | |
|                     writefile = open('/tmp/.mymac' , 'w')
 | |
|                     writefile.write(myboxmac)
 | |
|                     writefile.close()
 | |
|     elif not fileExists('/tmp/.mymac'):
 | |
|             EthernetMac = '12:34:56:78:91:02'
 | |
|                         
 | |
|     return EthernetMac    
 | |
| 
 | |
| def getCheckActivateVip():
 | |
|     supportedvip = ''
 | |
|     if os.path.exists('/usr/lib/periodon/.activatedmac'):
 | |
|         with open('/usr/lib/periodon/.activatedmac', 'r') as f:
 | |
|             lines = f.read()
 | |
|             f.close()
 | |
|         if lines.find("%s" % getBoxMacAddres()) != -1:
 | |
|             supportedvip = '%s' % getBoxMacAddres()
 | |
|     return supportedvip
 | |
|     
 | |
| def getMountDiskSTB():
 | |
|     neo_disk = ' '
 | |
|     if os.path.exists('/proc/mounts'):
 | |
|         with open('/proc/mounts', 'r') as f:
 | |
|             lines = f.read()
 | |
|             f.close()   
 | |
|         if lines.find('/dev/sda1 /media/hdd') != -1:
 | |
|             os.system('touch /tmp/disk/sda1; touch /tmp/disk/#---Select_the_disk_HDD:')            
 | |
|         if lines.find('/dev/sdb1 /media/hdd') != -1:
 | |
|             os.system('touch /tmp/disk/sdb1; touch /tmp/disk/#---Select_the_disk_HDD:')            
 | |
|         if lines.find('/dev/sda2 /media/hdd') != -1:
 | |
|             os.system('touch /tmp/disk/sda2; touch /tmp/disk/#---Select_the_disk_HDD:')            
 | |
|         if lines.find('/dev/sdb2 /media/hdd') != -1:
 | |
|             os.system('touch /tmp/disk/sdb2; touch /tmp/disk/#---Select_the_disk_HDD:')            
 | |
|         if lines.find('/dev/sdc1 /media/hdd') != -1:
 | |
|             os.system('touch /tmp/disk/sdc1; touch /tmp/disk/#---Select_the_disk_HDD:')            
 | |
|         if lines.find('/dev/sdd1 /media/hdd') != -1:
 | |
|             os.system('touch /tmp/disk/sdd1; touch /tmp/disk/#---Select_the_disk_HDD:')            
 | |
|         if lines.find('/dev/sde1 /media/hdd') != -1:
 | |
|             os.system('touch /tmp/disk/sde1; touch /tmp/disk/#---Select_the_disk_HDD:')            
 | |
|         if lines.find('/dev/sdf1 /media/hdd') != -1:
 | |
|             os.system('touch /tmp/disk/sdf1; touch /tmp/disk/#---Select_the_disk_HDD:')            
 | |
|         if lines.find('/dev/sda1 /media/usb') != -1:
 | |
|             os.system('touch /tmp/disk/sda1; touch /tmp/disk/#---Select_the_disk_USB:')            
 | |
|         if lines.find('/dev/sdb1 /media/usb') != -1:
 | |
|             os.system('touch /tmp/disk/sdb1; touch /tmp/disk/#---Select_the_disk_USB:')            
 | |
|         if lines.find('/dev/sda2 /media/usb') != -1:
 | |
|             os.system('touch /tmp/disk/sda2; touch /tmp/disk/#---Select_the_disk_USB:')            
 | |
|         if lines.find('/dev/sdb2 /media/usb') != -1:
 | |
|             os.system('touch /tmp/disk/sdb2; touch /tmp/disk/#---Select_the_disk_USB:')            
 | |
|         if lines.find('/dev/sdc1 /media/usb') != -1:
 | |
|             os.system('touch /tmp/disk/sdc1; touch /tmp/disk/#---Select_the_disk_USB:')            
 | |
|         if lines.find('/dev/sdd1 /media/usb') != -1:
 | |
|             os.system('touch /tmp/disk/sdd1; touch /tmp/disk/#---Select_the_disk_USB:')            
 | |
|         if lines.find('/dev/sde1 /media/usb') != -1:
 | |
|             os.system('touch /tmp/disk/sde1; touch /tmp/disk/#---Select_the_disk_USB:')            
 | |
|         if lines.find('/dev/sdf1 /media/usb') != -1:
 | |
|             os.system('touch /tmp/disk/sdf1; touch /tmp/disk/#---Select_the_disk_USB:')            
 | |
| 
 | |
|     return neo_disk    
 | |
| 
 | |
| def getCheckExtDisk():
 | |
|     os.system("cat /proc/mounts | egrep -o '.ext.' | sort | uniq > /tmp/.myext")
 | |
|     if os.path.exists('/tmp/.myext'):
 | |
|         with open('/tmp/.myext', 'r') as f:
 | |
|             myboxEXT = f.readline().strip()
 | |
|             f.close()
 | |
|     return myboxEXT 
 | |
|         
 | |
| def getCheckExt():
 | |
|     neoExt = 'UNKNOWN'
 | |
|     if os.path.exists('/proc/mounts'):
 | |
|         with open('/proc/mounts', 'r') as f:
 | |
|             lines = f.read()
 | |
|             f.close()
 | |
|         if lines.find('/media/usb vfat') != -1:
 | |
|             neoExt = 'vfat'
 | |
|         elif lines.find('/media/hdd vfat') != -1:
 | |
|             neoExt = 'vfat'
 | |
|         elif lines.find('/media/hdd ext3') != -1:
 | |
|             neoExt = 'ext3'
 | |
|         elif lines.find('/media/hdd ext4') != -1:
 | |
|             neoExt = 'ext4'
 | |
|         elif lines.find('/media/usb ext3') != -1:
 | |
|             neoExt = 'ext3'
 | |
|         elif lines.find('/media/usb ext4') != -1:
 | |
|             neoExt = 'ext4'                         
 | |
|     return neoExt
 | |
| 
 | |
| def getExtCheckHddUsb():
 | |
|     neoExt = 'UNKNOWN'
 | |
|     if os.path.exists('/proc/mounts'):
 | |
|         with open('/proc/mounts', 'r') as f:
 | |
|             lines = f.read()
 | |
|             f.close()
 | |
|         if lines.find('/media/hdd ext4') != -1 or lines.find('/media/hdd type ext4') != -1 and os.path.exists('/media/hdd/ImageBoot'):
 | |
|             neoExt = 'ext4'
 | |
|         if lines.find('/media/usb ext4') != -1 or lines.find('/media/usb type ext4') != -1 and os.path.exists('/media/usb/ImageBoot'):
 | |
|             neoExt = 'ext4'                        
 | |
|     return neoExt
 | |
| 
 | |
| def getNandWrite():
 | |
|     NandWrite = 'NandWrite'
 | |
|     if fileExists('/usr/lib/python2.7'):    
 | |
|         if os.path.exists('/usr/sbin/nandwrite'):
 | |
|             with open('/usr/sbin/nandwrite', 'r') as f:
 | |
|                 lines = f.read()
 | |
|                 f.close()
 | |
|             if lines.find('nandwrite') != -1:
 | |
|                 NandWrite = 'nandwrite'
 | |
|     else:
 | |
|         NandWrite = 'nandwrite'
 | |
| 	
 | |
|     return NandWrite
 | |
| 
 | |
| def getMyUUID():
 | |
|     #os.system("tune2fs -l /dev/sd?? | awk '/UUID/ {print $NF}' > /tmp/.myuuid")
 | |
|     os.system("tune2fs -l %s | awk '/UUID/ {print $NF}' > /tmp/.myuuid" % (getLocationMultiboot()))
 | |
|     try:
 | |
|         if os.path.isfile('/tmp/.myuuid'):
 | |
|             return open('/tmp/.myuuid').read().strip().upper()
 | |
|     except:
 | |
|         pass
 | |
| 
 | |
|     return _('unavailable')
 | |
| 
 | |
| def getImageBootNow():
 | |
|     imagefile = 'UNKNOWN'
 | |
|     if os.path.exists('/.multinfo'):
 | |
|         with open('/.multinfo' , 'r') as f:
 | |
|             imagefile = f.readline().strip()
 | |
|             f.close()
 | |
|     return imagefile
 | |
| 
 | |
| def getNeoActivatedtest():
 | |
|         neoactivated = 'NEOBOOT MULTIBOOT'
 | |
|         if not fileExists('/.multinfo'):        
 | |
|             if getCheckActivateVip() != getBoxMacAddres():       
 | |
|                 neoactivated = 'Ethernet MAC not found.'
 | |
|             elif not fileExists('/usr/lib/periodon/.kodn'):                   
 | |
|                 neoactivated = 'VIP Pin code missing.'
 | |
|             elif getTestToTest() != UPDATEVERSION :
 | |
|                 neoactivated = _('Update %s is available.') % getTestToTest()
 | |
|             else:    
 | |
|                 if getCheckActivateVip() == getBoxMacAddres() and fileExists('/usr/lib/periodon/.kodn') and getTestToTest() == UPDATEVERSION :
 | |
|                     neoactivated = 'NEOBOOT VIP ACTIVATED'                
 | |
| 
 | |
|         return neoactivated
 | |
| 
 | |
| boxbrand = sys.modules[__name__]
 |