Compare commits

..

11 commits

Author SHA1 Message Date
Martin Gansser
569eff3b32 Merge branch 'master' into f31 2020-09-22 21:25:54 +02:00
Martin Gansser
5ac1e69d72 Merge branch 'master' into f31 2020-08-19 09:05:25 +02:00
Martin Gansser
051f2eecde Merge branch 'master' into f31 2020-08-18 10:03:33 +02:00
Martin Gansser
a95023039b Merge branch 'master' into f31 2020-08-17 08:27:25 +02:00
Martin Gansser
1e4348bd54 Merge branch 'master' into f31 2020-03-23 08:54:57 +01:00
Martin Gansser
a4f3901f3e Merge branch 'master' into f31 2020-03-13 11:12:49 +01:00
Martin Gansser
93fd4986a6 Merge branch 'master' into f31 2020-03-01 11:44:05 +01:00
Martin Gansser
7efaced7ad Merge branch 'master' into f31 2020-02-24 21:14:46 +01:00
Martin Gansser
1ecff6fc20 Merge branch 'master' into f31 2020-02-18 10:41:05 +01:00
Martin Gansser
4c5635ec96 Merge branch 'master' into f31 2020-02-16 10:40:53 +01:00
Martin Gansser
34bc145011 Update to 1.1.106 2019-12-24 10:43:14 +01:00
5 changed files with 21 additions and 377 deletions

13
.gitignore vendored
View file

@ -88,16 +88,3 @@
/vdr-plugin-epg2vdr-1.1.116.tar.bz2
/vdr-plugin-epg2vdr-1.1.117.tar.bz2
/vdr-plugin-epg2vdr-1.1.118.tar.bz2
/vdr-plugin-epg2vdr-1.2.0.tar.bz2
/vdr-plugin-epg2vdr-1.2.3.tar.bz2
/vdr-plugin-epg2vdr-1.2.5.tar.bz2
/vdr-plugin-epg2vdr-1.2.6.tar.bz2
/vdr-plugin-epg2vdr-1.2.7.tar.bz2
/vdr-epg2vdr-1.2.8.tar.gz
/vdr-epg2vdr-1.2.9.tar.gz
/vdr-epg2vdr-1.2.12.tar.gz
/vdr-epg2vdr-1.2.13.tar.gz
/vdr-epg2vdr-1.2.14.tar.gz
/vdr-epg2vdr-1.2.15.tar.gz
/vdr-epg2vdr-1.2.16.tar.gz
/vdr-epg2vdr-1.2.17.tar.gz

View file

@ -1 +1 @@
SHA512 (vdr-epg2vdr-1.2.17.tar.gz) = 56c56cc0b46584e4e326779ab3b685f11eca1f9492e9209bc9e7d85897b3aaf44010bc37d0558a78ae64d0d4e6795a58bdb2074a06e5f196ee2d4aac170c79eb
SHA512 (vdr-plugin-epg2vdr-1.1.118.tar.bz2) = e6b5f55fdadce2b58b6e4bb156d7d474e306f1091cddbc8a23ad64e6d73c7dc6a9fb0fbe8c3c54f4f35a46cc96f68321078a44b3b7769c8a8c5de22b71deacf8

10
vdr-epg2vdr-epg.patch Normal file
View file

@ -0,0 +1,10 @@
--- vdr-plugin-epg2vdr-1.1.115/lib/common.c.old 2020-08-17 08:18:50.747982757 +0200
+++ vdr-plugin-epg2vdr-1.1.115/lib/common.c 2020-08-17 08:20:25.802976151 +0200
@@ -379,6 +379,7 @@
toUpper(pattern);
removeWord(pattern, " TEIL ");
+ removeWord(pattern, "(TEIL ");
removeWord(pattern, " FOLGE ");
removeCharsExcept(pattern, notignore);
}

View file

