Example #1
0
    def refresh(self):
        bouquets = Manager().getBouquetsList()
        self.listTv = bouquets["tv"]
        self.listRadio = bouquets["radio"]
        self.drawList = []
        self.listAll = []
        self.bouquets = config.autobouquetsmaker.keepbouquets.value.split("|")

        if self.listTv is not None and self.listRadio is not None:
            for bouquet in self.listTv:
                if bouquet["filename"][:len(self.ABM_BOUQUET_PREFIX
                                            )] == self.ABM_BOUQUET_PREFIX:
                    continue
                if bouquet["filename"] in self.bouquets:
                    self.drawList.append(
                        self.buildListEntry(True, bouquet["name"], "TV"))
                else:
                    self.drawList.append(
                        self.buildListEntry(False, bouquet["name"], "TV"))
                self.listAll.append(bouquet["filename"])

            for bouquet in self.listRadio:
                if bouquet["filename"][:len(self.ABM_BOUQUET_PREFIX
                                            )] == self.ABM_BOUQUET_PREFIX:
                    continue
                if bouquet["filename"] in self.bouquets:
                    self.drawList.append(
                        self.buildListEntry(True, bouquet["name"], "Radio"))
                else:
                    self.drawList.append(
                        self.buildListEntry(False, bouquet["name"], "Radio"))
                self.listAll.append(bouquet["filename"])
        self["list"].setList(self.drawList)
Example #2
0
    def __init__(self, session):
        Screen.__init__(self, session)
        self.session = session
        Screen.setTitle(self, _("AutoBouquetsMaker Hide sections"))
        self.startlist = config.autobouquetsmaker.hidesections.getValue()
        self.drawList = []

        self["list"] = List(self.drawList)
        self["key_red"] = Button(_("Cancel"))
        self["key_green"] = Button(_("Save"))
        self["actions"] = ActionMap(
            ["OkCancelActions", "ColorActions"], {
                "red": self.keyCancel,
                "green": self.keySave,
                "ok": self.ok,
                "cancel": self.keyCancel,
            }, -2)

        self.providers = Manager().getProviders()
        self.providers_enabled = []
        providers_tmp = config.autobouquetsmaker.providers.value.split("|")
        for provider_tmp in providers_tmp:
            provider_config = ProviderConfig(provider_tmp)

            if not provider_config.isValid():
                continue

            if provider_config.getProvider() not in self.providers:
                continue

            self.providers_enabled.append(provider_config.getProvider())

        self.housekeeping()
        self.refresh()
Example #3
0
	def prepare(self):
		self.activityTimer.stop()
		bouquets = Manager().getBouquetsList()
		bouquets_list = []
		bouquet_default = None

		self.createSetup()
		self["pleasewait"].hide()
		self["actions"].setEnabled(True)
    def __init__(self, session, args=0):
        print >> log, "[UpdateProviders][__init__] Starting..."
        print "[UpdateProviders][__init__] args", args
        Screen.__init__(self, session)
        self.session = session
        self.skinName = "AutoBouquetsMaker"
        Screen.setTitle(self, _("UpdateProviders"))

        self["background"] = Pixmap()
        self["action"] = Label(_("Finding configured providers..."))
        self["status"] = Label("")
        self["progress"] = ProgressBar()

        self["actions"] = ActionMap(["SetupActions"], {
            "cancel": self.keyCancel,
        }, -2)

        self.timerlength = 100
        socket_timeout = 10
        socket.setdefaulttimeout(socket_timeout)
        self.index = 0
        self.messages = []
        self.version_checked = False
        self.pluginGit = "https://github.com/oe-alliance/AutoBouquetsMaker"
        self.gitProvidersFolder = "/raw/master/AutoBouquetsMaker/providers"
        self.remoteVersion = "/raw/master/AutoBouquetsMaker/src/version.py"
        self.providersFolder = "%s/providers/" % os.path.dirname(
            sys.modules[__name__].__file__)

        self.providers = Manager().getProviders()

        # dependent providers
        self.dependents = {}
        for provider_key in self.providers:
            if len(self.providers[provider_key]
                   ["dependent"]) > 0 and self.providers[provider_key][
                       "dependent"] in self.providers:
                if self.providers[provider_key][
                        "dependent"] not in self.dependents:
                    self.dependents[self.providers[provider_key]
                                    ["dependent"]] = []
                self.dependents[self.providers[provider_key]
                                ["dependent"]].append(provider_key)

        # get ABM config string including dependents
        self.abm_settings_str = self.getABMsettings()

        self.onFirstExecBegin.append(self.firstExec)
