19 сентября | 2024г. | 19:31:13

АвторТема: Ищу плагин...  (Прочитано 426969 раз)

0 Пользователей и 2 Гостей смотрят эту тему.

Оффлайн sety

  • Джедай Куратор
  • **
  • Сообщений: 4728
  • Поблагодарили: 18380
  • Уважение: +6
Ищу плагин...
« Ответ #315: 06 декабря | 2015г. | 15:40:44 »
0
ну если это не то , тогда хз что тебе надо
То что нужно :drinks: выложи плиз
  • ЕТ11000, VU+ DUO 4K & VU+ DUO4K SE Помните, ковчег построил любитель, профессионалы построили Титаник

Оффлайн mic71

  • Совет Джедаев
  • ****
  • Сообщений: 6523
  • Поблагодарили: 27301
  • Уважение: +152
Ищу плагин...
« Ответ #316: 06 декабря | 2015г. | 15:42:13 »
0
да это плишный с фида , я просто русик сделал и в окно скина вписал и на этом всё

P.S. если выкладывать то я уже не помню что там ещё надо , там либов куча подтягивается

Оффлайн Vasiliks

  • Джедай Куратор
  • **
  • Сообщений: 2335
  • Поблагодарили: 7102
  • Уважение: +57
Ищу плагин...
« Ответ #317: 06 декабря | 2015г. | 15:54:33 »
0
mic71, выкладывай что есть, меня тоже интересует.
  • Enigma2: GI-8120, GI ET7000mini, ET11000 - openPLI Develop
...Никогда не спорьте с идиотами. Вы опуститесь до их уровня, где они вас задавят своим опытом.

Оффлайн sety

  • Джедай Куратор
  • **
  • Сообщений: 4728
  • Поблагодарили: 18380
  • Уважение: +6
Ищу плагин...
« Ответ #318: 06 декабря | 2015г. | 15:55:43 »
0
да это плишный с фида
Нашел на фиде только этот
Спойлер   :
[ Гостям не разрешен просмотр вложений ]
  • ЕТ11000, VU+ DUO 4K & VU+ DUO4K SE Помните, ковчег построил любитель, профессионалы построили Титаник

Оффлайн mic71

  • Совет Джедаев
  • ****
  • Сообщений: 6523
  • Поблагодарили: 27301
  • Уважение: +152
Ищу плагин...
« Ответ #319: 06 декабря | 2015г. | 16:03:12 »
0
ну это он и есть , на если хочешь так качни , нашёл я пакет

Оффлайн Serge-worm

  • Джедай
  • ***
  • Сообщений: 233
  • Поблагодарили: 259
  • Уважение: 0
Ищу плагин...
« Ответ #320: 20 декабря | 2015г. | 12:13:55 »
0
Уважаемые друзья! Хочу обратится к вам с просьбой написания плагина.
Свой вклад в виде идеи  :lol: и возможного названия будущего плагина (SMAP GENERATOR) предоставляю как и вы безвозмездно! Тобиш даром!
Есть у собратьев наших меньших для комфортного просмотра ш@рика одна особенность, а именно нужен им файлик hsdata.cfg (с данными smap) для быстрого переключения каналов. Было бы не плохо генерировать такие файлы автоматически на ресиверах с E2 на борту.
Т.е. писать (при переключении канала) в файлик строчки вида:
Вам не разрешен просмотр кода. Войдите или Зарегистрируйтесь для просмотра.описание необходимых данных дано тут.

Заранее благодарю всех заинтересовавшихся гуру владеющих опытом написание подобного чуда!

Продолжение поста.
  • GI S8120 (Spark - ident error uninitiate, ушел на E2 - CrIs_AR-P_OE2.0_213_alien-git-30-05-14 + wicard 1.19); Tehnisat SkyStar USB HD (Ubuntu + VDR + Kodi + Wicard_1.19pre); Под опекой: GI HD mini plus.

Оффлайн sety

  • Джедай Куратор
  • **
  • Сообщений: 4728
  • Поблагодарили: 18380
  • Уважение: +6
