Strona główna

Program TV

Program telewizyjny z powiadamiaczem. 


Pisanie nowych wtyczek źródeł pobierania w wersji 3

Zadaniem wtyczek źródeł pobierania jest dostarczenie programu telewizyjnego do aplikacji. Polega to na tym, że aplikacja wysyła do wtyczki żądanie pobrania programu telewizyjnego dla określonego kanału i dnia, a następnie wtyczka pobiera kod źródłowy strony internetowej zawierający dany program telewizyjny, z którego to wyciąga potrzebne informacje, poddaje je dodatkowej obróbce i zapisuje je do plików w folderze ustawień aplikacji w formacje akceptowanym przez aplikację.

Wtyczki źródeł pobierania są to biblioteki dll, które znajdują się w podfolderze Źródła w katalogu głównym aplikacji Program TV. Nazwy tych plików składają się z adresu internetowego (z którego pobierany jest program telewizyjny bez przedrostka typu http:// i katalogów podrzędnych, oraz wszystkie kropki zamienia się na podkreślenia) i rozrzerzenia dll. Biblioteki te muszą udostępniać trzy funkcje; Kanaly, Info i Pobierz. Dodatkowo biblioteki mogą również opcjonalnie udostępniać dwie funkcje; Opcje i Logo.


Listy kanałów

Dla wtyczek pobierających program telewizyjny ze stron internetowych oferujących program telewizyjny dla dużej liczby kanałów może istnieć dodatkowy plik znajdujący się obok pliku wtyczki, o takiej samej nazwie ale z rozszerzeniem txt. Plik ten zawiera listę kanałów, co umożliwia dodanie nowych kanałów, które dana wtyczka może obsługiwać, bez konieczności pisania nowej wtyczki.

Wpisy kanałów, w pliku listy kanałów, zaczynają się od czwartego wiersza i zbudowane są z nazw kanałów i adresów internetowych pod którymi znajduje się program telewizyjny dla danego kanału, połączonych znakiem równości w postaci:

Kanał = Adres

Ponieważ nazwy kanałów wykorzystywane są przez aplikację do tworzenia folderów, to nazwy te nie mogą zawierać znaków specjalnych zastrzeżonych przez system Windows.

Pierwszy i trzeci wiersz, w pliku listy kanałów, to komentarze, natomiast drugi wiersz to numer wersji listy kanałów i jest on w postaci:

Wersja:   x

gdzie x to numer wersji listy kanałów.

Dodatkowo jeżeli wtyczka obsługuje liste kanałów to wtyczka musi zwracać flagę Lista przez funkcję Info.


Lokalizacja plików z programem telewizyjnym

Program telewizyjny przechowywany jest przez aplikację w katalogu głównym aplikacji w podfolderze Ustawienia, który z kolei zawiera kolejne podfoldery, których nazwy są nazwami kanałów. Podfoldery kanałów zawierają pliki tekstowe z programem telewizyjnym dla określonego dnia emisji, a ich nazwa składa się z daty emisji w formacie yyyy-mm-dd (rok-miesiąc-dzień) i rozszerzenia txt. Przy czym podział na daty emisji zgodny jest z ogólnie przyjętą zasadom stosowaną w świecie telewizji, czyli program telewizyjny dla danego dnia najczęściej zahacza o dzień następny - dzień rozpoczyna się nie od godziny 00:00 lecz od wczesnych godzin porannych i może być inny dla różnych kanałów. Tak więc program telewizyjny został rozdzielony na kanały za pomocą folderów i dodatkowo na dni emisji za pomocą plików.


Budowa plików przechowujących program telewizyjny

W plikach tych, każda linia reprezentuje kolejną pozycję z ramówki programu telewizyjnego dla danego kanału i daty emisji, a format tych wpisów jest następujący:

Z   H   D   G   Tytuł | Opis | Kategoria | Obrazek
gdzie:
 
- pola obowiązkowe.
 
- pola opcjonalne.
 
Z - stan zaznaczenia do przypomnienia (0 - brak zaznaczenia, 1 - zaznaczono do przypomnienia).
Wartość określana przez wtyczkę na podstawie filtrów ulubionych i wyjątków. Najpierw pole tytułu przeszukuje się na obecność fraz ulubionych i jeżeli nic nie znaleziono to ustawia się stan 0, a jeżeli znaleziono, to dodatkowo przeszukuje się na obecność fraz wyjątków. Jeżeli znaleziono jakąś frazę wyjątków, to ustawia się stan 0, a jeżeli nie to stan 1. Dodatkowo jeżeli wtyczka obsługuje polecane hity i włączona jest opcja "Dodaj do powiadomień polecane hity" ([Ustawienia] Hit=1), a dana pozycja jest hitem, to przeszukuje się pole tytułu na obecność fraz wyjątków i jeżeli nic nie znaleziono to ustawia się stan 1, a jeżeli coś znaleziono to ustawia się stan 0.
H - oznaczenie hitu (0 - normalna pozycja, 1 - polecana pozycja do obejrzenia).
Jeżeli wtyczka nie obsługuje polecanych hitów lub jeżeli je obsługuje, ale jest to normalna pozycja z ramówki, to ustawia się stan 0, a jeżeli jest to pozycja polecana do obejrzenia to ustawia się stan 1. Jeżeli wtyczka obsługuje polecane hity to musi zwracać flagę Hity przez funkcję Info. Dodatkowo jeżeli włączona jest opcja "Dodaj do powiadomień polecane hity" ([Ustawienia] Hit=1), a dana pozycja jest hitem, to przeszukuje się pole tytułu na obecność fraz wyjątków i jeżeli nic nie znaleziono to ustawia się stan 1 dla pola Z.
D - rzeczywista data emisji w formacje yyyy-mm-dd (rok-miesiąc-dzień).
G - godzina emisji w formacje hh:nn (godzina:minuta).
Tytuł - tytuł pozycji z ramówki.
Opis - dodatkowy opis dla pozycji z ramówki.
Jeżeli wtyczka obsługuje opisy to musi zwracać flagę Opisy przez funkcję Info.
Kategoria - kategoria do jakiej zalicza się dana pozycja z ramówki (jest to kategoria określona przez źródło a nie przez użytkownika).
Jeżeli wtyczka obsługuje kategorie to musi zwracać flagę Kategorie przez funkcję Info.
Obrazek - nazwa pliku obrazka z bazy obrazków, wyświetlanego w opisach.
Jeżeli wtyczka obsługuje obrazki to musi zwracać flagę Obrazki przez funkcję Info.

Pola: tytuł, opis, kategoria i obrazek muszą być oddzielone znakiem specialnym "|" i dla tego żadna z tych pozycji nie może zawierać w sobie tego znaku specjalnego.

Pola: opis, kategoria i obrazek są polami opcjonalnymi. Jeżeli któreś z tych pól nie występuje, to wówczas nie wprowadza się żadnych danych do danego pola zachowując jednak liczbę separatorów i pozycję pozostałych pól.


Baza obrazków

Baza obrazków wykorzystywanych w opisach programów składa się z folderu Obrazki, w którym przechowywane są pliki obrazków i pliku Obrazki.txt zlokalizowanych w katalogu głównym aplikacji. Plik Obrazki.txt zawiera szczegółowe informacje na temat obrazków w postaci:

Stan   Data   Plik   Adres
gdzie:
Stan - stan pobrania obrazka (0 - obrazek jeszcze nie został pobrany, 1 - obrazek został już pobrany do folderu Obrazki).
Data - data dodania lub modyfikacji danego wpisu w formacje yyyy-mm-dd (rok-miesiąc-dzień).
Data ta jest wykorzystywana przez aplikację do usuwania starych obrazków, które nie były użyte w programie telewizyjnym przez miesiąc. Więc jeżeli dany obrazek zostaje ponownie użyty w nowo pobieranym programie telewizyjnym to należy zaktualizować właśnie tę datę do aktualnej daty aby przedłużyć jego ważność istnienia o kolejny miesiąc.
Plik - nazwa pliku obrazka pod jaką jest lub będzie przechowywany obrazek w folderze Obrazki.
Nazwa ta składa się z unikalnego numeru i rozszerzenia obrazka. Unikalny numer został zbudowany z daty dodania w formacje yyyymmdd i dla danej daty zwiększanego od zera numeru.
Adres - adres internetowy obrazka z którego został bądź zostanie pobrany obrazek.
Adres ten wykorzystuje się do ustalenia czy dany obrazek został już dodany do bazy obrazków dla nowo pobieranego programu telewizyjnego.

Pobieraniem obrazków zajmuje się aplikacja, natomiast wtyczka ma jedynie dodawać odpowiednie wpisy do pliku Obrazki.txt.


Funkcje udostępniane przez wtyczki

Każda wtyczka musi udostępniać aplikacji następujące funkcje:

Dodatkowo wtyczka może udostępniać aplikacji następujące funkcje:


Stronę tę odwiedziło 2000 użytkowników.
Całkowita liczba odwiedzin serwisu to 5591 użytkowników i 34704 robotów.