diff options
| author | Dimitar Petrovski <dimeptr@gmail.com> | 2012-10-16 12:37:32 +0200 | 
|---|---|---|
| committer | Dimitar Petrovski <dimeptr@gmail.com> | 2012-10-16 12:37:32 +0200 | 
| commit | d207fd0a5873a4a60488a8dc2eb0cf62c172069b (patch) | |
| tree | 3373cf2fda3a404f9849436228852c013314e4d5 | |
| parent | 14dbadc6e5865cf25440468727059febd06af212 (diff) | |
| download | vdr-plugin-eepg-d207fd0a5873a4a60488a8dc2eb0cf62c172069b.tar.gz vdr-plugin-eepg-d207fd0a5873a4a60488a8dc2eb0cf62c172069b.tar.bz2 | |
delete the event if it already exist. this should be rewritten
| -rw-r--r-- | epghandler.c | 19 | 
1 files changed, 19 insertions, 0 deletions
| diff --git a/epghandler.c b/epghandler.c index 44ee909..f8a6636 100644 --- a/epghandler.c +++ b/epghandler.c @@ -43,6 +43,25 @@ bool cEEpgHandler::HandleEitEvent(cSchedule* Schedule,      }    } +  //VDR creates new event if the EitEvent StartTime is different than EEPG time so  +  //the EEPG event has to be deleted but the data should be kept +  const cEvent* ev = Schedule->GetEvent(EitEvent->getEventId(),EitEvent->getStartTime()); +  if (!ev){ +      ev = Schedule->GetEvent(EitEvent->getEventId()); +      if (ev && ((ev->StartTime()>EitEvent->getStartTime() && ev->StartTime()<=EitEvent->getStartTime()+EitEvent->getDuration()) +          || (EitEvent->getStartTime() > ev->StartTime() && EitEvent->getStartTime() <= ev->EndTime()))) { +        LogD(0, prep("!!!Deleting Event id:%d title:%s start_time:%d new_start_time:%d duration:%d new_duration:%d"), ev->EventID(), ev->Title(), ev->StartTime(), EitEvent->getStartTime(), ev->Duration(), EitEvent->getDuration()); + +        if (ev->Description() && strcmp(ev->Description(),"") != 0) +          origDescription = ev->Description(); +        if (ev->ShortText() && strcmp(ev->ShortText(),"") != 0) +          origShortText = ev->ShortText(); +        Schedule->DropOutdated(ev->StartTime()-1,ev->EndTime()+1,ev->TableID()-1,ev->Version()); +        LogD(0, prep("!!!End Deleting Event")); +      } +  } + +    return false;    //	return true; | 