Ищу плагин...
« Ответ #321: 20 декабря | 2015г. | 12:40:29 »
0
Serge-worm, не замечал что бы каналы переключались медленно, примерно так же как и ФТА, не совсем то что ты хочеш но для тех же целей ЗДЕСЬ
  • ЕТ11000, VU+ DUO 4K & VU+ DUO4K SE Помните, ковчег построил любитель, профессионалы построили Титаник

Оффлайн Serge-worm

  • Джедай
  • ***
  • Сообщений: 233
  • Поблагодарили: 259
  • Уважение: 0
Ищу плагин...
« Ответ #322: 20 декабря | 2015г. | 16:21:54 »
0
Serge-worm, не замечал что бы каналы переключались медленно, примерно так же как и ФТА, не совсем то что ты хочешь но для тех же целей ЗДЕСЬ
Когда залит SMAP, то так оно и есть (это я про: GI HD mini plus).
Написал автору, может поможет, но знаю что есть зубастые с хорошим знанием Пайтона, было бы здорово на самом ресивере замутить (без форточек).
  • GI S8120 (Spark - ident error uninitiate, ушел на E2 - CrIs_AR-P_OE2.0_213_alien-git-30-05-14 + wicard 1.19); Tehnisat SkyStar USB HD (Ubuntu + VDR + Kodi + Wicard_1.19pre); Под опекой: GI HD mini plus.

Оффлайн Igop

  • Джедай
  • ***
  • Сообщений: 206
  • Поблагодарили: 125
  • Уважение: -3
Ищу плагин...
« Ответ #323: 21 декабря | 2015г. | 18:50:53 »
0
 EX. ua

Оффлайн vaha555

  • Друзья Джедаев
  • *****
  • Сообщений: 1200
  • Поблагодарили: 1771
  • Уважение: +1
Ищу плагин...
« Ответ #324: 21 декабря | 2015г. | 19:06:08 »
0
Igop лови
  • AX 4K-BOX HD51 UHD DVB-S2 / DVB-S2X
Дорогу осилит идущий

Оффлайн sety

  • Джедай Куратор
  • **
  • Сообщений: 4728
  • Поблагодарили: 18380
  • Уважение: +6
Ищу плагин...
« Ответ #325: 21 декабря | 2015г. | 21:13:22 »
0
Igop, вот EX.UA лучшего не встречал
  • ЕТ11000, VU+ DUO 4K & VU+ DUO4K SE Помните, ковчег построил любитель, профессионалы построили Титаник

Оффлайн vikr71

  • Младший Джедай
  • **
  • Сообщений: 127
  • Поблагодарили: 53
  • Уважение: 0
Ищу плагин...
« Ответ #326: 22 декабря | 2015г. | 11:40:46 »
0
EX.UA лучшего не встречал
у нас неработает! :unknw:

Оффлайн Serge-worm

  • Джедай
  • ***
  • Сообщений: 233
  • Поблагодарили: 259
  • Уважение: 0
Ищу плагин...
« Ответ #327: 24 декабря | 2015г. | 20:21:45 »
0
В продолжение моего поста.
За основу можно взять плагин ReplaceGen.py
Спойлер   :
#!/usr/bin/env python
# -*- coding: windows-1251 -*-

# ReplaceGen.py - генератор файла replace.list
# для эмулятора mgcamd
# версия: 0.36

# =========================================================
# Адрес mgcamd - в его настройках в файле mg_cfg нужно
# указать такие-же параметры:  L: { 01 } 127.0.0.1 10514
sServerHost = "127.0.0.1"
nServerPort = 10514

# Адрес и порт компьютера, куда пересылать сообщения mgcamd
sClientHost = "192.168.1.2"
nClientPort = 514

# путь к файлу replace.list
sRL = "/usr/keys/replace.list"

# путь к файлу с названиями каналов
sLame = "/etc/enigma2/lamedb"