@ -1,27 +1,13 @@
# Set vdr_version based on Fedora version
# Default
%global vdr_version 2.7.7
%if 0%{?fedora} == 43
%global vdr_version 2.7.7
%elif 0%{?fedora} == 44
%global vdr_version 2.8.1
%elif 0%{?fedora} > 44
%global vdr_version 2.8.2
%endif
Name: vdr-epg2vdr
Version: 1.2.17
Release: 17%{?dist}
Version: 1.1.118
Release: 1%{?dist}
Summary: A plugin to retrieve EPG data from a mysql database into VDR
License: GPL-1.0-or-later
URL: https://github.com/horchi/vdr-plugin-epg2vdr
Source0: %url/archive/refs/tags/%{version}.tar.gz#/%{name}-%{version}.tar.gz
License: GPL+
URL: http://projects.vdr-developer.org/git/vdr-plugin-epg2vdr.git
Source0: https://projects.vdr-developer.org/git/vdr-plugin-epg2vdr.git/snapshot/vdr-plugin-epg2vdr-%{version}.tar.bz2
BuildRequires: make
BuildRequires: gcc-c++
BuildRequires: gettext
BuildRequires: sqlite-devel
BuildRequires: openssl-devel
BuildRequires: mariadb-connector-c-devel
@ -32,8 +18,12 @@ BuildRequires: libxml2-devel
BuildRequires: tinyxml2-devel
BuildRequires: libjpeg-turbo-devel
BuildRequires: imlib2-devel
BuildRequires: vdr-devel >= %{vdr_version}
BuildRequires: vdr-devel >= 1.7.36
%if 0%{?fedora} <= 30
BuildRequires: python2-devel
%else
BuildRequires: python3-devel
%endif
BuildRequires: jansson-devel
BuildRequires: libarchive-devel
Requires: vdr(abi)%{?_isa} = %{vdr_apiversion}
@ -68,189 +58,6 @@ chmod 0755 %{buildroot}/%{vdr_plugindir}/libvdr-*.so.%{vdr_apiversion}
%{vdr_plugindir}/libvdr-*.so.%{vdr_apiversion}
%changelog
* Wed Jul 22 2026 Python Maint <python-maint@redhat.com> - 1.2.17-17
- Rebuilt for Python 3.15.0b4 ABI change
* Fri Jul 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.17-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
* Sat Jun 13 2026 Yaakov Selkowitz <yselkowi@redhat.com> - 1.2.17-15
- Rebuilt for openssl 4.0
* Wed Jun 03 2026 Python Maint <python-maint@redhat.com> - 1.2.17-14
- Rebuilt for Python 3.15
* Wed Jun 03 2026 Martin Gansser <martinkg@fedoraproject.org> - 1.2.17-13
- Rebuilt for new VDR 2.8.2 API version 13
* Mon Mar 23 2026 Martin Gansser <martinkg@fedoraproject.org> - 1.2.17-12
- Rebuilt for new VDR 2.8.1 API version 12
* Mon Feb 09 2026 Martin Gansser <martinkg@fedoraproject.org> - 1.2.17-11
- Rebuilt for new VDR API version 2.7.9
* Mon Jan 26 2026 Martin Gansser <martinkg@fedoraproject.org> - 1.2.17-10
- Rebuilt for new VDR API version 2.7.8
* Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.17-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Sat Aug 23 2025 Benjamin A. Beasley <code@musicinmybrain.net> - 1.2.17-8
- Rebuilt for tinyxml2 11.0.0
* Fri Jul 25 2025 Martin Gansser <martinkg@fedoraproject.org> - 1.2.17-7
- Rebuilt for new VDR API version 2.7.7
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.17-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Sat Jun 21 2025 Martin Gansser <martinkg@fedoraproject.org> - 1.2.17-5
- Rebuilt for new VDR API version 2.7.6
* Mon Jun 02 2025 Python Maint <python-maint@redhat.com> - 1.2.17-4
- Rebuilt for Python 3.14
* Tue May 27 2025 Martin Gansser <martinkg@fedoraproject.org> - 1.2.17-3
- Rebuilt for new VDR API version 2.7.5
* Fri Feb 28 2025 Martin Gansser <martinkg@fedoraproject.org> - 1.2.17-2
- Rebuilt for new VDR API version 2.7.4
* Tue Feb 18 2025 Martin Gansser <martinkg@fedoraproject.org> - 1.2.17-1
- Update to 1.2.17
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.16-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Mon Nov 11 2024 Dominik Mierzejewski <dominik@greysector.net> - 1.2.16-11
- rebuild for tinyxml2
* Tue Oct 22 2024 Richard W.M. Jones <rjones@redhat.com> - 1.2.16-10
- Rebuild for Jansson 2.14
(https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/3PYINSQGKQ4BB25NQUI2A2UCGGLAG5ND/)
* Wed Oct 09 2024 Martin Gansser <martinkg@fedoraproject.org> - 1.2.16-9
- Rebuilt for new VDR API version 2.7.2
- Add %%{name}-EventID.diff for vdr 2.7.x
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.16-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Mon Jul 15 2024 Martin Gansser <martinkg@fedoraproject.org> - 1.2.16-7
- Rebuilt for new VDR API version 2.6.9
* Thu Jul 11 2024 Martin Gansser <martinkg@fedoraproject.org> - 1.2.16-6
- Rebuilt for new VDR API version 2.6.8
* Mon Jun 17 2024 Miroslav Suchý <msuchy@redhat.com> - 1.2.16-5
- convert license to SPDX
* Fri Jun 07 2024 Python Maint <python-maint@redhat.com> - 1.2.16-4
- Rebuilt for Python 3.13
* Fri Apr 12 2024 Martin Gansser <martinkg@fedoraproject.org> - 1.2.16-3
- Rebuilt for new VDR API version
* Fri Jan 26 2024 Martin Gansser <martinkg@fedoraproject.org> - 1.2.16-2
- Rebuilt for new VDR API version
* Sun Jan 21 2024 Martin Gansser <martinkg@fedoraproject.org> - 1.2.16-1
- Update to 1.2.16
* Fri Jan 05 2024 Martin Gansser <martinkg@fedoraproject.org> - 1.2.15-2
- Rebuilt for new VDR API versionA
- Add BR gettext for rawhide
* Tue Oct 17 2023 Martin Gansser <martinkg@fedoraproject.org> - 1.2.15-1
- Update to 1.2.15
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.14-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue Jun 13 2023 Python Maint <python-maint@redhat.com> - 1.2.14-2
- Rebuilt for Python 3.12
* Wed Feb 15 2023 Martin Gansser <martinkg@fedoraproject.org> - 1.2.14-1
- Update to 1.2.14
* Sun Feb 12 2023 Martin Gansser <martinkg@fedoraproject.org> - 1.2.13-1
- Update to 1.2.13
* Wed Jan 25 2023 Martin Gansser <martinkg@fedoraproject.org> - 1.2.12-1
- Update to 1.2.12
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.9-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Sat Dec 24 2022 Martin Gansser <martinkg@fedoraproject.org> - 1.2.9-1
- Update to 1.2.9
- Add vps.epg2vdr.patch
* Wed Dec 14 2022 Martin Gansser <martinkg@fedoraproject.org> - 1.2.8-4
- Rebuilt for new VDR API version
* Thu Dec 01 2022 Martin Gansser <martinkg@fedoraproject.org> - 1.2.8-3
- Rebuilt for new VDR API version
* Sun Sep 25 2022 Rich Mattes <richmattes@gmail.com> - 1.2.8-2
- Rebuild for tinyxml2-9.0.0
* Thu Aug 04 2022 Martin Gansser <martinkg@fedoraproject.org> - 1.2.8-1
- Update to new github address
- Update to 1.2.8
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.7-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 1.2.7-2
- Rebuilt for Python 3.11
* Sat Apr 30 2022 Martin Gansser <martinkg@fedoraproject.org> - 1.2.7-1
- Update to 1.2.7
* Sat Feb 12 2022 Martin Gansser <martinkg@fedoraproject.org> - 1.2.6-1
- Update to 1.2.6
* Fri Feb 04 2022 Martin Gansser <martinkg@fedoraproject.org> - 1.2.5-4
- Rebuilt for new VDR API version
* Fri Jan 28 2022 Martin Gansser <martinkg@fedoraproject.org> - 1.2.5-3
- Changing python to python3 in Make.config
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Tue Jan 04 2022 Martin Gansser <martinkg@fedoraproject.org> - 1.2.5-1
- Update to 1.2.5
* Mon Jan 03 2022 Martin Gansser <martinkg@fedoraproject.org> - 1.2.3-1
- Update to 1.2.3
* Fri Dec 31 2021 Martin Gansser <martinkg@fedoraproject.org> - 1.2.0-1
- Update to 1.2.0
* Thu Dec 30 2021 Martin Gansser <martinkg@fedoraproject.org> - 1.1.118-8
- Rebuilt for new VDR API version
- Add vdr-epg2vdr-2.5.4.patch
* Tue Sep 14 2021 Sahana Prasad <sahana@redhat.com> - 1.1.118-7
- Rebuilt with OpenSSL 3.0.0
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.118-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Wed Apr 28 2021 Martin Gansser <martinkg@fedoraproject.org> - 1.1.118-5
- Rebuilt for new VDR API version
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.118-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Sun Jan 03 2021 Martin Gansser <martinkg@fedoraproject.org> - 1.1.118-3
- Rebuilt for new VDR API version
* Wed Oct 21 2020 Martin Gansser <martinkg@fedoraproject.org> - 1.1.118-2
- Rebuilt for new VDR API version
* Tue Sep 22 2020 Martin Gansser <martinkg@fedoraproject.org> - 1.1.118-1
- Update to 1.1.118

