dAnjou
Anmeldungsdatum: 8. Oktober 2007
Beiträge: 872
|
Ich habe eine kleine Erweiterung für Nautilus mithilfe von Nautilus-Python geschrieben. Diese löst das Problem, dass man keine Ordner oder gar ganze Ordnerstrukturen als Vorlage benutzen kann. Voraussetzungen: GNOME und das Paket python-nautilus Installation: Man lädt sich die Erweiterung auf der Projektseite (unter Downloads) herunter und kopiert sie bis Natty nach ~/.nautilus/python-extensions/ (oder systemweit nach /usr/lib/nautilus/extensions-2.0/python/ ), ab Oneiric nach ~/.local/share/nautilus-python/extensions/ (oder systemweit nach /usr/share/nautilus-python/extensions/ , wobei ich das nicht geprüft habe). Anschließend muss man Nautilus noch mit killall nautilus neustarten. Benutzung: Nun kann man im Vorlagen-Ordner (standardmäßig ~/Vorlagen , aber solltet ihr ihn geändert haben, bekommt das die Erweiterung heraus) einen Ordner mit beliebigem Inhalt und der Datei .is_template (beachtet den Punkt am Anfang) erstellen. Rechtsklickt man jetzt irgendwo im Nautilus auf eine leere Stelle, erscheint ein Kontextmenüeintrag, der die Ordner-Vorlagen auflistet (siehe Screenshot im Anhang). Klickt man auf einen Eintrag, wird der Vorlagen-Ordner an diese Stelle kopiert, allerdings ohne die Datei .is_template . Ich hoffe, dass das vielleicht jemand nützlich findet. PS: Die Beispielvorlage stellt übrigens eine mögliche Ordnerstruktur des wirklich schicken Web-Frameworks Flask dar 😉. Bearbeitet von Antiqua: Downloadlinks auf Wunsch des Autors angepasst. (20.08.11)
- Bilder
|
aasche
Anmeldungsdatum: 30. Januar 2006
Beiträge: 14259
|
dAnjou schrieb: Ich habe eine kleine Erweiterung für Nautilus mithilfe von Nautilus-Python geschrieben. Diese löst das Problem, dass man keine Ordner oder gar ganze Ordnerstrukturen als Vorlage benutzen kann.
Nette Idee ☺ - hast Du Interesse an einem Eintrag ins hiesige Wiki?
|
dAnjou
(Themenstarter)
Anmeldungsdatum: 8. Oktober 2007
Beiträge: 872
|
aasche schrieb: [...] hast Du Interesse an einem Eintrag ins hiesige Wiki?
Inwiefern? Und wohin? Es ist ja weder ein Skript noch eine Action.
|
aasche
Anmeldungsdatum: 30. Januar 2006
Beiträge: 14259
|
dAnjou schrieb: Inwiefern?
Eigener Artikel. Inhalt: obige Anleitung. Und wohin? Es ist ja weder ein Skript noch eine Action.
Ich persoenlich wuerde es als Skript einordnen, man koennte es aber auch direkt im Nautilus-Artikel unter Funktionalitaet erweitern verlinken (falls das ein Problem sein sollte).
|
Cassadi
Anmeldungsdatum: 23. Juli 2007
Beiträge: 417
|
Hallo dAnjou, funktioniert hier leider irgendwie nicht. Habe das Script wie beschrieben nach ~/.nautilus/python-extensions/ kopiert. Nach Neustart von Nautilus wird im selben Ordner eine neue Datei mit dem Namen FolderTemplate.pyc abgelegt, sodass sich dort nun das Script + diese Datei befindet, aber es gibt keinen Eintrag im Kontexmenü um den Testordner inkl Inhalt irgendwo einfügen zu können. System Ubuntu 10.10 64bit Freundliche Grüße
Cassadi
|
dAnjou
(Themenstarter)
Anmeldungsdatum: 8. Oktober 2007
Beiträge: 872
|
Hey Cassadi, Die Datei FolderTemplate.pyc ist nur eine kompilierte Version des Python-Skriptes. Vorlagen kommen standardmäßig in den Ordner ~/Vorlagen . EDIT: Eine Testvorlage liefere ich nicht mit, die musst du selbst erstellen 😉 NOCH EIN EDIT: Aber du hast mich indirekt auf einen kleinen Bug hingewiesen. Wenn keine Vorlage existiert, sollte das Kontextmenü eigentlich existieren und anzeigen, dass keine Vorlage da ist. Wird umgehend repariert. LETZTER EDIT FÜR DIESEN POST: Repariert! Download-Link ist derselbe.
|
Cassadi
Anmeldungsdatum: 23. Juli 2007
Beiträge: 417
|
Hallo dAnjou, ich habe schon gestern im Ordner ~/Vorlagen einen Ordner Test mit besagter Datei .is_template + weiteren Dokumenten angelegt. Dies hatte ich nur nicht in meiner Rückmeldung erwähnt. Also eigentlich sind alle Voraussetzungen, so wie von Dir im Eingangspost beschrieben erfüllt.
Trotzdem taucht im Kontexmenü kein neuer Eintrag auf. Habe soeben dein "neues" Script geladen, aber auch da ändert sich nichts wie man auf dem Bild sehen kann. Freundliche Grüße
Cassadi
- Bilder
|
dAnjou
(Themenstarter)
Anmeldungsdatum: 8. Oktober 2007
Beiträge: 872
|
Öhm, hast du das Paket python-nautilus installiert?
|
Cassadi
Anmeldungsdatum: 23. Juli 2007
Beiträge: 417
|
dAnjou schrieb: Öhm, hast du das Paket python-nautilus installiert?
aber sicher das 🙄 | dpkg -l | grep python-n
ii python-nautilus 0.6.1-1 Python binding for Nautilus components
ii python-newt 0.52.11-1 A NEWT module for Python
ii python-notify 0.1.1-2build3 Python bindings for libnotify
|
Freundliche Grüße
Cassadi
|
dAnjou
(Themenstarter)
Anmeldungsdatum: 8. Oktober 2007
Beiträge: 872
|
Cassadi schrieb: dAnjou schrieb: Öhm, hast du das Paket python-nautilus installiert?
aber sicher das 🙄
Joar, puuhhh. Ich hab keine Ahnung, was da falsch gelaufen sein könnte. Ich habe es grad nochmal mit einer Natty-LiveCD probiert und es ging. Wäre schön, wenn es noch ein dritter probieren könnte.
|
Cassadi
Anmeldungsdatum: 23. Juli 2007
Beiträge: 417
|
Sitze im Moment hier in der Firma an einem Rechner ( ebenfalls Ubuntu 10.10 64bit) und auch hier genau das gleiche Problem. Alles installiert und vorhanden wie es verlangt wird, aber kein Menüeintrag.
Hoffe mal das sich ein anderer Tester findet und du vieleicht das Problem lösen kannst, denn die Idee vorgefertigte Ordner nebst Inhalt per Kontexmenü zu kopieren ist schon klasse. Ein Feature wäre es, wenn man dem Ordner dann während des Kopierens noch einen eigenen Namen verpassen könnte. Könnte ich hier super brauchen. Freundliche Grüße
Cassadi
|
dAnjou
(Themenstarter)
Anmeldungsdatum: 8. Oktober 2007
Beiträge: 872
|
Cassadi schrieb: Ein Feature wäre es, wenn man dem Ordner dann während des Kopierens noch einen eigenen Namen verpassen könnte.
Jo, daran habe ich auch schon gedacht. Ich wollte es zuerst so machen, dass es wie beim ganz normalen Datei/Ordner umbenennen ist, aber ich glaube, dass das auf der Ebene nicht geht. Dazu müsste ich mich wohl viel tiefer in den Nautilus-Code "einklinken", was mir zu viel Aufwand wäre. Da muss ein extra Dialog reichen. Den werde ich aber so gestalten, dass man nur ENTER drücken muss, falls man den Ordner nicht anders benennen will, um nicht zu viel Klick-Aufwand zu haben. PS: Ich sitze hier gerade und probiere es nochmal haarklein nach meiner Anleitung auf einem frischen Natty in der VM. EDIT: Habe es jetzt nochmal genau nach meiner Anleitung auf einer frischen Installation durchgeführt und auch die Pfade aus meinem Post oben kopiert und nicht selbst geschrieben und es hat alles geklappt. Vielleicht sollte ich ein Installationsskript bereitstellen 😉
|
busfahrer
Anmeldungsdatum: 9. April 2007
Beiträge: 3052
|
Hallo hab hier Ubuntu 10.04 und bekomme es auch nicht gebacken, kein Eintag im Kontextmenü. Habe python-nautilus installiert. Wenn ich deinem Skript spaßeshalber mal eine Shebang gebe #!/usr/bin/env python und es im Terminal starte, bekomme ich die Fehlermeldung ./FolderTemplate.py
Traceback (most recent call last):
File "./FolderTemplate.py", line 54, in <module>
import nautilus
ImportError: No module named nautilus Hilft das vielleicht weiter? Gruß...busfahrer
|
dAnjou
(Themenstarter)
Anmeldungsdatum: 8. Oktober 2007
Beiträge: 872
|
busfahrer schrieb: Wenn ich deinem Skript spaßeshalber mal eine Shebang gebe #!/usr/bin/env python und es im Terminal starte, bekomme ich die Fehlermeldung
[...]
Hilft das vielleicht weiter?
Nein. Das nautilus -Modul ist nur von Nautilus selbst benutztbar, es kann nicht in einem Skript verwendet werden wie folgender Befehl zeigt:
| PYTHONPATH=/usr/lib/nautilus-python/ python -c "import nautilus"
|
Ausgabe: Fatal Python error: This module can only be used from nautilus
Abgebrochen
|
dAnjou
(Themenstarter)
Anmeldungsdatum: 8. Oktober 2007
Beiträge: 872
|
Die Ursache für's Nichtfunktionieren in 10.04 und 10.10 habe ich gefunden. Ich benutze das Pythonmodul subprocess mit der Funktion check_output , welche die Module in Lucid und Maverick noch nicht kennen. Laut Dokumentation ist die erst in Python 2.7 vorhanden. Das zu umgehen, ist aber wohl für mich und für euch kein Problem. Entweder ich benutze eine andere Funktion, um mir die Ausgabe zu holen, oder ihr nutzt Python 2.7 😛 ... ersteres ist selbstverständlich zu bevorzugen. Ich gehe das demnächst an.
|