# Кодировка, в которой писать русскоязычные названия каналов
# возможные значения: UTF-8, UTF-16, ISO-8859-5, KOI8-R, CP1251, CP866, Mac-cyrillic
# для отключения перекодирования поставить UTF-8
sCoding = 'UTF-8'
# =========================================================

def cm_key( sLine ):
   ar = re.search( r"^(.+?)\#(.+)$", sLine )
   if ar: return ar.group( 2 ) + ar.group( 1 )
   else: return ''

from socket import *
import re
import os

nBufSize = 1024
aServerAddr = (sServerHost, nServerPort)
aClientAddr = (sClientHost, nClientPort)

# если уже запущена одна копия программы - убиваем её
sOldPid = None
nOldTime = None
for sp in os.listdir( '/proc' ):

   if not os.path.isdir( '/proc/' + sp ) or not re.search( r"^\d+$", sp ) or  not os.path.isfile( '/proc/' + sp + '/cmdline' ): continue
   sCmd = ''
   fh = open( '/proc/' + sp + '/cmdline', "r" )
   sCmd = fh.readline()
   fh.close()

   if sCmd.count( 'ReplaceGen' ):
      if nOldTime:
         if nOldTime > os.path.getctime( '/proc/' + sp ): sOldPid = sp
         try:
            os.kill( int( sOldPid ), 1 )
         except OSError:
            print 1
      else:
         nOldTime = os.path.getctime( '/proc/' + sp )
         sOldPid = sp

# Create socket and bind to address
UDPServerSock = socket(AF_INET,SOCK_DGRAM)
UDPServerSock.setsockopt( SOL_SOCKET, SO_REUSEADDR, 1 )
UDPServerSock.bind(aServerAddr)
UDPClientSock = socket(AF_INET,SOCK_DGRAM)

# Загружаем базу названий каналов
# 42d5:01680000:0011:0070:1:0
# TV-21
# p:HTB+,c:000153,c:0101a3,c:030153,C:0500,C:5601,f:40
aLame = []
if os.path.isfile( sLame ):
   fh = open( sLame, "r" )
   al = fh.readlines()
   fh.close()
   for n in range( len( al )):
      ar = re.search( r"^([0-9A-Fa-f]+):[0-9A-Fa-f]+:[0-9A-Fa-f]+:[0-9A-Fa-f]+:[0-9A-Fa-f]+:[0-9A-Fa-f]+", al[ n ])
      if not ar: continue

      sServ = ar.group( 1 )
      sServ = sServ.upper()
      while len( sServ ) < 4: sServ = '0' + sServ

      sName = al[ n + 1 ].strip()
      if sCoding != "UTF-8": sName = sName.encode( sCoding )

      sProv = ''
      ar = re.search( r"p:([^,]+).*$", al[ n + 2 ])
      if ar:
         sProv = '[' + ar.group( 1 ).strip() + '] '
         if sCoding != "UTF-8": sProv = sProv.encode( sCoding )

      aLame.append([ sServ, sProv, sName, al[ n + 2 ]])

# добавляем названия каналов к строчкам, где их нет
if os.path.isfile( sRL ):
   fh = open( sRL, "r" )
   aRL = fh.readlines()
   fh.close()

   for n in range( len( aRL )):
      aRL[ n ] = aRL[ n ].strip()
      if not aRL[ n ].count( '#' ):
         ar = re.search( r"R\:\s*\{\s*\{\s*([0-9A-Fa-f]+)\s*\}\s*\{\s*[0-9A-Fa-f]+\s*\}\s*\{\s*[0-9A-Fa-f]+\s*\}\s*\{\s*[0-9A-Fa-f]+\s*\}\s*\{\s*([0-9A-Fa-f]+)\s*\}", aRL[ n ])
         sServ = ''
         if ar:
            sServ = ar.group( 1 )
            while len( sServ ) < 4: sServ = '0' + sServ
            sCaID = ar.group( 2 )

         # в комментарии пишем название канала
         sComment = None
         for nl in range( len ( aLame )):
            if aLame[ nl ][ 0 ] != sServ: continue
            sComment = " \t # " + aLame[ nl ][ 1 ] + aLame[ nl ][ 2 ]
            if re.search( r"C:" + sCaID, aLame[ nl ][ 3 ].upper()): break
         if sComment:
            aRL[ n ] += sComment

   aRLold = aRL[:]
   aRL.sort( key = cm_key )
   if aRL != aRLold:
      bFirstLine = 1
      fh = open( sRL, "w" )
      for n in range( len( aRL )):
         if not len( aRL[ n ]): continue
         if not bFirstLine: fh.write( '\n' )
         fh.write( aRL[ n ])
         bFirstLine = 0
      fh.close()