View file

@ -1,160 +0,0 @@
Index: vdr-plugin-epg2vdr-1.2.9/handler.h
===================================================================
--- vdr-plugin-epg2vdr-1.2.9.orig/handler.h 2022-12-22 09:02:41.104757343 +0100
+++ vdr-plugin-epg2vdr-1.2.9/handler.h 2022-12-24 11:45:58.543278919 +0100
@@ -409,6 +409,7 @@
virtual bool HandledExternally(const cChannel* Channel)
{
+ handledByUs = false;
static int reportFirst = yes;
LogDuration l("HandledExternally", 5);
@@ -430,8 +431,10 @@
// dbConnected() here okay -> if not connected we return false an the vdr will handle the event?!?
- if (dbConnected() && getExternalIdOfChannel(&channelId) != "")
+ if (dbConnected() && getExternalIdOfChannel(&channelId) != "") {
+ handledByUs = true;
return true;
+ }
return false;
}
@@ -453,6 +456,53 @@
}
//***************************************************************************
+ // SetEventID
+ //***************************************************************************
+
+ virtual bool SetEventID(cEvent *Event, tEventID EventID) {
+// do we handle this channel?
+ if (!handledByUs) return false;
+ return true;
+// our use IDs don't change
+/*
+
+ eventsDb->clear();
+ eventsDb->setValue("CHANNELID", channelId.ToString());
+ eventsDb->setBigintValue("EVENTID", (long)EventID);
+
+ if (eventsDb->find()) {
+ tEventID useID = eventsDb->getIntValue("USEID");
+ Event->SetEventID(useID);
+ return true;
+ }
+ return false;
+*/
+ }
+
+ //***************************************************************************
+ // Get event
+ //***************************************************************************
+
+ virtual bool GetEvent(cEvent **event, const cChannel *channel, const cSchedule *schedule, const SI::EIT::Event *siEitEvent, uchar tableID) {
+// do we handle this channel?
+ if (!handledByUs) return false;
+ *event = NULL;
+
+ if (tableID == 0x4E || (tableID & 0xF0) == 0x50) {
+ eventsDb->clear();
+ eventsDb->setValue("CHANNELID", channelId.ToString());
+ eventsDb->setBigintValue("EVENTID", (long)siEitEvent->getEventId());
+
+ if (eventsDb->find()) {
+ tEventID useID = eventsDb->getIntValue("USEID");
+ *event = const_cast<cEvent *>(schedule->GetEventById(useID));
+ }
+ } else
+ *event = const_cast<cEvent *>(schedule->GetEventByTime(siEitEvent->getStartTime() ));
+ return true;
+ }
+
+ //***************************************************************************
// Is Update
//***************************************************************************
@@ -746,7 +796,7 @@
selectEventByStarttime->freeResult();
- return true;
+ return false; // so other plugins can still get the event
}
//***************************************************************************
@@ -876,6 +926,7 @@
std::map<std::string,MemMap> evtMemList;
std::map<std::string,std::string> externIdMap;
tChannelID channelId;
+ bool handledByUs; // == EpgHandlers.HandledExternally(Channel);
int initialized;
cDbConnection* connection;
@@ -980,6 +1031,18 @@
return false;
}
+ virtual bool SetEventID(cEvent *Event, tEventID EventID)
+ {
+ cEpgHandlerInstance* h = getHandler();
+ return h->SetEventID(Event, EventID);
+ }
+
+ virtual bool GetEvent(cEvent **event, const cChannel *channel, const cSchedule *schedule, const SI::EIT::Event *siEitEvent, uchar tableID)
+ {
+ cEpgHandlerInstance* h = getHandler();
+ return h->GetEvent(event, channel, schedule, siEitEvent, tableID);
+ }
+
virtual bool IsUpdate(tEventID EventID, time_t StartTime, uchar TableID, uchar Version)
{
Index: vdr-plugin-epg2vdr-1.2.9/update.c
===================================================================
--- vdr-plugin-epg2vdr-1.2.9.orig/update.c 2022-12-22 07:32:05.000000000 +0100
+++ vdr-plugin-epg2vdr-1.2.9/update.c 2022-12-22 09:51:26.419974590 +0100
@@ -1431,6 +1431,18 @@
}
//***************************************************************************
+// Return true if any timer is in VPS margin
+//***************************************************************************
+
+bool timerInVpsMargin()
+{
+ LOCK_TIMERS_WRITE;
+ for (cTimer* timer = Timers->First(); timer; timer = Timers->Next(timer))
+ if (timer->InVpsMargin() ) return true;
+ return false;
+}
+
+//***************************************************************************
// Clear Epg
//***************************************************************************
@@ -1520,6 +1532,10 @@
if (fullreload)
{
tell(1, "Removing all events from epg");
+ if (timerInVpsMargin() ) {
+ tell(1, "Abort, as there is a timer in VPS margin");
+ return fail;
+ }
clearEpg();
@@ -1665,8 +1681,10 @@
}
}
- if (timer)
+ if (timer) {
+ if (timer->InVpsMargin() ) continue; // ignore events in vps margin, especially don't set the timer to no event.
timer->SetEvent(0);
+ }
s->DelEvent((cEvent*)event);
}