FHEM Forum

FHEM - Entwicklung => FHEM Development => Thema gestartet von: Johannes_B am 10 Januar 2015, 12:42:07

Titel: 57_Calendar - Unterstützung für gzip
Beitrag von: Johannes_B am 10 Januar 2015, 12:42:07
Hi,

bei mir hat das Kalender Modul in Verbindung mit iCloud nicht funktioniert und bin daher auf die Spurensuche gegangen.
Es scheint so, dass die Daten von iCloud komprimiert ankommen, und damit kommt das Modul nicht klar.
Da man von HttpUtils_BlockingGet leider keinen Header bekommt, kann man den Content-Type nicht direkt überprüfen, deswegen wäre meine Lösung "Try-and-Error".

Sicherlich kann man den Code noch schöner bauen, aber ich wollte jetzt eine pragmatische Lösung:

  if($#entries<0) {
    eval { require Compress::Zlib; };
    if($@) {
      Log3 $hash, 1, "Calendar " . $hash->{NAME} . ": Maybe gzip data, but cannot load Compress::Zlib";
    }
    else {
      $ics = Compress::Zlib::memGunzip($ics);
      $ical->parse(split("\n",$ics));
      @entries= @{$ical->{entries}};
    }
  };


Das Ganze kommt in Zeile 945.

Wäre schön, wenn das (oder was Vergleichbares) ins Repo kommt.


Gruß,

Johannes
Titel: Antw:57_Calendar - Unterstützung für gzip
Beitrag von: Dr. Boris Neubert am 10 Januar 2015, 14:28:40
Hallo,

bitte hänge einen Patch an.

svn diff 57_Calendar.pm > 57_Calendar.pm.patch

Dann teste ich das nochmal und checke es ein.

Danke
Boris
Titel: Antw:57_Calendar - Unterstützung für gzip
Beitrag von: Johannes_B am 10 Januar 2015, 14:35:10
Klar, gerne, anbei der Patch. :)


Gruß,

Johannes
Titel: Antw:57_Calendar - Unterstützung für gzip
Beitrag von: Dr. Boris Neubert am 10 Januar 2015, 21:20:47
eingecheckt
bn
Titel: Antw:57_Calendar - Unterstützung für gzip
Beitrag von: Johannes_B am 11 Januar 2015, 10:19:53
Super, danke! :)


Gruß,

Johannes