sServiceID = None
aCaIDs = []
sCurCaID = None
sCurPID = None
sCurProvID = None
# Receive messages
while 1:
   sData,aServerAddr = UDPServerSock.recvfrom(nBufSize)
   if not sData: continue
   UDPClientSock.sendto( sData, aClientAddr )

   # [mg0] service 50EA index 0 pmt pid AB (17), pids: video 0x014D, audio  0x01A4
   if sData.count('] service '):
      # запоминаем код канала (serviceID)
      ar = re.search( r"\] service ([0-9A-Fa-f]+) index", sData )
      if ar:
         sServiceID = ar.group( 1 )
         sServiceID.upper()
         while len( sServiceID ) < 4: sServiceID = '0' + sServiceID

         aCaIDs = []
         sCurCaID = None
         sCurPID = None

   # [mg0] ECM: CaID: 0x0500  -> CaPID: 0x0FAE ProvID: 023700
   elif sData.count('] ECM: CaID: 0x'):
      # добавляем в массив новую строку с CaID, PID, ProvID
      ar = re.search( r"\]\s+ECM:\s+CaID\:\s+0x([0-9A-Fa-f]+)\s+-\>\s+CaPID\:\s+0x([0-9A-Fa-f]+) ProvID: ([0-9A-Fa-f]+)", sData )
      if ar:
         aCaIDs.append([ ar.group( 1 ), ar.group( 2 ), ar.group( 3 )])

         sCurCaID = None
         sCurPID = None

   # system: Viaccess\ncaid: 0x0500\npid: 0x0fae
   elif sData.count('\npid: 0x'):
      # получен правильный CaID и PID (для mgcamd 1.37)
      ar = re.search( r"\ncaid: 0x([0-9A-Fa-f]+)\npid: 0x([0-9A-Fa-f]+)", sData )
      if ar:
         sCurCaID = ar.group( 1 )
         sCurCaID = sCurCaID.upper()
         sCurPID = ar.group( 2 )
         sCurPID = sCurPID.upper()

   # ===== Viaccess ECM on CaID 0x0500, pid 0x0b58 ======
   elif sData.count(' ECM on CaID 0x'):
      # получен правильный CaID и PID (для mgcamd 1.35)
      ar = re.search( r"ECM on CaID 0x([0-9A-Fa-f]+), pid 0x([0-9A-Fa-f]+)", sData )
      if ar:
         sCurCaID = ar.group( 1 )
         sCurCaID = sCurCaID.upper()
         sCurPID = ar.group( 2 )
         sCurPID = sCurPID.upper()

   # prov: 023700
   elif sData.count('prov: '):
      # получен правильный ProvID
      ar = re.search( r"prov: ([0-9A-Fa-f]+)", sData )
      if ar: sCurProvID = ar.group( 1 )

      # если не было заголовка - нет всех данных, всё очищаем.
      if not sServiceID or not sCurCaID or sCurCaID == '2600':
         sServiceID = None
         aCaIDs = []
         sCurCaID = None
         sCurPID = None
         sCurProvID = None
         continue

      # читаем файл
      if os.path.isfile( sRL ):
         fh = open( sRL, "r" )
         aRL = fh.readlines()
         fh.close()
      else: aRL = []

      # вносим данные в replace.list
      # R: {{2F47}{0500}{023700}{0FA3}{0500}{030600}{0BBB}}
      for nc in range( len( aCaIDs )):
         sCaID = aCaIDs[ nc ][ 0 ]
         sPID = aCaIDs[ nc ][ 1 ]
         sProvID = aCaIDs[ nc ][ 2 ]

         if sPID.upper() == sCurPID: continue

         sRepl = 'R: {{' + sServiceID + '}{' + sCaID + '}{' + sProvID + '}{' + sPID + '}{' + sCurCaID + '}{' + sCurProvID + '}{' + sCurPID + '}}'

         aa = re.search( r'\{\s*\{\s*' + sServiceID + r'\s*\}\s*\{\s*' + sCaID + r'\s*\}\s*\{\s*' + sProvID + '\s*\}\s*\{\s*' + sPID + '\s*\}', '\n'.join( aRL ))
         if not aa:
            # в комментарии пишем название канала
            sComment = None
            for nl in range( len ( aLame )):
               if aLame[ nl ][ 0 ] != sServiceID: continue
               sComment = " \t # " + aLame[ nl ][ 1 ] + aLame[ nl ][ 2 ]
               if re.search( r"C:" + sCaID, aLame[ nl ][ 3 ].upper()): break
            if sComment:
               sRepl += sComment

            fh = open( sRL, "a" )
            fh.write( '\n' + sRepl )
            fh.close()

      # очищаем все IDы
      sServiceID = None
      aCaIDs = []
      sCurCaID = None
      sCurPID = None
      sCurProvID = None

