def listDisks(): disksData = smartmontools.getDisks(); if len(disksData) > 0: addFolderItem(consts.fontBold + consts.colorBlue + addon.getLocalizedString(50018) + # Choose disk for smartctl: consts.colorEnd + consts.fontBoldEnd, -97); for data in disksData: l = data.split("|"); # params indexes: 0 - name; 1 - disk id from /dev/disk/by-id; 2 - device (/dev/sda, /dev/hda etc.) # getting and setting params to be passed to next call deviceType = smartmontools.getDiskType(l[1]); dic = smartctl.getStatusInfo(l[2], deviceType); dic[consts.paramDevice] = l[2]; dic[consts.paramDiskId] = l[1]; dic[consts.paramDiskType] = deviceType; params = sutilsxbmc.createParamStringFromDictionairy(dic, False); displayName = ""; # add color to device name try: if dic[consts.paramDeviceIsSuported]: if dic[consts.paramOverallHealth] == "PASSED": displayName = consts.colorShadeOfGreen; else: displayName = consts.colorShadeOfRed; else: displayName = consts.colorOrange; except: displayName = ""; displayName += l[0] + " (" + l[2] + ")" + (consts.colorEnd if displayName else ""); addFolderItem(displayName , 20, params, True);
def listSmartctlTasks(device, diskId, diskType): del params["index"]; paramString = sutilsxbmc.createParamStringFromDictionairy(params, False); # params = consts.paramDevice + "=" + device + "&" + consts.paramDiskId +"=" + diskId; # params += "&" + consts.paramDiskType + "="+ diskType; addFolderItem(addon.getLocalizedString(50037), 44, paramString); addFolderItem(addon.getLocalizedString(50028), 41, paramString); # Overall health status addFolderItem(addon.getLocalizedString(50027), 30, paramString, True); # Perform self-test addFolderItem(addon.getLocalizedString(50038), 40, paramString, True); # Reports addFolderItem(addon.getLocalizedString(50002), 21, paramString); # Set device type #addFolderItem("Addon test purpouse task only", 90, paramString); xbmcplugin.endOfDirectory(int(sys.argv[1]));
def listSmartctlReports(): del params[consts.paramIndex]; paramString = sutilsxbmc.createParamStringFromDictionairy(params, False); addFolderItem(addon.getLocalizedString(50033), 42, paramString); addFolderItem(addon.getLocalizedString(50032), 43, paramString); addFolderItem(addon.getLocalizedString(50039) + addon.getLocalizedString(50054), 45, paramString); # SMART capabilities + (ATA only) addFolderItem(addon.getLocalizedString(50040), 46, paramString); # logs from -l parameter, gets the same index as id of their description in strings.po for logType in consts.logTypeToDescStringIdDic.keys(): index = consts.logTypeToDescStringIdDic[logType]; description = addon.getLocalizedString(index) addFolderItem(description, index, paramString); xbmcplugin.endOfDirectory(int(sys.argv[1]));
def listSmartctlTasks(device, diskId, diskType): del params["index"] paramString = sutilsxbmc.createParamStringFromDictionairy(params, False) # params = consts.paramDevice + "=" + device + "&" + consts.paramDiskId +"=" + diskId; # params += "&" + consts.paramDiskType + "="+ diskType; addFolderItem(addon.getLocalizedString(50037), 44, paramString) addFolderItem(addon.getLocalizedString(50028), 41, paramString) # Overall health status addFolderItem(addon.getLocalizedString(50027), 30, paramString, True) # Perform self-test addFolderItem(addon.getLocalizedString(50038), 40, paramString, True) # Reports addFolderItem(addon.getLocalizedString(50002), 21, paramString) # Set device type #addFolderItem("Addon test purpouse task only", 90, paramString); xbmcplugin.endOfDirectory(int(sys.argv[1]))
def listSmartctlTests(device, diskId, diskType): del params[consts.paramIndex] paramString = sutilsxbmc.createParamStringFromDictionairy(params, False) # params = consts.paramDevice + "=" + device + "&" + consts.paramDiskId +"=" + diskId; # params += "&" + consts.paramDiskType + "="+ diskType; addFolderItem( consts.fontBold + consts.colorBlue + addon.getLocalizedString(50011) + # Choose test type: consts.colorEnd + consts.fontBoldEnd, -99) # create list items with test duration shortTestString = addon.getLocalizedString(50006) # short try: shortTestString += " (" + params[consts.paramShortTestDuration] + " " + \ addon.getLocalizedString(50036) + ")" except: # if duration is not available it will keep only name of the test pass longTestString = addon.getLocalizedString(50007) # long try: longTestString += " (" + params[consts.paramLongTestDuration] + " " + \ addon.getLocalizedString(50036) + ")" except: pass conveyanceTestString = addon.getLocalizedString(50008) # conveyance try: conveyanceTestString += " (" + params[consts.paramConveyanceTestDuration] + " " + \ addon.getLocalizedString(50036) + ")" except: pass addFolderItem(shortTestString, 31, paramString) addFolderItem(longTestString, 32, paramString) addFolderItem(conveyanceTestString, 33, paramString) addFolderItem(addon.getLocalizedString(50009), 34, paramString) # offline addFolderItem(addon.getLocalizedString(50010), 39, paramString) # Cancel running tests xbmcplugin.endOfDirectory(int(sys.argv[1]))
def listSmartctlReports(): del params[consts.paramIndex] paramString = sutilsxbmc.createParamStringFromDictionairy(params, False) addFolderItem(addon.getLocalizedString(50033), 42, paramString) addFolderItem(addon.getLocalizedString(50032), 43, paramString) addFolderItem( addon.getLocalizedString(50039) + addon.getLocalizedString(50054), 45, paramString) # SMART capabilities + (ATA only) addFolderItem(addon.getLocalizedString(50040), 46, paramString) # logs from -l parameter, gets the same index as id of their description in strings.po for logType in consts.logTypeToDescStringIdDic.keys(): index = consts.logTypeToDescStringIdDic[logType] description = addon.getLocalizedString(index) addFolderItem(description, index, paramString) xbmcplugin.endOfDirectory(int(sys.argv[1]))
def listDisks(): disksData = smartmontools.getDisks() if len(disksData) > 0: addFolderItem( consts.fontBold + consts.colorBlue + addon.getLocalizedString(50018) + # Choose disk for smartctl: consts.colorEnd + consts.fontBoldEnd, -97) for data in disksData: l = data.split("|") # params indexes: 0 - name; 1 - disk id from /dev/disk/by-id; 2 - device (/dev/sda, /dev/hda etc.) # getting and setting params to be passed to next call deviceType = smartmontools.getDiskType(l[1]) dic = smartctl.getStatusInfo(l[2], deviceType) dic[consts.paramDevice] = l[2] dic[consts.paramDiskId] = l[1] dic[consts.paramDiskType] = deviceType params = sutilsxbmc.createParamStringFromDictionairy(dic, False) displayName = "" # add color to device name try: if dic[consts.paramDeviceIsSuported]: if dic[consts.paramOverallHealth] == "PASSED": displayName = consts.colorShadeOfGreen else: displayName = consts.colorShadeOfRed else: displayName = consts.colorOrange except: displayName = "" displayName += l[0] + " (" + l[2] + ")" + (consts.colorEnd if displayName else "") addFolderItem(displayName, 20, params, True)
def listSmartctlTests(device, diskId, diskType): del params[consts.paramIndex]; paramString = sutilsxbmc.createParamStringFromDictionairy(params, False); # params = consts.paramDevice + "=" + device + "&" + consts.paramDiskId +"=" + diskId; # params += "&" + consts.paramDiskType + "="+ diskType; addFolderItem(consts.fontBold + consts.colorBlue + addon.getLocalizedString(50011) + # Choose test type: consts.colorEnd + consts.fontBoldEnd, -99); # create list items with test duration shortTestString = addon.getLocalizedString(50006); # short try: shortTestString += " (" + params[consts.paramShortTestDuration] + " " + \ addon.getLocalizedString(50036) + ")"; except: # if duration is not available it will keep only name of the test pass; longTestString = addon.getLocalizedString(50007); # long try: longTestString += " (" + params[consts.paramLongTestDuration] + " " + \ addon.getLocalizedString(50036) + ")"; except: pass; conveyanceTestString = addon.getLocalizedString(50008); # conveyance try: conveyanceTestString += " (" + params[consts.paramConveyanceTestDuration] + " " + \ addon.getLocalizedString(50036) + ")"; except: pass; addFolderItem(shortTestString, 31, paramString); addFolderItem(longTestString, 32, paramString); addFolderItem(conveyanceTestString, 33, paramString); addFolderItem(addon.getLocalizedString(50009), 34, paramString); # offline addFolderItem(addon.getLocalizedString(50010), 39, paramString); # Cancel running tests xbmcplugin.endOfDirectory(int(sys.argv[1]));