execução de script

Iniciado por Nossile, 27 de Maio de 2008, 13:04

tópico anterior - próximo tópico

Nossile

Salve!

Em relação à scripts não sei praticamente nada, porém encontrei um que quero executar e estou tendo dificuldades. Já fiz uma busca sobre o assunto mas nada do que tentei funcionou. Espero que os colegas possam me dar uma luz.

O script em questão serve para alongar a barra do AWN por toda extensão da tela, o código é o seguinte:

Citar
Attachment: simple script that does the trick (not very flexible yet)
$ ./expand.py <some_picture_of_screen_width_and_bar_height>




#!/usr/bin/python




import pygtk; pygtk.require('2.0')
import gtk
import sys




class Image_Example(object):




def destroy(self, widget, data=None):
gtk.main_quit()




def __init__(self):
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.connect("destroy", self.destroy)
self.window.set_decorated(False)
self.window.set_keep_below(True)




self.window.set_gravity(gtk.gdk.GRAVITY_SOUTH_WEST)
self.window.move(0,gtk.gdk.screen_height())
self.window.set_default_size(gtk.gdk.screen_width(), -1)
self.window.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_DOCK)




self.image = gtk.Image()
self.image.set_from_file(sys.argv[1])
self.image.show()




self.window.add(self.image)
self.window.show()




def main(self):
gtk.main()





if __name__ == '__main__':




Image_Example().main()


Eu criei o documento do texto como "teste.sh", dei permissão de execução com o comando "chmod +x teste.sh" só que quando vou rodar nada acontece.
sudo aptitude remove terno-e-gravata && sudo aptitude install bermuda chinelo -y

kakita

não percebi bem essas 2 primeiras linhas
primeiro experiemnte ./nome do script
se não ser tente python nomedoscript.py
se não funcionar entao tire as 2 primeiras linha e repita o processo
vc gravou esse codigo com que extensão .py ou .sh??
se pudesse dar o link de onde descobriu isso ficaria mais fácil

já me ia esquecendo tente tambem dar permissão de execução

Nossile

Estava aqui o script: http://www.planetblur.org/hosted/awnforum/index.php?shard=forum&action=g_reply&ID=1849&page=1&isLive=true

Valeu kakita, mas não rendeu resultado.

Tentei com .sh e .py
Dei permissão de execução aos dois


sudo aptitude remove terno-e-gravata && sudo aptitude install bermuda chinelo -y

Nossile

Ops... vacilo meu, interpretei errado.

As duas primeiras linhas não fazem parte do script, a inclusão delas foi devido ao fato de ter sido postado o código em um fórum sem haver uma separação com o texto normal.

A primeira linha é a indicação de que a informação posterior é um anexo do post, e a segunda parece ser o comando de execução.

Só não entendi bem quais o parãmetros a serem incluidos dentro dos "<>".

Foi mal pelo erro pessoal tópico quase inútil pessoal.
sudo aptitude remove terno-e-gravata && sudo aptitude install bermuda chinelo -y

kakita

#4
Citação de: Nossile online 27 de Maio de 2008, 13:48
Foi mal pelo erro pessoal tópico quase inútil pessoal.
nem por isso, penso que o problema são as tabulações e isso eu posso tentar resolver, é nestas alturas que eu me arrepeno de não ter aprendido pygtk na marra


Exprimente agora
#!/usr/bin/python




import pygtk; pygtk.require('2.0')
import gtk
import sys




class Image_Example(object):




def destroy(self, widget, data=None):
gtk.main_quit()




def __init__(self):
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.connect("destroy", self.destroy)
self.window.set_decorated(False)
self.window.set_keep_below(True)




self.window.set_gravity(gtk.gdk.GRAVITY_SOUTH_WEST)
self.window.move(0,gtk.gdk.screen_height())
self.window.set_default_size(gtk.gdk.screen_width(), -1)
self.window.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_DOCK)




self.image = gtk.Image()
self.image.set_from_file(sys.argv[1])
self.image.show()




self.window.add(self.image)
self.window.show()




def main(self):
gtk.main()





if __name__ == '__main__':
Image_Example().main()


esse usuário é muito mais avançado em python do que eu(ou pelo menos eu faria isso de forma diferente) 
alguns comentários e melhores instruções de utilização do autor do script não fariam mal nenhum
eu não consegui utilizar aqui, mas já dá erro, simplesmente não dá nada, eu agora estou com a minha sessão do openbox(acho que não tem nada a ver mas...)
talvez algum perito em python possa ajudar, pelas imagens parece bonito esta dica

edit:Nao coloque < e > apenas o caminho para a imagem

Nossile

Valeu pelo empenho kakita!

Ainda não funcionou, mas pelo menos deu uma evoluida  ;D

Postei a dúvida sobre os parametros lá no fórum do AWN e é só colocar o endereço da imagem da barra, imagem essa que deve ter a largura da tela e a altura da barra.

Usando o arquivo que você editou a saída do comando do terminal não acusa erro, mas tambem não acontece nada fica apenas o cursor piscando.

Usando o arquivo sem alterações retorna este erro:

Citar
nossile@nossile-desktop:~$ ./expand.py /home/nossile/panel.png
  File "./expand.py", line 18
    def destroy(self, widget, data=None):
      ^
IndentationError: expected an indented block

É... será que vale tanto trabalho uma simples customização?  :P
sudo aptitude remove terno-e-gravata && sudo aptitude install bermuda chinelo -y

kakita

Citação de: Nossile online 27 de Maio de 2008, 20:31

É... será que vale tanto trabalho uma simples customização?  :P

Vale sempre nem que seja só para ficar sabendo mais uma coisa, então para mim que sou iniciante em programação de python tem muito intresse, pior que eu já não uso awn ;D
Mas uma coisa é certa o script como está no forum está errado, muitos foruns não permitem tabulações.
Quando não aparece erro mas o prorama não funciona aí é fica muito dificil de resolver, Só se a pessoa que fez o script consiga dar uma dica.
tive alguns problemas aqui por isso não olhei mais para o script mas acabei resolvendo os problemas recentes e até mesmo os antigos, obrigado ATI pelo driver 8.5, instalei á primeira pela primeira vez na minha vida.
Amanha vou tentar dar uma olhada