kubuntu action script

Här diskuteras programmering och utveckling
Användarvisningsbild
BadOmen
Inlägg: 1172
Blev medlem: 18 aug 2006, 10:45
OS: Kubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Umeå

kubuntu action script

Inlägg av BadOmen »

Hej
Det här skapar en meny i Dolphin(Nautilus motsvarighet i kubuntu) men det skapar inte filen tmpHTML.txt som jag hade tänkt...

Mitt python skript fungerar som det ska i terminalen. Följande kod skriver ut text till stdout

Kod: Markera allt

python ~/bin/fixHTML.py -t -f filnamn
och nu vill jag styra det till en fil i stället, det fungerar också i terminalen men inte när jag startar skriptet från menyn, vad är det som är fel?

En fråga till, hur får man stdout att gå direkt till utklippshanteraren klipper? I stället för en fil som jag har försökt med.

Här är koden jag kör.

Kod: Markera allt

[Desktop Entry]
Type=Service
ServiceTypes=KonqPopupMenu/Plugin
MimeType=application/x-shellscript;text/x-python;
Actions=htmlCode

[Desktop Action htmlCode]
Name=Skapa HTML kod
Icon=background
Exec=python ~/bin/fixHTML.py -t -f %u > tmpHTML.txt
EDIT:
Jag har lyckats få den att skriva till en fil nu.
Jag mellanlandade i denna fil (fixHTML.sh) :

Kod: Markera allt

#!/bin/bash
if [[ -f "$1" ]]; then # True if FILE exists and is a regular file.
	selectedFile="$1"
	python ~/bin/fixHTML.py -t -f $selectedFile> ~/bin/tmpHTML.txt 
fi
Och Exce raden ser ut så här nu:

Kod: Markera allt

Exec=~/bin/fixHTML.sh %u
Jag har alltså skapat en bashfil som få ta om hand det jag försökte göra på Exec raden.

EDIT2:
Nu har jag fått det att hamna i klipper också så nu har jag inga fler frågor obesvarade :)

Jag fick mellanlandai detta skript:

Kod: Markera allt

#!/bin/bash
if [[ -f "$1" ]]; then # True if FILE exists and is a regular file.
	selectedFile="$1"
	python ~/bin/shPyCodeToHTML/fixHTML.py -t -f $selectedFile | ~/bin/shPyCodeToHTML/stdinToKlipper.sh
fi
och där skicka vidare det till det här skriptet (hittade det här milianw):

Kod: Markera allt

if ! tty -s && stdin=$(</dev/stdin) && [[ "$stdin" ]]; then
  # get the rest of stdin
  stdin=$stdin$'\n'$(cat)
  # oh, nice - user input! we set that as current
  # clipboard content
  qdbus org.kde.klipper /klipper setClipboardContents "$stdin"
  exit
fi
Betygsätt din Hårdvara och underlätta inköp av ny för andra:http://ubuntu-se.org/phpBB3/viewforum.php?f=138
Ubuntu-se forsknings team, här.
Min Ubuntu blogg som funkar som en stor post-it lapp för mig http://attminnas.blogspot.com/

Återgå till "Programmering och webbdesign"