Seite 1 von 1
pyUNO
Verfasst: Donnerstag 6. Juli 2006, 22:15
von murph
hi!
irgendwie verstehe ich pyuno nicht recht. ich war auf der homepage und habe mal spaßeshalber ein skript laufen lassen, der "hello world" als OO-dokument abspecihern wollte.
nun kam die fehlermeldung, dass er über sockets keine verbindung zu startoffice herrstellen konnte, was mich nicht wunderte: ich habe kein star-office installiert.
aber trotdem steht überall, dass pyuno für OO wäre!
hat von euch einer eine idee, woran das liegen könnte?
Verfasst: Donnerstag 6. Juli 2006, 23:25
von Leonidas
PyUNO ist ja nur eine Bibliothek über die du die OpenOffice-Funktionen nutzen kannst aus Python heraus (also so wie pywin32 und Office-COM). Wenn du OpenOffice nicht installiert hast, bringt es dir nichts.
Verfasst: Donnerstag 6. Juli 2006, 23:26
von BlackJack
Wie hast Du das Skript denn gestartet? Lief dabei ein OOo?
Re: pyUNO
Verfasst: Freitag 7. Juli 2006, 07:37
von gerold
murph hat geschrieben:nun kam die fehlermeldung, dass er über sockets keine verbindung zu startoffice herrstellen konnte
Hi murph!
1.) OO ist ,kurz gesagt, das freie StarOffice. Die API ist identisch.
2.) Du musst OO auf eine bestimmte Art starten, damit es von pyUno aus angesprochen werden kann. Siehe
http://udk.openoffice.org/python/python ... l#tutorial (suche nach "Hello World")
lg
Gerold
PS: Ich halte UNO für unnötig komplizierte Scheiße. Da lobe ich mir COM unter Windows. Leider muss man mit UNO leben, wenn man OO ansprechen will.
Verfasst: Freitag 7. Juli 2006, 13:24
von BlackJack
UNO ist halt eine API von Sun. Sie ist für "alle" Sprachen, also eben auch statische, und Sun neigt ein wenig zum Überspezifizieren. Jedes Paket muss jedes Entwurfmuster aus dem GOF Buch mindestens einmal benutzen.
Verfasst: Freitag 7. Juli 2006, 13:27
von querdenker
BlackJack hat geschrieben:...Jedes Paket muss jedes Entwurfmuster aus dem GOF Buch mindestens einmal benutzen.

GOF Buch
Kannst du da mal bitte etwas genauer werden?
mfg, querdenker
Verfasst: Freitag 7. Juli 2006, 13:28
von Rebecca
BlackJack hat geschrieben:UNO ist halt eine API von Sun.
UNO ist ein Kartenspiel.

SCNR
Verfasst: Freitag 7. Juli 2006, 16:51
von murph
also genau von der seite habe ich das beispiel.
habe auch bei meinem openoffice (/usr/bin/oowriter)
die argumente "-accept=socket,host=localhost,port=2002;urp;"
übergeben, einmal ohne, einmal mit den gänsefüßchen (nach dem ersten fehlversuch)
habe dann kein anderes oo mehr offen gehabt, wie es in der anleitung steht.
aber ok, staroffice und openoffice sind gleichbedeutend für pyuno.
Verfasst: Freitag 7. Juli 2006, 21:07
von abgdf
Hi,
habe da ein Python-Skript geschrieben, das pyuno / OOo-Writer-Scripting etwas vereinfachen soll:
http://www.oooforum.org/forum/viewtopic.phtml?p=151480
Was haltet ihr davon ?
@murph: Findest Du das hilfreich ?
Viele Grüße
Verfasst: Freitag 7. Juli 2006, 21:36
von murph
also ich halte davon seehr viel.
aber hat
if oooopen==0:
nicht ein o zuviel?
ich weiß, das sind peanuts, aber danke, dass scih da mal wer die arbeit gemacht hat!
aber kannst du dich an en standard halten und 4 leerschritte einrücken?
Verfasst: Samstag 8. Juli 2006, 15:58
von abgdf
@murph:
Vielen Dank für das freundliche Feedback.
"oooopen" soll "OpenOffice.org-open" abkürzen. ".org" wegen
Das Programm wird oft auch kurz OpenOffice genannt. Da dieser Begriff in der Schweiz jedoch markenrechtlich geschützt ist, wird als Name OpenOffice.org (Abkürzung: OOo) verwendet.
Von:
http://de.wikipedia.org/wiki/Openoffice.org
Ob man vor oder nach der Rechtschreibreform bei englischen Ausdrücken mit mehr als zwei Vokalen dann doch einen wegläßt, darüber kann man sich wohl streiten. Ich fand die vier os irgendwie lustig.
Ich schreibe Code mit vi in xterm. Mir fällt es schwer, kleine Schrift zu lesen. Daher starte ich xterm nach langem Probieren mit sehr großer Schrift mit
Code: Alles auswählen
xterm +sb -font '-*-terminus-*-*-*-*-24-*-*-*-*-*-*-*' -fg white -bg black
Den Terminus-Font dazu gibt's hier:
http://suse.mirrors.tds.net/pub/opensus ... noarch.rpm
Die große Schrift hat leider zur Folge, daß ich jeweils nur zwei Zeichen Einrückung machen kann.
Ich könnte aber gegebenenfalls ein Python-Skript schreiben, das den Code in Zukunft vor dem Posten automatisch um die weiteren Leerzeichen erweitert.
Edit: Gemacht (Etwas Offtopic, sorry) 2to4.py:
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: utf8 -*-
from sys import exit
f=file("script.py","r")
a=f.readlines()
f.close()
add=""
anz=0
for i in a:
if i[0:2]==" " and i[2] != " ":
anz=1
if anz==0:
print "No line with indentation of two detected. Exiting."
exit(1)
for i in range(len(a)):
for u in a[i]:
if u != " ":
break
add += " "
a[i] = add+a[i]
add = ""
f=file("4out.py","w")
f.writelines(a)
f.close()
und 4to2.py:
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: utf8 -*-
from sys import exit
f=file("script.py","r")
a=f.readlines()
f.close()
sp=0
for i in range(len(a)):
if a[i][0:2]==" " and a[i][2] != " ":
print "Line with indentation of two detected. Exiting."
exit(1)
for u in a[i]:
if u != " ":
break
sp += 1
a[i]=a[i][sp/2:]
sp=0
f=file("2out.py","w")
f.writelines(a)
f.close()
Jedenfalls nochmals vielen Dank.
Viele Grüße
Verfasst: Samstag 8. Juli 2006, 16:07
von Leonidas
querdenker hat geschrieben:
GOF Buch

Es geht um das Buch der
Gang of Four. Es geht darum, dass Sun zu exzessiven nutzen der
Design Patterns neigt, auch gerne an stellen wo das eher stört als hilft.
Verfasst: Samstag 8. Juli 2006, 20:09
von abgdf
Hallo nochmal,
wenn man OpenOffice-Dokumente mit Python ohne OpenOffice erstellen möchte, könnte man auch Module wie
http://ooopy.sourceforge.net/
oder
http://www.bezirksreiter.de/PyOpenOffice.htm
verwenden.
Viele Grüße
P.S.: "Gang of Four" ? Klingt nach
http://de.wikipedia.org/wiki/Viererbande_(China)