From 6fb34109c1c6cf4bdb944c731f3ae099e414d3c9 Mon Sep 17 00:00:00 2001 From: danoloan10 Date: Tue, 28 Feb 2023 00:25:10 +0100 Subject: [PATCH] [PicaroBridge] Add new bridge MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ICS bridge for concerts in Sala Pícaro, Toledo --- bridges/PicaroBridge.php | 60 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 bridges/PicaroBridge.php diff --git a/bridges/PicaroBridge.php b/bridges/PicaroBridge.php new file mode 100644 index 00000000..a2765188 --- /dev/null +++ b/bridges/PicaroBridge.php @@ -0,0 +1,60 @@ +find('.mec-start-date-label', 0); + $event_time = $node->find('.mec-start-time', 0); + $event_title = $node->find('.mec-event-title', 0); + + $date = $event_date->innertext . ' ' . strftime("%Y"); + $time = $event_time->innertext; + $title = $event_title->find('a', 0)->innertext; + $link = $event_title->find('a', 0)->href; + + $date = str_replace("enero", "january", $date); + $date = str_replace("febrero", "february", $date); + $date = str_replace("marzo", "march", $date); + $date = str_replace("abril", "april", $date); + $date = str_replace("mayo", "may", $date); + $date = str_replace("junio", "june", $date); + $date = str_replace("julio", "july", $date); + $date = str_replace("agosto", "august", $date); + $date = str_replace("septiembre", "september", $date); + $date = str_replace("octubre", "october", $date); + $date = str_replace("noviembre", "november", $date); + $date = str_replace("diciembre", "december", $date); + + $event = new \Event(); + $event->timezone = "Europe/Madrid"; + $event->uid = $link; + $event->stamp = time(); + $event->start = strtotime($date) + strtotime($time, 0); + $event->end = $event->start + 3600*2; + $event->summary = $title; + $event->fill = false; + + return $event; + } + + private function getEventItems() : array { + $page = 0; + $events = array(); + $html = getSimpleHTMLDOM(self::URI); + foreach ($html->find('.mec-event-article') as $node) { + $event = $this->eventToItem($node); + $events[] = $event; + } + return $events; + } + + public function collectData() { + $this->events = array_merge($this->items, $this->getEventItems()); + } +}