From f8bec69d15ad909158c683bbf659eea77ccaf29a Mon Sep 17 00:00:00 2001 From: shaun Date: Thu, 30 Apr 2015 11:52:26 +1000 Subject: [PATCH] use all 1 to 100 percentage images --- resources/lib/Functions.py | 39 ++++++++++++++++++++++++++++++-------- resources/lib/ItemInfo.py | 5 ++++- tools/percentage_images.py | 26 +++++++++++++++++++++++++ 3 files changed, 61 insertions(+), 9 deletions(-) create mode 100644 tools/percentage_images.py diff --git a/resources/lib/Functions.py b/resources/lib/Functions.py index 3c31699..9db5e6e 100644 --- a/resources/lib/Functions.py +++ b/resources/lib/Functions.py @@ -411,20 +411,43 @@ def addGUIItem( url, details, extraData, folder=True ): if(duration > 0): resume = float(extraData.get('resumetime')) / 60.0 percentage = int((resume / duration) * 100.0) + cappedPercentage = percentage + ''' cappedPercentage = percentage - (percentage % 10) if(cappedPercentage == 0): cappedPercentage = 10 if(cappedPercentage == 100): - cappedPercentage = 90 + cappedPercentage = 90 + ''' + + if (extraData.get('TotalEpisodes') != None and extraData.get('TotalEpisodes') != "0"): + totalItems = int(extraData.get('TotalEpisodes')) + watched = int(extraData.get('WatchedEpisodes')) + percentage = int((float(watched) / float(totalItems)) * 100.0) + cappedPercentage = percentage + if(cappedPercentage == 0): + cappedPercentage = None + if(cappedPercentage == 100): + cappedPercentage = None + + ''' + cappedPercentage = percentage - (percentage % 10) + if(cappedPercentage == 0): + cappedPercentage = 10 + if(cappedPercentage == 100): + cappedPercentage = 90 + ''' - addResumePercent = __settings__.getSetting('addResumePercent') == 'true' - if (addResumePercent and details.get('title') != None and cappedPercentage != None): - listItemName = listItemName + " (" + str(cappedPercentage) + "%)" - + countsAdded = False addCounts = __settings__.getSetting('addCounts') == 'true' if(addCounts and extraData.get("RecursiveItemCount") != None and extraData.get("RecursiveUnplayedItemCount") != None): - listItemName = listItemName + " (" + str(extraData.get("RecursiveItemCount") - extraData.get("RecursiveUnplayedItemCount")) + "/" + str(extraData.get("RecursiveItemCount")) + ")" - + countsAdded = True + listItemName = listItemName + " (" + str(extraData.get("RecursiveItemCount") - extraData.get("RecursiveUnplayedItemCount")) + "/" + str(extraData.get("RecursiveItemCount")) + ")" + + addResumePercent = __settings__.getSetting('addResumePercent') == 'true' + if(countsAdded == False and addResumePercent and details.get('title') != None and cappedPercentage != None): + listItemName = listItemName + " (" + str(cappedPercentage) + "%)" + # update title with new name, this sets the new name in the deailts that are later passed to video info details['title'] = listItemName @@ -984,7 +1007,7 @@ def processDirectory(url, results, progress, pluginhandle): TotalSeasons = 0 if item.get("ChildCount") == None else item.get("ChildCount") TotalEpisodes = 0 if item.get("RecursiveItemCount") == None else item.get("RecursiveItemCount") - WatchedEpisodes = 0 if userData.get("UnplayedItemCount") == None else TotalEpisodes-userData.get("UnplayedItemCount") + WatchedEpisodes = 0 if userData.get("UnplayedItemCount") == None else TotalEpisodes - userData.get("UnplayedItemCount") UnWatchedEpisodes = 0 if userData.get("UnplayedItemCount") == None else userData.get("UnplayedItemCount") NumEpisodes = TotalEpisodes diff --git a/resources/lib/ItemInfo.py b/resources/lib/ItemInfo.py index 062a9a2..dc034e8 100644 --- a/resources/lib/ItemInfo.py +++ b/resources/lib/ItemInfo.py @@ -147,12 +147,15 @@ class ItemInfo(xbmcgui.WindowXMLDialog): runTimeTicks = float(item.get("RunTimeTicks", "0")) if(runTimeTicks > 0): percentage = int((playBackTicks / runTimeTicks) * 100.0) + cappedPercentage = percentage + ''' cappedPercentage = percentage - (percentage % 10) if(cappedPercentage == 0): cappedPercentage = 10 if(cappedPercentage == 100): cappedPercentage = 90 - + ''' + # set matched button text if(itemPlayed): self.getControl(3004).setLabel("Watched") diff --git a/tools/percentage_images.py b/tools/percentage_images.py new file mode 100644 index 0000000..e3c3c08 --- /dev/null +++ b/tools/percentage_images.py @@ -0,0 +1,26 @@ +from PIL import Image + +def GetImageData(width, height, percentage): + + pixels = [] + + onPixel = (0, 162, 232, 255) + offPixel = (0, 0, 0, 255) + + onWidth = int(width * (float(percentage) / 100)) + + for y in range(0, height): + + for x in range(0, width): + + if(x < onWidth): + pixels.append(onPixel) + else: + pixels.append(offPixel) + + return pixels + +for x in range(1, 101): + im = Image.new('RGBA', (600, 60)) + im.putdata(GetImageData(600, 60, x)) + im.save("images/progress_" + str(x) + ".png") \ No newline at end of file