LCD4linux-Plugin - WLAN-Web / Android / Pearl / Samsung - LCD-Display an der Dream [18.08.2022]

  • Hallo Joerg,


    22:01:16 Mailserver imap.strato.de
    22:01:17 ('OK', ['User logged in (342)'])
    ***** hier habe ich noch ein L4log("INFO-Mail1:",ids) eingesetzt
    22:01:17 INFO-Mail1: None
    ***** also schlägt der id_list = ids.split() fehlt :face_with_rolling_eyes:
    22:01:17 Mail Error: xxx:yyy@zzz.de
    22:01:17 Error: Traceback (most recent call last):
    File "/usr/lib/enigma2/python/Plugins/Extensions/LCD4linux/plugin.py", line 4044, in runMail
    id_list = ids.split()
    AttributeError: 'NoneType' object has no attribute 'split'


    vielleicht noch eine Idee?
    gruß MatzeFro

  • Hmmm, das ist jetzt aber eine andere Stelle. Das Login hat nun funktioniert. Es kommen nur keine ordentlichen Daten, scheinbar.
    füge mal vor der id_list = ids.split() auf gleicher Tabulatorebende
    L4log(typ,data)
    ein. Mal sehen, was da geliefert wird. Aber "None" bedeutet nix Gutes. Auf das "Nichts" muss ich aber trotzdem prüfen. Eigentlich darf das nicht vorkommen, weil der Mailserver ja nur vorhandene Daten liefern kann.

  • Antwort:


    23:21:20 OK [None] ----- keine eMail vorhanden
    23:45:44 OK ['1'] ----- Eine eMail vorhanden


    ##########
    und hier die Lösung:


    bei Zeile 4042 folgende Prüfung nach ids = data[0]
    if not ids:
    ....id_list = ''
    else:
    ....id_list = ids.split()


    dann hab ich noch ab Zeile 4003 & 4063 jeweils nach From = MailDecode(From):
    if From.rfind('<') > 1 and LCD4linux.MailhideMail.value == True:
    ....From = From[:From.rfind('<')]


    dann ist die hässliche Mailadresse auch weg :)
    Das habe ich auch mit einem Globalem Schalter versehen:
    "Mailadresse ausblenden (ja/nein)" versehen. (Wie kann ich die Sprachdatei anpassen?
    bei 439
    LCD4linux.MailhideMail = ConfigYesNo(default = False)
    und bei 4759
    self.list1.append(getConfigListEntry(_("Mail hide Mailadress"), LCD4linux.MailhideMail))

  • Hallo Joerg,


    vielleicht kannst Du bei der Gelegenheit noch die Zeile 437 ergänzen damit die Mails alle 5 Minuten geprüft werden. :winking_face:


    LCD4linux.MailTime = ConfigSelection(choices = [("01", _("60min")), ("01,31", _("30min")), ("01,21,41", _("20min")), ("01,16,31,46", _("15min")), ("01,11,21,31,41,51", _("10min")), ("01,06,11,16,21,26,31,36,41,46,51,56", _("05min"))], default="01")


    Gruß und Danke
    MatzeFro

  • andererseits benutzt du eine alte r0 :grinning_squinting_face: , der mögliche Fehler ist schon berichtigt.


    PS MatzeFro: ich würde nicht zu oft auf Mails prüfen. Die Überprüfung kostet schon Resourcen und wenn du viele/große Mails im Postfach hast, kann auch schon mal der Spinner kommen. Ich habe mir schon etwas bei den Zeiten gedacht :winking_face:
    ... und die Übersetzungen lassen sich nicht einfach so einpflegen und für Deutsch brauche ich keine Hilfe bei Poeditor, das schaffe ich selber :grinning_squinting_face: .


    Leider fühlt sich Niemand angesprochen, bei der Übersetzung zu helfen. In den letzten Wochen hat sich Niemand gefunden. Ich denke ich werde diese Möglichkeit wieder löschen lassen.

  • Zitat

    Original von joergm6
    MatzeFro: ich würde nicht zu oft auf Mails prüfen. Die Überprüfung kostet schon Resourcen und wenn du viele/große Mails im Postfach hast, kann auch schon mal der Spinner kommen. Ich habe mir schon etwas bei den Zeiten gedacht :winking_face:


    vielleicht kannst Du es ja trotzdem einbauen. Dann kann das jeder für sich entscheiden. Ich habe jedenfalls immer eine sehr aufgeräumte INBOX :)


    Gruß MatzeFro


    P.S. ich könnte mir natürlich noch einen Zähler vorstellen. Wenn x Mails vorliegen vergrößern sich die Zeitabstände auf 15 Minuten. :winking_face:

  • Hallo Joerg,


    ich find die Funktion gar nicht so schlecht, Normalerweise z.Bsp 5 Minuten,
    wenn es mal mehr mails werden (Urlaub) dann reduzieren der Abholintervalle auf z.Bsp. 20 Minuten.


    Ich habe es fertig. stelle ich nachher mal bereit dann kannst Du es ja vielleicht doch einarbeiten. :hurra:


    Gruß MatzeFro


    bei 438
    LCD4linux.MailTime0 = ConfigSelection(choices = [("01", _("60min")), ("01,31", _("30min")), ("01,21,41", _("20min")), ("01,16,31,46", _("15min")), ("01,11,21,31,41,51", _("10min")), ("01,06,11,16,21,26,31,36,41,46,51,56", _("5min"))], default="01")
    LCD4linux.MailTime1 = ConfigSelection(choices = [("01", _("60min")), ("01,31", _("30min")), ("01,21,41", _("20min")), ("01,16,31,46", _("15min")), ("01,11,21,31,41,51", _("10min"))], default="01")
    LCD4linux.MailreduceCounter = ConfigSelectionNumber(1, 30, 1, default = 10)


    bei 4770
    self.list1.append(getConfigListEntry(_("Mail Poll Interval"), LCD4linux.MailTime0))
    self.list1.append(getConfigListEntry(_("Mail reduce Counter"), LCD4linux.MailreduceCounter))
    self.list1.append(getConfigListEntry(_("Mail reduced Poll Interval"), LCD4linux.MailTime1))


    bei 3970
    mailcount = 0
    for i in range(0,5):


    bei 4012
    PopMail[i].append([From,Subj,mailserver.uidl()[1][M-1].split()[1]])
    mailcount += 1


    bei 4074
    PopMail[i].append([From,Subj,ID])
    mailcount += 1


    bei 4101
    PopMail[5]=""
    L4log("MailCounter:",mailcount)
    L4log("MailTime:",LCD4linux.MailTime.value)
    if mailcount > int(LCD4linux.MailreduceCounter.value):
    LCD4linux.MailTime.value = LCD4linux.MailTime1.value
    else:
    LCD4linux.MailTime.value = LCD4linux.MailTime0.value
    L4log("MailTime:",LCD4linux.MailTime.value)

  • Hallo Joerg,


    Ich habe mal die Idee von Ufoo aufgegriffen und mir gedacht es macht doch Sinn einen Schalter zu haben der besagt ob ich die "internen" Bilder oder eigene Bilder benutzen möchte. Meine Idee ist dann das die eigenen Bilder (fritztelin.png u.s.w.) einfach auch im Verzeichnis abgelegt werden in denen die anderen Bilder (FritzPath) liegen.


    und hier mein Vorschlag (macht sogar spaß :hurra:) falls du es einpflegen möchtest:
    (Die Zeilennummern sind bei mir vielleicht etwas anders, aber du findest das schon :winking_face: )


    Zeile 130:
    FritzData = LCD4plugin+"data/"


    Zeile 462:
    LCD4linux.FritzPathIcon = ConfigYesNo(default = False)


    Zeile 3614:
    try:
    if LCD4linux.FritzPathIcon.value == True and len(LCD4linux.FritzPath.value) > 0:
    FritzFrame = LCD4linux.FritzPath.value+"fritzcallframe.png"
    FritzRing = LCD4linux.FritzPath.value+"fritzcallring.png"
    FritzPic = LCD4linux.FritzPath.value+"fritzpic.png"
    else:
    FritzFrame = Data+"fritzcallframe.png"
    FritzRing = Data+"fritzcallring.png"
    FritzPic = Data+"fritzpic.png"
    L4log("FritzPath OK")
    except:
    L4log("FritzPath failed")


    Zeile 4727:
    self.list1.append(getConfigListEntry(_("FritzCall inernal Picture also [ok]>"), LCD4linux.FritzPathIcon))


    Zeile 10525:
    if LCD4linux.FritzPathIcon.value == True and len(LCD4linux.FritzPath.value) > 0:
    FritzData = LCD4linux.FritzPath.value
    else:
    FritzData = Data

    if os.path.isfile(os.path.join(FritzData,"fritztelin.png")):
    try:
    imW = Image.open(os.path.join(FritzData,"fritztelin.png"))
    xx,yy = imW.size
    x1=int(float(CS)/yy*xx)
    imW = imW.resize((x1,CS)).convert("RGBA")
    except:
    imW = None
    imW2 = None
    if os.path.isfile(os.path.join(FritzData,"fritztelout.png")):
    try:
    imW2 = Image.open(os.path.join(FritzData,"fritztelout.png"))


    Zeile 10718:
    if LCD4linux.FritzPathIcon.value == True and len(LCD4linux.FritzPath.value) > 0:
    FritzData = LCD4linux.FritzPath.value
    else:
    FritzData = Data

    if os.path.isfile(os.path.join(FritzData,"fritztelin.png")):
    try:
    imW = Image.open(os.path.join(FritzData,"fritztelin.png"))


  • Hallo Joerg,


    noch eine Verbesserung für die HideMail-Funktion


    From = From[:From.rfind('<')].replace('"','')


    Gruß
    MatzeFro


    P.S. Ist das so in Ordnung oder soll ich die Schnipsel lieber als PM senden?

  • Hallo Joerg,


    ich schon wieder :winking_face:


    Kann es sein das der WWW-Internet Konverter nicht mehr funktioniert?
    Wenn meine Recherchen richtig sind nutzt du convertapi.com.
    War das ohne API-Key bisher möglich?


    Schade, ich hatte hier mir die Fußballtabelle als "screenshot" anzeigen lassen.


    mfg MatzeFro

  • ich auch noch nicht :frowning_face:
    vielleicht kannst Du einfach die Möglichkeit enges API-Keys einbauen. Dann kann ja jeder der das nutzen möchte seinen (Teuren) Key eintragen.


    - die Kosten locken "mich" jedenfalls nicht.


    - wobei... nutzt wohl kaum jemand, oder hat es noch jemand gemerkt ?