Szkriptek: Python, Perl, Bash, ...

2 kérdés pythonnal kapcsolatban

1. python csomaggal jaro IDLE-t hasznalom, windows alatt pl:
btn1=Button(...)
btn1. és ha itt megallok akkor feldob egy ablakot ambol valaszthatok az osszes hozza kapcsolodo metodus kozul, illetve ha lezarok egy nyitott zarojelet akkor par mp-ig kiemeli a bokkot, Linux alatt ezek a funkciok nem mukodnek alapbol...ha lehet, hogy lehet bekapcsolni? en nem talaltam sehol.

2. btn1=Button(text='valami', command=function(valtozo))
ez igy nem mukodik, csak ugy hogy:
btn1=Button(text='valami', command=function)
es nem tudok a fugvenynek bemenetet adni. miert? hogy lehet ezt megoldani?

Perl help - slpit

Ma tanultam meg a perlt:), szóval csak szájbarágósan, lécci.

adott egy string:
$homepath = "\\szerver\megosztas\alkonyvtar\";
ebből hogy nyerem ki a szavakat, elfelejtve a bekszleseket?

ezzel probalkozom:
@tomb = split(/\\/, $homepath);
foreach $valami (@tomb)
{
print $valami;
}

De nemmegyen. Ugye jól érzem, hogy közeledem a megoldáshoz? Mi nem teccik neki? Ugye itt is \\ kell \ helyett?
Ehh szutyok vindóz az UNC-jével eggyütt.

php + ajax scrolling frame nelkul, vagy valamilyen megoldas

Sziasztok az a gondom , hogy csinaltam egy php + ajax chatet oldalamra, es ugye kijelzem a felhasznalokat, a hozzaszolasokat ugy oldottam meg hogy ha 30 hozzaszolasnal tobb van akkor update az sql ben ott ahol az message id a legkisebb volt, es uj mess id t kap es uj idopontot , de az aktualisan chatelo felhasznalokat lekerdezem sql rol , es az a gond hogy van egy tabla ugye 540 px el hosszu , es ha mit tudom en tegyuk fel hogy tobb lesz aktiv chatelo mint 40 vagy 45 akkor a tabla megnyulik , na most en olyat akarok csinalni hogy ,
ha eleri a tabla a maximalis hosszusagot/magassagot , akkor scrollozni lehessen benne, koszike elore is a segitseget, sziasztok.

KSH script - mi ez?

Sziasztok

Adott a lenti ksh függvény. A here document -ben lévő ~< és ~. sorok érdekelnének. Mi ez? Hogy működik? Nem láttam még ilyet. Olvastam doksit, megtekertem a guglit is, de nem találtam róla semmit (input redirection).
Tudom, hogy a levél csatolmányát hozza létre, de maga a mechanizmussal nem találkoztam még.


mailReport()
{
if mailx -s "Error report" $SUPPORT_GROUP << EOF 2>&1 | sed -e s+'^".[^"]*"'++g -e s+"[0-9]*/[0-9]*[ ]*$"++g 2>&1
|egrep -v "(^[ ]*$|keyboard assumed)" 2>&1|tee $MAIL_LOG 2>&1|grep -c . >/dev/null 2>&1
Job encountered an error which has been attached to the mail.
Please check.

~< ! unix2dos $1|uuencode `basename $1`.txt
~.
EOF
then
  echo "... failed:"
  cat $MAIL_LOG
  cleanUpAndExit 1
fi
}

adott pozíción lévő karakterek cseréje

Üdv mindenkinek!

Adott egy txt állomány. Benne rengeteg szám, egy-két betü, és itt-ott szóköz.
Ki szeretném cserélni, a 24. és 25. pozíción lévő '1 ' karaktereket '01'-re (ha van ilyen).
Lehet van szóköz az első 23 karakterben, lehet hogy nincs.

Megakadtam.
Minden segítséget köszök

PtR

"Now listening" Exaile plugin Gaim-hez

Egy tipikus "now listening" plugint kéne összerakni, Python-ban. Sajnos nem ismerem a nyelvet, de az alapanyagok megvannak, csak valakinek össze kéne raknia az akábbiakból:A plugin rész

Arra gondoltam, hogy dbussal lehetne megoldani a Gaim részt. Erre van a

dbus-send

nevű program. Ennek használata:

dbus-send --dest=net.sf.gaim.GaimService --print-reply --type=method_call /net/sf/gaim/GaimObject net.sf.gaim.GaimInterface.GaimConnectionsGetAll

ami egy

int32

-kből álló tömbbel tér vissza.

Már csak a név átírása van hátra, ezt a következő paranccsal tehetjük meg (egyenként, az előzőleg kapott kapcsolat ID-kre (a példában 2997)):

dbus-send --dest=net.sf.gaim.GaimService --print-reply --type=method_call /net/sf/gaim/GaimObject net.sf.gaim.GaimInterface.GaimConnectionSetDisplayName int32:2997 string:"a név"

Nos, hát ez lenne, ezeket a bash parancsokat kéne beleszőni a python kódba. Kommentben jelezzétek ha írtatok hozzá valamit.

Előre is kösz, remélem nem csak nekem lesz hasznos.

Update
Ha nagyon belejön valaki a szkriptelésbe, beleszőhetné az albumborító-icon részt is. Az idevágó dolgok:

cover = self.exaile.cover.loc

(Módosítva a pastebin-en is)

gaim-send GaimAccountSetBuddyIcon int32:41 string:"elérési/út"

Az első paraméter pedig a következő tömb eleme:

gaim-send GaimAccountsGetAll

Update vol. 2
Egy már működő prototípus: http://mcbuddha.pastebin.co.uk/8668

Csak be kell másolni az

/usr/share/exaile/plugins

könyvtárba, és már megy is. A forrás 15. sorában az

int32:

utáni részeben a

gaim-send GaimAccountsGetAll

visszatérési értékét kell írni (ez a jövőben remélem automatizálásra kerül).

bash script pipe köztes fokozatának visszatérési értéke

Szaisztok!

Egy ilyen csővezetékem van:
tar -c tarolni/ | gzip > tarolni.tar.gz
Ez ugye így jólismert, egyszerű.

A kérdésem az lenne, hogy a tar visszatérési értékét hogyan lehetne kiolvasni, vagy egyéb módon hogy lehet a tar parancs hibás lefutását detektálni?

Ugyanis ha például van egy fájl a tarolandó könyvtárban, amire a felhsznánólak nincs olvasási joga, akkor ilyen hibaüzenetet ad, és 2 értékkel tér vissza a tar:
tar: tarolni/megatitok: Cannot open: Permission denied
Azt szertném, hogy a szkriptem felismerje az ilyet(és egyéb hibákat) automatikusan, viszont az echo $? 0-t ad vissza, mivel a csővezeték utolsó darabja, a gzip helyesen lefutott.

Tudom, hogy a tar és gzip hívásokat össze lehet vonni, ez csak egy egyszerű példa a problémára. Amit meg szeretnék oldani, ott nem lehet ilyen egyszerűen összevonni.