Program telewizyjny z powiadamiaczem.
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, Pobieraj i Wybieraj.
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.
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 | D | G | Tytuł | | | Opis (Kategoria) |
---|
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. |
||
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 (Kategoria) | - | opcjonalny opis dla pozycji z ramówki, który dodatkowo może zawierać na końcu w nawiasie okrągłym kategorie określoną przez źródło do jakiej zalicza się dana pozycja, bądź sama kategoria w nawiasie bez opisu, ewentualnie sam opis. |
Pola: tytuł i opis (kategoria) muszą być oddzielone znakiem specialnym "|" i dla tego żadna z tych pozycji nie może zawierać w sobie tego znaku specjalnego.
Funkcja ta zwraca nazwy obsługiwanych kanałów oddzielonych za pomocą separatora którym jest znak "|".
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.
Funkcja ta pobiera kod źródłowy stron internetowych zawierających program telewizyjny do odpowiednich plików html, których nazwa składa się z daty w formacje yyyy-mm-dd (rok-miesiąc-dzień) i rozszerzenia html. Pliki te zapisywane są w katalogu głównym aplikacji w podfolderze Pobrane do odpowiednich podfolderów, którymi są nazwy kanałów.
Parametry wejściowe to: | ||
String Kanal | - | nazwa kanału dla którego ma być pobrany program telewizyjny. |
TDateTime Data | - | dzień dla którego ma być pobrany program telewizyjny (format: yyyy-mm-dd). |
Funkcja zwraca wartość typu int: | ||
0 | - | gdy operacja zakończyła się sukcesem. |
1 | - | gdy wystąpił błąd. |
Funkcja ta wyciąga program telewizyjny z pobranych plików za pomocą wcześniej opisanej funkcji Pobieraj i zapisuje go do odpowiednich plików ustawień.
Parametry wejściowe to: | ||
String Kanal | - | nazwa kanału dla którego ma być wyciągnięty program telewizyjny. |
TDateTime Data | - | dzień dla którego ma być wyciągnięty program telewizyjny (format: yyyy-mm-dd). |
Funkcja zwraca wartość typu int: | ||
0 | - | gdy operacja zakończyła się sukcesem. |
1 | - | gdy wystąpił błąd. |
Stronę tę odwiedziło 26358 użytkowników. |