#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(" "," ")).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(" "," ") 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. + Multi-Zitat Zitieren
#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(" "," ").split("-") 1 Person gefällt das. + Multi-Zitat Zitieren
#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. + Multi-Zitat Zitieren
#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.^^ + Multi-Zitat Zitieren
#5 19. Oktober 2012 AW: [Phyton] Split hinzufügen Fertiges Script posten wäre geil! + Multi-Zitat Zitieren
#6 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. + Multi-Zitat Zitieren
#7 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? + Multi-Zitat Zitieren
#8 25. Oktober 2012 AW: [Phyton] Split hinzufügen <img src="..." /> sollte gehen. Auf /> achten. + Multi-Zitat Zitieren
#9 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 + Multi-Zitat Zitieren
#10 25. Oktober 2012 AW: [Phyton] Split hinzufügen achso, als attribut natürlich mit <![CDATA[ ... ]]> umrahmen + Multi-Zitat Zitieren
#11 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. + Multi-Zitat Zitieren
#12 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" /> + Multi-Zitat Zitieren
#13 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. + Multi-Zitat Zitieren
#14 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? + Multi-Zitat Zitieren
#15 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. + Multi-Zitat Zitieren
#16 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 + Multi-Zitat Zitieren
#17 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('<', "<"); var neu2 = neu.replace('>', ">"); 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. + Multi-Zitat Zitieren
#18 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); } + Multi-Zitat Zitieren
#19 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) + Multi-Zitat Zitieren
#20 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? + Multi-Zitat Zitieren