Example #5
0
    def prepare(self):
        self.activityTimer.stop()
        self.providers = Manager().getProviders()
        self.buildList()

        if len(self.list) <= 1:
            return

        index = self["list"].getIndex()
        if index == 0:
            self["key_yellow"].setText("")
            self["key_blue"].setText(_("Move down"))
        elif index == len(self.list) - 1:
            self["key_yellow"].setText(_("Move up"))
            self["key_blue"].setText("")
        else:
            self["key_yellow"].setText(_("Move up"))
            self["key_blue"].setText(_("Move down"))
Example #6
0
	def prepare(self):
		self.activityTimer.stop()
		self.providers = Manager().getProviders()
		self.providers_configs = {}
		self.providers_area = {}
		self.providers_swapchannels = {}
		self.providers_makemain = {}
		self.providers_custommain = {}
		self.providers_makesections = {}
		self.providers_makehd = {}
		self.providers_makefta = {}
		self.providers_makeftahd = {}
		self.providers_FTA_only = {}
		self.providers_order = []
		self.orbital_supported = []

		# make config test for ATV Multituner
		self.legacy = True
		
		for slot in nimmanager.nim_slots:
			if slot.canBeCompatible("DVB-S"):
				try:
					slot.config.dvbs
					self.legacy = False
				except:
					self.legacy = True
			break

		# get supported orbital positions
		dvbs_nims = nimmanager.getNimListOfType("DVB-S")
		for nim in dvbs_nims:
			sats = nimmanager.getSatListForNim(nim)
			for sat in sats:
				if sat[0] not in self.orbital_supported:
					self.orbital_supported.append(sat[0])

		self.dvbc_nims = []
		self.dvbt_nims = []
		for nim in nimmanager.nim_slots:
			if not self.legacy:
				if nim.isCompatible("DVB-C") or (nim.isCompatible("DVB-S") and nim.canBeCompatible("DVB-C")):
					self.dvbc_nims.append(nim.slot)
				if nim.isCompatible("DVB-T") or (nim.isCompatible("DVB-S") and nim.canBeCompatible("DVB-T")):
					self.dvbt_nims.append(nim.slot)
			else:
				if nim.config_mode != "nothing":
					if nim.isCompatible("DVB-C") or (nim.isCompatible("DVB-S") and nim.canBeCompatible("DVB-C")):
						self.dvbc_nims.append(nim.slot)
					if nim.isCompatible("DVB-T") or (nim.isCompatible("DVB-S") and nim.canBeCompatible("DVB-T")):
						self.dvbt_nims.append(nim.slot)

		# dependent providers
		self.dependents_list = []
		for provider_key in self.providers:
			if len(self.providers[provider_key]["dependent"]) > 0 and self.providers[provider_key]["dependent"] in self.providers:
				self.dependents_list.append(provider_key)


		# read providers configurations
		providers_tmp_configs = {}
		providers_tmp = config.autobouquetsmaker.providers.value.split("|")
		for provider_tmp in providers_tmp:
			provider_config = ProviderConfig(provider_tmp)

			if not provider_config.isValid():
				continue

			if provider_config.getProvider() not in self.providers:
				continue
			if self.providers[provider_config.getProvider()]["streamtype"] == 'dvbs' and self.providers[provider_config.getProvider()]["transponder"]["orbital_position"] not in self.orbital_supported:
				continue
			if self.providers[provider_config.getProvider()]["streamtype"] == 'dvbc' and len(self.dvbc_nims) <= 0:
				continue
			if self.providers[provider_config.getProvider()]["streamtype"] == 'dvbt' and len(self.dvbt_nims) <= 0:
				continue

			self.providers_order.append(provider_config.getProvider())
			providers_tmp_configs[provider_config.getProvider()] = provider_config

		# get current bouquets list (for custom main)
		bouquets = Manager().getBouquetsList()
		bouquets_list = []

		if bouquets["tv"] is not None:
			for bouquet in bouquets["tv"]:
				if bouquet["filename"][:len(self.ABM_BOUQUET_PREFIX)] == self.ABM_BOUQUET_PREFIX:
					continue
				bouquets_list.append((bouquet["filename"], bouquet["name"]))

		# build providers configurations
		for provider in self.providers.keys():
			self.providers_configs[provider] = ConfigYesNo(default = (provider not in self.dependents_list and provider in providers_tmp_configs.keys()))
			self.providers_swapchannels[provider] = ConfigYesNo(default = (provider in providers_tmp_configs and providers_tmp_configs[provider].isSwapChannels()))

			custom_bouquets_exists = False
			self.providers_makemain[provider] = None
			self.providers_custommain[provider] = None
			self.providers_makesections[provider] = None
			self.providers_makehd[provider] = None
			self.providers_makefta[provider] = None
			self.providers_makeftahd[provider] = None

			if len(self.providers[provider]["sections"].keys()) > 1:	# only if there's more than one section
				sections_default = True
				if provider in providers_tmp_configs:
					sections_default = providers_tmp_configs[provider].isMakeSections()
				self.providers_makesections[provider] = ConfigYesNo(default = sections_default)
				custom_bouquets_exists = True

			if self.providers[provider]["protocol"] != "fastscan":	# fastscan doesn't have enough information to make HD and/or FTA bouquets
				hd_default = True
				fta_default = True
				ftahd_default = True
				if provider in providers_tmp_configs:
					hd_default = providers_tmp_configs[provider].isMakeHD()
					fta_default = providers_tmp_configs[provider].isMakeFTA()
					ftahd_default = providers_tmp_configs[provider].isMakeFTAHD()
				self.providers_makehd[provider] = ConfigYesNo(default = hd_default)
				self.providers_makefta[provider] = ConfigYesNo(default = fta_default)
				self.providers_makeftahd[provider] = ConfigYesNo(default = ftahd_default)
				custom_bouquets_exists = True

			if sorted(self.providers[provider]["sections"].keys())[0] > 1:
				makemain_default = "no"
				makemain_list = [("yes", _("yes"))]
				if self.providers[provider]["protocol"] != "fastscan":
					makemain_list.append(("hd", _("yes (only HD)")))
					makemain_list.append(("ftahd", _("yes (only FTA HD)")))

				if provider not in providers_tmp_configs and self.providers[provider]["protocol"] == "sky":
					makemain_default = "ftahd"	# FTA HD only as default
				elif provider not in providers_tmp_configs:
					makemain_default = "yes"	# enabled as default

				if provider in providers_tmp_configs and providers_tmp_configs[provider].isMakeNormalMain():
					makemain_default = "yes"

				if self.providers[provider]["protocol"] != "fastscan":
					if provider in providers_tmp_configs and providers_tmp_configs[provider].isMakeHDMain():
						makemain_default = "hd"
					if provider in providers_tmp_configs and providers_tmp_configs[provider].isMakeFTAHDMain():
						makemain_default = "ftahd"

				if len(bouquets_list) > 0 and config.autobouquetsmaker.placement.getValue() == 'top':
					makemain_list.append(("custom", _("yes (custom)")))
					if provider in providers_tmp_configs and providers_tmp_configs[provider].isMakeCustomMain():
						makemain_default = "custom"

					bouquet_default = bouquets_list[0][0]
					if provider in providers_tmp_configs:
						for bouquet_entry in bouquets_list:
							if bouquet_entry[0] == providers_tmp_configs[provider].getCustomFilename():
								bouquet_default = bouquet_entry[0]
								break

					self.providers_custommain[provider] = ConfigSelection(default = bouquet_default, choices = bouquets_list)

				makemain_list.append(("no", _("no")))
				self.providers_makemain[provider] = ConfigSelection(default = makemain_default, choices = makemain_list)

			elif custom_bouquets_exists:
				makemain_default = "no"
				if provider not in providers_tmp_configs:
					makemain_default = "yes"
				if provider in providers_tmp_configs and providers_tmp_configs[provider].isMakeNormalMain():
					makemain_default = "yes"
				self.providers_makemain[provider] = ConfigSelection(default = makemain_default, choices = [("yes", _("yes")), ("no", _("no"))])

			arealist = []
			bouquets = self.providers[provider]["bouquets"]
			for bouquet in bouquets.keys():
				arealist.append((bouquet, self.providers[provider]["bouquets"][bouquet]["name"]))
			arealist.sort()
			if len(self.providers[provider]["bouquets"]) > 0: # provider has area list
				default_area = None
				if provider in providers_tmp_configs:
					default_area = providers_tmp_configs[provider].getArea()
				self.providers_area[provider] = ConfigSelection(default = default_area, choices = arealist)

			# FTA only
			FTA_only = config.autobouquetsmaker.FTA_only.value.split("|")
			FTA = self.providers[provider]["protocol"] != "fastscan" and config.autobouquetsmaker.level.value == "expert" and provider in FTA_only
			self.providers_FTA_only[provider] = ConfigYesNo(default = FTA)

		self.createSetup()
		self["pleasewait"].hide()
		self["actions"].setEnabled(True)