# Close socket
UDPServerSock.close()
Его надо подкорректировать и все должно работать. Большая часть уже написана (насколько я понял автор Nomad), т.к.:
-  частота транспондера содержится в томже lamdb из которого берется и наименование канала
Спойлер   :
transponders
01680000:0001:0070
   s 12322000:27500000:3:3:360:2:0
и соответственно для примера:
Спойлер   :
2776:01680000:0001:0070:1:0
ФУТБОЛ 1 НТВ-ПЛЮС
p:HTB+,C:0500
Есть идеи?  :help:
  • GI S8120 (Spark - ident error uninitiate, ушел на E2 - CrIs_AR-P_OE2.0_213_alien-git-30-05-14 + wicard 1.19); Tehnisat SkyStar USB HD (Ubuntu + VDR + Kodi + Wicard_1.19pre); Под опекой: GI HD mini plus.

Оффлайн spiteful

  • Падаван
  • *
  • Сообщений: 48
  • Поблагодарили: 2
  • Уважение: 0
Ищу плагин...
« Ответ #328: 11 января | 2016г. | 19:12:32 »
0
добрый вечер
подскажите...а есть такой плагин чтоб можно было набрать частоту транспордера и видеть какие каналы от сканированы?

Оффлайн valiand

  • Джедай
  • ***
  • Сообщений: 218
  • Поблагодарили: 230
  • Уважение: +1
Ищу плагин...
« Ответ #329: 11 января | 2016г. | 19:25:34 »
0

Теги:
 

Похожие темы

  Тема / Автор Ответов Последний ответ
0 Ответов
4283 Просмотров
Последний ответ 09 июля | 2018г. | 11:03:00
от Serjoga
0 Ответов
3584 Просмотров
Последний ответ 10 июля | 2018г. | 16:40:10
от сергей 999s
44 Ответов
23310 Просмотров
Последний ответ 03 января | 2020г. | 13:24:27
от Ser6
1 Ответов
3199 Просмотров
Последний ответ 08 ноября | 2018г. | 02:38:25
от mic71
14 Ответов
7319 Просмотров
Последний ответ 07 июля | 2024г. | 22:22:37
от сергей 999s


X

Добро пожаловать!

Мы заметили, что у Вас установлено расширение AdBlock или ему подобное. Пожалуйста добавьте наш Клуб в белый список, внесите этим посильную лепту в его развитие. Спасибо!