Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mod for IPTV autotimers #178

Closed
wants to merge 4 commits into from
Closed

Mod for IPTV autotimers #178

wants to merge 4 commits into from

Conversation

devait
Copy link

@devait devait commented Jun 15, 2017

Quick mod to set timers in autotimer for IPTV channels.
Mod required as serviceref doesn't include IPTV url

Quick mod to set timers in autotimer for IPTV channels. Mod required as serviceref doesn't include IPTV url
if not self.haveCachedServiceList:
print("[AutoTimerIPTVMod] Getting full service list")
# Get all bouquets
bouquetlist = []
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Get all bouquets is much easier:

serviceHandler = eServiceCenter.getInstance()
services = serviceHandler.list(eServiceReference('1:134:1:0:0:0:0:0:0:0:FROM BOUQUET "bouquets.tv" ORDER BY bouquet'))
bouquets = services and services.getContent("SN", True)

@devait
Copy link
Author

devait commented Jun 15, 2017

Many thanks. As someone new to this I was just reusing the code below that already exists in this file:

		if not test:
			# No service filter defined
			# Search within all services - could be very slow

			# Get all bouquets
			bouquetlist = []
			refstr = '1:134:1:0:0:0:0:0:0:0:FROM BOUQUET \"bouquets.tv\" ORDER BY bouquet'
			bouquetroot = eServiceReference(refstr)
			mask = eServiceReference.isDirectory
			if config.usage.multibouquet.value:
				bouquets = serviceHandler.list(bouquetroot)
				if bouquets:
					while True:
						s = bouquets.getNext()


# Get all services
mask = (eServiceReference.isMarker | eServiceReference.isDirectory)
for name, bouquet in bouquetlist:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

get all services from bouquet can be like this.

servicelist = ServiceList(eServiceReference(bRef))
slist = servicelist.getServicesAsList()
for sitem in slist:
sref = sitem[0]

@devait
Copy link
Author

devait commented Jun 15, 2017

Many thanks. Again, as someone new to this I was just reusing the code that already exists in this file...

@jbleyel
Copy link
Contributor

jbleyel commented Jun 15, 2017

No problem. I can make some proposals, but i can't test because of no IPV on my box.
I can test it. If you have one or more free iptv channels with epg for me.
You can send me your bouquet definition file with some channels.

@devait
Copy link
Author

devait commented Jun 15, 2017

Sorry I don't have any free iptv bouquets. A user here has tested it ok apart from a different distro issue
http://www.techkings.org/threads/how-to-record-iptv.123223/page-3

@AbuBaniaz
Copy link
Contributor

A complication that from what I have seen on forums is that the scripts that are used by some people for IPTV services do not add the bouquet name to bouquets.tv They depend on unlinked bouquets to be enabled.

@devait
Copy link
Author

devait commented Jun 16, 2017

In that case I'd say we would need to check for the service refs in any .tv files in /etc/enigma2

Added * to servicename so we know it's an IPTV channel
@devait
Copy link
Author

devait commented Jun 16, 2017

Just added a mod to the autotimerlist.py file to show the IPTV service name instead of 100.ts for example.

Removed * addition to service name, instead (if you want) add to service name in .tv file to show IPTV
@Huevos
Copy link
Member

Huevos commented Jun 16, 2017

How is EPG being retrieved for these IPTV services.

@devait
Copy link
Author

devait commented Jun 17, 2017

Using CrossEPG daily at 4am. IPTV bouquets are linked to DVB channel EPG using e-Channelizer.

@Huevos
Copy link
Member

Huevos commented Jun 18, 2017

How does CrossEPG update an IPTV channel?

@devait
Copy link
Author

devait commented Jun 18, 2017

IPTV bouquets are linked to DVB channel EPG using e-Channelizer.

@jbleyel
Copy link
Contributor

jbleyel commented Jun 18, 2017

Please reset to master and make new commit.
Your complete commit did not work.
Only the first one.
You also need to check my suggestions about the full service cache.
I don't think you need this if you use my code.

@jbleyel jbleyel closed this Jun 18, 2017
@jbleyel
Copy link
Contributor

jbleyel commented Jun 18, 2017

Update: your hole commit have no errors but you have the CachedServiceList twice.
Don't do this!

@Huevos
Copy link
Member

Huevos commented Jun 18, 2017

So this whole exercise is to fix a broken provider, and doesn't really add IPTV channels?

@jbleyel
Copy link
Contributor

jbleyel commented Jun 18, 2017

The idea of @devait is ok for me and the implementation doesnt.

@jbleyel
Copy link
Contributor

jbleyel commented Jun 18, 2017

I think there is a easier way to provide IPV EPG.
Make your changes in cross EPG and you don't have to think about any other plugins.

@jbleyel jbleyel mentioned this pull request Jan 18, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants