Very nice guide. I modded a skin with the cats.
I maintained a small fork of the FTV guide but don't release it publicly. Your base is amazing so i'm moving over to it. I am going to list a few things i do with the logic behind it that you can incorporate or inquire about if you want. You are a completely capable coder so i'm sure your solutions would be more elegant than mine.
File fetcher :
- have the download progress. If you are unfamiliar with the guide it looks like it freezes on slow devices
- the ability to use a gz file. 20 meg vs 2 meg is a no brainer. I currently use the below, maybe thats the problem?
7z a -mx0 -tgzip %final%guide.xml.gz "%guidezip%guide.xml"
- a selfish request, but the option to also download a zip along with the epg and extract it in the base.
addons.ini:
- separate the add folder and import addons.ini. Have the import save to addons2.ini and append both ini files if found. To append just repeat the first ini append routine with different ini destination.
- option to play from and search ini for all possible channel names (under lists?)
ADDONID:
- another selfish request is to eliminate the addon name. This is for easy forks (still have to change skin paths). I create a func.py with :
ADDONID = 'script.tvguide.fullscreen'
ADDON = xbmcaddon.Addon(ADDONID)
and then in other py files
import func
ADDONID = func.ADDONID
ADDON = xbmcaddon.Addon(ADDONID)
changing all refences of script.tvguide.fullscreen to ADDONID or '+ADDONID+'
Categories:
- read it at a different place in the script. It often isn't initiated until you reopen the guide.
- categories tab visible with the touch\mouse controls.
- add a label displaying the current category. i use the middle line
self.database.setCategory(self.category)
self.setControlLabel(self.C_MAIN_CAT_LABEL, '
%s' % self.category)
self.database.initialize(self.onSourceInitialized, self.isSourceInitializationCancelled)
playlist:
- option to also import playlist from set path in settings rather than only via streamsetup
Logos:
- use underscores instead of spaces. Many people (well, me) share the logos with the kodi pvr and they require underscores vs spaces. I use
elif xbmcvfs.exists(logoFile):
#logo = logoFile.replace(' ', '%20') # needed due to fetching from a server!
logo = logoFile.replace(' ', '_') # needed to have logos in pvr client!
elif self.logoSource == XMLTVSource.LOGO_SOURCE_CUSTOM:
logo = logoFile.replace(' ', '_') # needed to have logos in pvr client!
Ignore stream:
- option to not save channel to database for mega pesky unreliable sources.
if IGNORESTRM:
self.database.deleteCustomStreamUrl(program.channel
Add folders:
- ability to remove path from folders.list
I have most of this working if you want to DM me about anything. I see you just added cats to the main screen so you are already making me happy