[Phyton] Split hinzufügen

Dieses Thema im Forum "Webentwicklung" wurde erstellt von hacker5, 17. Oktober 2012 .

  1. 17. Oktober 2012
    Zuletzt bearbeitet: 25. Oktober 2012
    [Phyton] Split hinzufügen + img src

    Hallo,

    ich kann eigentlich kein Python, aber es ist ja relativ ähnlich wie PHP hat aufjedenfall ähnliche Züge. Es gibt ein Phyton Script, welches ermöglicht einem seine Whatsappnachrichten auf den PC zu ziehen. Allerdings in einer sehr Hässlichen Tabelle.
    Ich bin jetzt dabei, dass ich das ganze in XML umändere. Mich stört das Format des Datums also will ich es mit split bearbeiten.

    Ich habe nur leider noch keine Ahnung, wieso man keinen Quelltext hinzufügen kann, danach kommen immer nur Fehlermeldungen.

    Hier mal ein Auszug:

    Code:
     # PK 
     wfile.write('<td>{}</td>\n'.format(y.pk_msg).encode('utf-8'))
    
     # Chat name
     wfile.write('<td class="contact">{}</td>\n'.format(contactname).encode('utf-8'))
     # Msg date
     wfile.write('<td>{}</td>\n'.format(str(y.msg_date).replace(" ","&nbsp;")).encode('utf-8'))
     # From
     wfile.write('<td class="contact">{}</td>\n'.format(y.contact_from).encode('utf-8'))
     
     
     #hier möchte ich mein neues datum definieren
     
     # date elaboration for further use 
     date = str(y.msg_date)[:10]
     if date != 'N/A' and date != 'N/A error':
     date = int(date.replace("-",""))
     
    
    Unter dem Punkt "#hier möchte ich ..."

    Habe ich folgendendes hingeschrieben:

    # date new
    ndate=str(y.msg_date).replace(" ","&nbsp;")


    das klappt auch. Allerdings brauche ich dadrunter noch eine Zeile mit dem Inhalt

    redable_date=ndate.split("-")

    schreibe ich das allerdings drunter, kommt nur die Fehlermeldung, dass mit Tabs und Spaces etwas nicht stimmt.

    TabError: inconsistent use of tabs and spaces in indentation

    Kann jemand einen kleinen Denkanstoß geben? Phyton brauche ich nur für dieses Script jetzt, deswegen ist es für mich gerade jedenfalls noch keine Option das ganze jetzt zu erlernen. Habs jetzt einfach mal in die Webtechnik getan, ansonsten bitte ins Programmier-Forum schieben

    Danke im Vorraus.
     
  2. 17. Oktober 2012
    AW: [Phyton] Split hinzufügen

    Was verwendest du für einen Editor? Python ist Tabulatororientiert (Blöcke werden mit Tabulatoren, nicht mit Schlagworten wie "begin", "end" oder Klammern definiert). Du musst die Tabulatur einhalten. Ansonsten mache das in einer Zeile
    Code:
    redable_date=str(y.msg_date).replace(" ","&nbsp;").split("-")
     
    1 Person gefällt das.
  3. 17. Oktober 2012
    Zuletzt bearbeitet: 17. Oktober 2012
    AW: [Phyton] Split hinzufügen

    Der Fehler:
    Code:
     TabError: inconsistent use of tabs and spaces in indentation
    tritt auf, wenn du einmal 4 und einmal 8 Leerzeichen oder gar \t und Leerzeichen zusammen zum einrücken verwendest. Irgendwann hat der Compiler dann die Nase voll

    Also stell deinen Editor entsprechend so ein, dass er die selben Zeichen (und Anzahl) verwendet wie im restlichen Code.

    Tabs sind in Python wie { } in C/PHP/JS.

    Code:
    def foo():
     print("hello")
     print("world") # hier würde der Compiler btw. einen TabError werfen
    
    würde in PHP so aussehen:
    PHP:
    function  foo () 
    {
      print 
    "hello" ;
      {
        print 
    "world" ;
      }
    }
     
    1 Person gefällt das.
  4. 19. Oktober 2012
    AW: [Phyton] Split hinzufügen

    Ahh vielen Dank euch beiden. Es hat geklappt und hat mir sehr geholfen. Keine hässlichen Tabellen mehr. Jetzt kann ich das ganze über xsl und xml selber in ein Design packen.

    Böses Phyton, ich bleib lieber in Zukunft bei PHP. Da blicke ich mehr durch.^^
     
  5. 22. Oktober 2012
    AW: [Phyton] Split hinzufügen

    Hey, wollte ich machen. Dauert leider nur noch bisschen.
    Die Woche werde ich es nicht fertig machen können. Werde dann wenns fertig ist den Link posten.
     
  6. 25. Oktober 2012
    AW: [Phyton] Split hinzufügen

    Hey, muss das ganze nochmal pushen.

    Ich möchte die Whatsappsmilies auch als Grafik ausgeben. Allerdings kann ich keinen <img src> Path in mein XML Dokument knallen. Wie würdet ihr das Problem angehen?

    Verarbeitet wird das ganze ja mit xsl.

    Das XML Dokument sieht so aus:
    Code:
    <sms address="" date="05.10.2012 17:00:00" type="1" body="text text text smilie im format ([img src="1.png"]) " read="1" status="-1" locked="0" /> 
    Hab versucht mit fn.translate zu arbeiten aber wenn ich [img src= durch <img src= ersetzen will, gibts einen XML error.

    Kann man Text und Bilder in einem Tag nicht verarbeiten?
     
  7. 25. Oktober 2012
    AW: [Phyton] Split hinzufügen

    <img src="..." /> sollte gehen.

    Auf /> achten.
     
  8. 25. Oktober 2012
    AW: [Phyton] Split hinzufügen

    Dann kommt halt der blöde Feher:

    Code:
    XML-Verarbeitungsfehler: nicht wohlgeformt
    Adresse: file: sms.xml
    Zeile Nr. 7, Spalte 61: <sms address="" date="05.10.2012 17:54:29" type="1" body="<img src='test.png' />img asdasd" read="1" status="-1" locked="0" />
    Trotzdem schonmal danke
     
  9. 25. Oktober 2012
    AW: [Phyton] Split hinzufügen

    achso, als attribut natürlich mit <![CDATA[ ... ]]> umrahmen
     
  10. 25. Oktober 2012
    AW: [Phyton] Split hinzufügen

    Ich glaub ich bin diesmal wirklich zu blöd dafür. ^^


    Du meinst so?

    Code:
    <![CDATA[<sms address="" date="05.10.2012 17:54:29" type="1" body=" <img src='test.png'></img>img asdasd" read="1" status="-1" locked="0" />]]>
    Hatte ich auch schon versucht, dann wird mir nur leider nichts mehr ausgegeben. Zum verzweifeln ist das.
     
  11. 25. Oktober 2012
    AW: [Phyton] Split hinzufügen

    Ne so hatte ich das nicht gemeint.
    Aber egal, XML erlaubt sowieso kein CDATA innerhalb von Attributen.

    Versuch es so:
    Code:
    <sms address="" date="05.10.2012 17:54:29" type="1" body=" <img src="test.png" />img asdasd" read="1" status="-1" locked="0" />
     
  12. 26. Oktober 2012
    AW: [Phyton] Split hinzufügen

    Hey, ich danke dir, aber so geht es auch nicht.

    Dann kommt das ganze nur im Klartext und das Bild wird nicht dargestellt.
    Code:
    <img src="test.png" />img asdasd
    Habe auch versucht die Ausgabe nicht zu escapen via disable-output-escaping aber das hilft auch nichts.


    Zur Not muss ich es dann doch in eine Datenbank schreiben und mir dann per SQL ausgeben lassen. Fands nur schöner ohne Server arbeiten zu können und es auf jedem PC angucken zu können.
     
  13. 26. Oktober 2012
    AW: [Phyton] Split hinzufügen

    Blöde frage, aber "Worin" guckst du es dir an? Wenn du es im Browser betrachtest, warum dann keine HTML Ausgabe?
     
  14. 26. Oktober 2012
    AW: [Phyton] Split hinzufügen

    Öffnen werde ich es in einem Browser. Aber ich wollte das ganze einfacher und übersichtlicher gestalten. Ein HTML Gerüst mit dem Phyton Script zu machen/ abzuändern ist viel viel schwieriger und aufwendiger.

    Deswegen wollte ich das ganze mit XML und XSL machen.

    Und diese Whatsapp.db beinhaltet auch alle Nachrichten von allen Kontakten.
    Mit der XML wollte ich es einfach Teilen.

    Hatte jetzt persönlich nicht so die Lust an dem Script lange zu hängen.
     
  15. 26. Oktober 2012
    AW: [Phyton] Split hinzufügen

    Dann bleibt dir noch eines übrig:

    HTML:
    <sms address="" date="05.10.2012 17:54:29" type="1" read="1" status="-1" locked="0"><![CDATA[<img src="test.png" /> img asdasd]]></sms>
    Dann nimmst du statt dem "body"-attribut einfach firstChild.nodeValue
     
  16. 26. Oktober 2012
    AW: [Phyton] Split hinzufügen

    Hey, danke ich werd das gleich mal ausprobieren. Hatte derzeit schon mit dem Gedanken vom Einsatz mit Javascript gedacht. Mit Firebug kann man das ganze auch ausführen.

    Code:
    var count=document.getElementById('test').innerHTML;
    var Ergebnis = count.search(/img.+/);
    
    for(i=0;i<=5;i++){
    var test=document.getElementById('test').innerHTML;
    
    var neu = test.replace('&lt;', "<");
    var neu2 = neu.replace('&gt;', ">");
    var test=document.getElementById('test').innerHTML=neu2;
    }
    
    Der Mist ist aber ja mal wieder, dass das < in der Forschleife und das <,> an dem replace das XML Script dann zum absturzt bringt. Ich glaub ich werde kein Freund mehr von XML. Man muss doch Javascript Code einschleusen können, ohne das es direkt nicht mehr "wohlgeformt" ist.
     
  17. 26. Oktober 2012
    Zuletzt bearbeitet: 26. Oktober 2012
    AW: [Phyton] Split hinzufügen

    <![CDATA[ ... ]]> erzeugt einen Textknoten, welchen du per firstChild.nodeValue ansprechen kannst. Innerhalb von diesem CDATA kannst du < und > verwenden wie du lustig bist.

    Zudem weiß ich nicht recht was du mit innerHTML machen willst.

    Code:
    let xml = xhr.responseXML, // dein xml
     sms = res.querySelectorAll('sms'), // die sms-elemente
     test = document.querySelector('#test');
    
    for (let i = 0, l = sms.length; i < l; ++i) {
     let body = sms[i].firstChild.nodeValue; // CDATA
     test.insertAdjacentHTML('beforeend', body);
    }
    
    
     
  18. 1. November 2012
    AW: [Phyton] Split hinzufügen


    Hey, sorry bin vorher nicht gekommen zu antworten.

    War ja nur zum Testzweck. Mit innerHTML hole ich mir den Wert der im DIV steht.
    Sprich: "testtext <img src=""> blabla" und ersetze die geescapten < und > einfach.
    Klappt auch, ist halt blöd es über Firebug immer machen zu müssen.

    Wenn ich mit deinem XML arbeite, kann ich wohl nur leider nicht weiterhin auch mit XSL arbeiten. Sobald in meiner XSL Datei eine Dreieckklammer vorkommt, gibts einen Error. (i < l)
     
  19. 2. November 2012
    Zuletzt bearbeitet: 2. November 2012
    AW: [Phyton] Split hinzufügen

    Zum 10ten mal jetzt: <![CDATA[ ]]> und du kannst <> verwenden wie du lustig bist!
    Auch in Scripts

    Ist das wirklich so schwer verständlich?
     
  20. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.