Example #7
0
 def setUp(self):
     """Create test case setup."""
     self.scan_manager = Manager()
     self.scan_manager.start()
Example #8
0
    def prepare(self):
        self.activityTimer.stop()
        self.providers = Manager().getProviders()
        self.providers_configs = {}
        self.providers_area = {}
        self.providers_swapchannels = {}
        self.providers_makemain = {}
        self.providers_custommain = {}
        self.providers_makesections = {}
        self.providers_makehd = {}
        self.providers_makefta = {}
        self.providers_order = []
        self.orbital_supported = []

        # get supported orbital positions
        dvbs_nims = nimmanager.getNimListOfType("DVB-S")
        for nim in dvbs_nims:
            sats = nimmanager.getSatListForNim(nim)
            for sat in sats:
                if sat[0] not in self.orbital_supported:
                    self.orbital_supported.append(sat[0])

        self.dvbc_nims = nimmanager.getNimListOfType("DVB-C")
        self.dvbt_nims = nimmanager.getNimListOfType("DVB-T")

        # read providers configurations
        providers_tmp_configs = {}
        providers_tmp = config.autobouquetsmaker.providers.value.split("|")
        for provider_tmp in providers_tmp:
            provider_config = ProviderConfig(provider_tmp)

            if not provider_config.isValid():
                continue

            if provider_config.getProvider() not in self.providers:
                continue
            if self.providers[provider_config.getProvider(
            )]["streamtype"] == 'dvbs' and self.providers[
                    provider_config.getProvider()]["transponder"][
                        "orbital_position"] not in self.orbital_supported:
                continue
            if self.providers[provider_config.getProvider(
            )]["streamtype"] == 'dvbc' and len(self.dvbc_nims) <= 0:
                continue
            if self.providers[provider_config.getProvider(
            )]["streamtype"] == 'dvbt' and len(self.dvbt_nims) <= 0:
                continue

            self.providers_order.append(provider_config.getProvider())
            providers_tmp_configs[
                provider_config.getProvider()] = provider_config

        # get current bouquets list (for custom main)
        bouquets = Manager().getBouquetsList()
        bouquets_list = []

        if bouquets["tv"] is not None:
            for bouquet in bouquets["tv"]:
                if bouquet["filename"][:12] == "autobouquet.":
                    continue
                bouquets_list.append((bouquet["filename"], bouquet["name"]))

        # build providers configurations
        for provider in self.providers.keys():
            self.providers_configs[provider] = ConfigYesNo(
                default=(provider in providers_tmp_configs.keys()))
            self.providers_swapchannels[provider] = ConfigYesNo(
                default=(provider in providers_tmp_configs
                         and providers_tmp_configs[provider].isSwapChannels()))

            custom_bouquets_exists = False
            self.providers_makemain[provider] = None
            self.providers_custommain[provider] = None
            self.providers_makesections[provider] = None
            self.providers_makehd[provider] = None
            self.providers_makefta[provider] = None

            if len(self.providers[provider]["sections"].keys()
                   ) > 1:  # only if there's more then one section
                sections_default = True
                if provider in providers_tmp_configs:
                    sections_default = providers_tmp_configs[
                        provider].isMakeSections()
                self.providers_makesections[provider] = ConfigYesNo(
                    default=sections_default)
                custom_bouquets_exists = True

            if self.providers[provider][
                    "protocol"] != "fastscan":  # fastscan doesn't have enough information to make HD and/or FTA bouquets
                hd_default = True
                fta_default = True
                if provider in providers_tmp_configs:
                    hd_default = providers_tmp_configs[provider].isMakeHD()
                    fta_default = providers_tmp_configs[provider].isMakeFTA()
                self.providers_makehd[provider] = ConfigYesNo(
                    default=hd_default)
                self.providers_makefta[provider] = ConfigYesNo(
                    default=fta_default)
                custom_bouquets_exists = True

            if sorted(self.providers[provider]["sections"].keys())[0] > 1:
                makemain_default = "no"
                makemain_list = []
                makemain_list.append(("yes", _("yes")))

                if provider not in providers_tmp_configs:
                    makemain_default = "yes"  # enabled as default

                if provider in providers_tmp_configs and providers_tmp_configs[
                        provider].isMakeNormalMain():
                    makemain_default = "yes"

                if self.providers[provider]["protocol"] != "fastscan":
                    makemain_list.append(("hd", _("yes (only HD)")))
                    if provider in providers_tmp_configs and providers_tmp_configs[
                            provider].isMakeHDMain():
                        makemain_default = "hd"

                if len(bouquets_list) > 0:
                    makemain_list.append(("custom", _("yes (custom)")))
                    if provider in providers_tmp_configs and providers_tmp_configs[
                            provider].isMakeCustomMain():
                        makemain_default = "custom"

                    bouquet_default = bouquets_list[0][0]
                    if provider in providers_tmp_configs:
                        for bouquet_entry in bouquets_list:
                            if bouquet_entry[0] == providers_tmp_configs[
                                    provider].getCustomFilename():
                                bouquet_default = bouquet_entry[0]
                                break

                    self.providers_custommain[provider] = ConfigSelection(
                        default=bouquet_default, choices=bouquets_list)

                makemain_list.append(("no", _("no")))
                self.providers_makemain[provider] = ConfigSelection(
                    default=makemain_default, choices=makemain_list)

            elif custom_bouquets_exists:
                makemain_default = "no"
                if provider not in providers_tmp_configs:
                    makemain_default = "yes"
                if provider in providers_tmp_configs and providers_tmp_configs[
                        provider].isMakeNormalMain():
                    makemain_default = "yes"
                self.providers_makemain[provider] = ConfigSelection(
                    default=makemain_default,
                    choices=[("yes", _("yes")), ("no", _("no"))])

            arealist = []
            bouquets = self.providers[provider]["bouquets"]
            for bouquet in bouquets.keys():
                arealist.append(
                    (bouquet,
                     self.providers[provider]["bouquets"][bouquet]["name"]))
            arealist.sort()
            if self.providers[provider]["protocol"] == "sky" or self.providers[
                    provider]["protocol"] == "freesat" or self.providers[
                        provider]["streamtype"] in ("dvbc", "dvbt"):
                default_area = None
                if provider in providers_tmp_configs:
                    default_area = providers_tmp_configs[provider].getArea()
                self.providers_area[provider] = ConfigSelection(
                    default=default_area, choices=arealist)

        self.createSetup()
        self["pleasewait"].hide()
        self["actions"].setEnabled(True)