FHEM Forum

FHEM => Frontends => TabletUI => Thema gestartet von: Ulm32b am 12 November 2017, 13:10:06

Titel: RegEx im Image-Widget
Beitrag von: Ulm32b am 12 November 2017, 13:10:06
das rss der Frankfurter Verallgemeinerten liefert u.a. das Reading n03_description:

<img width=190 height=107 border=0 title=",,Die Freiheit hat die Offensive ergriffen": Arthur Koestler 1950 auf dem ,,Kongress für kulturelle Freiheit" in Berlin " alt=",,Die Freiheit hat die Offensive ergriffen": Arthur Koestler 1950 auf dem ,,Kongress für kulturelle Freiheit" in Berlin " src=http://media0.faz.net/ppmedia/aktuell/feuilleton/1858496859/1.5288132/article_teaser/die-freiheit-hat-die-offensive.jpg /><p>In den fünfziger Jahren nahm die CIA konspirativ Einfluss auf die Kultur und die Ideen des Westens. Eine Berliner Ausstellung fragt, was daraus für die heutigen Systemkämpfe folgt.</p>

Hervorgehoben habe ich im vorstehenden Reading den Ausschnitt, welchen .*(http.*.jpg).* lt. https://regex101.com/ (https://regex101.com/) filtert.

Wie muss jetzt
<div data-type="image" data-device="rssFAZ" data-path="XXX" data-get="YYY"></div>
genau lauten, damit das Bild angezeigt wird (data-suffix brauchen wir hier nicht, weil es vom Filter mitgeliefert wird)?
Titel: Antw:RegEx im Image-Widget
Beitrag von: setstate am 12 November 2017, 13:50:42
Mit data-part oder data-substitution

            <li data-row="5" data-col="4" data-sizey="3" data-sizex="6">
                <header>URL fromreading with part</header>
                <div data-type="image" data-device="ftuitest" data-part=".*(http.*.jpg).*" data-get="imgurl"></div>
            </li>
            <li data-row="5" data-col="10" data-sizey="3" data-sizex="3">
                <header>URL fromreading with substitution</header>
                <div data-type="image" data-device="ftuitest" data-substitution="s/.*(http.*.jpg).*/$1" data-get="imgurl"></div>
            </li>


aber erst nach Update. Ich musste das erst noch ins Image-Widget einbauen.
Titel: Antw:RegEx im Image-Widget
Beitrag von: Ulm32b am 12 November 2017, 17:37:47
Vielen Dank. Das funktioniert. Ich habe die neue Errungenschaft auch schon brav im Wiki hinterlegt ...

... und erreiche kurz danach die nächste Hürde:

<div class="card">

<div class="hbox">
<div class="vbox" data-type="image" data-size="200px" data-device="rssFAZ" data-get="n02_description" data-part=".*(http.*.jpg).*"></div>
<div class="vbox">
<div class="big bold left-space" style="text-align: left" data-type="label" data-device="rssFAZ" data-get="n02_title"></div>
<div class="big left-space" style="text-align: left" data-type="label" data-device="rssFAZ" data-get="n02_description" data-part=".*<p>(.*?)<\/p>"></div>
</div>
</div>

</div>

liefert erwartungsgemäß das Bild und die Texte, siehe Anhang, erstes Bild.

Zur Verbesserung der Raumausnutzung und Optik soll nun die Größe der Box mit dem Bild begrenzt werden (grow-0):
<div class="card">

<div class="hbox">
<div class="vbox grow-0" data-type="image" data-size="200px" data-device="rssFAZ" data-get="n02_description" data-part=".*(http.*.jpg).*"></div>
<div class="vbox">
<div class="big bold left-space" style="text-align: left" data-type="label" data-device="rssFAZ" data-get="n02_title"></div>
<div class="big left-space" style="text-align: left" data-type="label" data-device="rssFAZ" data-get="n02_description" data-part=".*<p>(.*?)<\/p>"></div>
</div>
</div>

</div>


Das Ergebnis zeigt der Anhang, zweites Bild. Die erste Box ist verschwunden.  :-\

Ein Bug?