Ir para conteúdo
Fórum Script Brasil
  • 0

Shell Em Python


thb_matrix

Pergunta

Estou desenvolvendo uma shell em Python, e, em breve, disponibilizarei o source em algum lugar(ainda não sei).

Tornarei a avisar quando o fizer.

Quem quizer colaborarar, pode responder este tópico no fórum, ou então entrar em contato comigo de alguma outra forma(leia minha assinatura).

Acredito que seja só isso...

:D

Link para o comentário
Compartilhar em outros sites

  • Respostas 51
  • Created
  • Última resposta

Top Posters For This Question

Posts Recomendados

  • 0

Ei povo, alguém entende mais ou menos de recepção de teclas?

E de impressão da tecla na tela?

É que eu estava pensando em mudar o prompt da shell, pois se ela receber um input normal não funcionariam alguns utilitários do teclado.

Como a seta para cima por exemplo.

Se alguém puder ajudar, poste que estará contribuindo com a shell.

:D

Link para o comentário
Compartilhar em outros sites

  • 0

Ainda não consegui o negócio das teclas, mas tive umas outras idéias. Na versão Windows se usarmos o módulo Win32 Extensions é possível pegar o nome do usuário e o nome do computador automaticamente, além de poder habilitar os comandos desligar (halt) e reiniciar (restart), incluindo também um possível "logoff". Que tal?

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Hum...

Essa parte de reiniciar o PC eu consegui fazer para windows(resolvi ainda não disponibilizar no site do projeto).

Mas vou verificar, se conseguir fazê-lo de forma mais eficiente será melhor ainda.

Uma coisa que você pode ter observado é que no código quando o usuário digita o comando e não é um comando interno da shell ele manda para o sistema.

Eu estou arrumando tudo para modificar isso, e usar diretórios path para isso(no windows c:\windows\command e c:\windows, e no linux /bin, /usr/bin, etc.).

Estarei vendo isso também.

Link para o comentário
Compartilhar em outros sites

  • 0

Pois é, foram eles que eu utilizei no modo atual...

Mas ai logoff não da(creio eu)...

Linux é MUITO mais fácil...

os.system('shutdown -time "now" -(r/h)')...

Mas eu estarei vendo.

Tem meu grupo de programação dando uma força, mas pouca gente gosta de Python por lá...

Eu to convidando o pessoal aqui pro fórum da SB, pois achei bem interessante.

O Fofinho é um dos membros do grupo, hehehe!

:D

Link para o comentário
Compartilhar em outros sites

  • 0

Agradeço a ajuda...

Não entendi o FORCE, mas me informarei sobre o assunto.

Quanto ao grupo de programação, estaremos livres do IRC assim que eu ou alguém do grupo arrumar um espaço gratuito que seja bom e satisfatório para publicarmos nosso site.

Se eu aprender um pouquinho mais de banco de dados e outras coisas em JSP, eu poderei utilizar do servidor grátis que suporta JSP que eu achei, e banco do freesql.

Mas por enquanto, estou no aguardo, e o grupo só se reune no IRC.

Caso tenhas interesse, estamos na rede Brasnet, no canal #THB.

:D

Link para o comentário
Compartilhar em outros sites

  • 0

Se me lembro bem, o FORCE pode ser usado em conjunto com os outros para que o Windows não enviei um WM_DESTROY para as janelas e feche tudo de forma forçada (como um Kill).

Depois vou ver se instalo o IRC para dar um checada aí no seu grupo, ok? :)

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Oi! :ph34r:

Eu sou do grupo do thb_matrix e estou tentando ajudar o projeto.

Tipo thb, da uma olhada no codigo em C que te mostrei no finalzinho da ultima atualizacao, é sobre aquele problema das teclas, talvez de um jeito, problema é ligar ao python. Eu sei que pode usar modulos em C, só não sei como :(

Ate mais

Link para o comentário
Compartilhar em outros sites

  • 0

Isso, só que de uma maneira forçada. Por exemplo, (não testei mas acho que acontece isso): se o Word está aberto com um documento não-salvo e você tenta desligar o Windows, o mesmo notifica o Word para ser fechado e este lhe pergunta se você quer salvar o documento, certo? Só que se não me engano, caso o FORCE seja utilizado esta pergunta do Word não será feita, já que o mesmo não será fechado de maneira "normal" e sim como se fosse "abortado". Acredito que é isso... mas depois vou testar melhor.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

É isso mesmo, Graymalkin. Com o FORCE ele simplesmente interrompe o programa e fecha imediatamente. É como o "KILL SIGNAL" do linux, THB. Os shutdown scripts mandam primeiro o "TERM SIGNAL" que seria o WM_CLOSE do windows. Depois mandam o KILL SIGNAL que é exatamente igual a ExitWindow() tendo 4 como parametro (4 = FORCE).

Ate logo,

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, tenho a lista de modificações que serão feitas na shell ainda esta semana:

1) O sistema que o Graymalkin passou para receber cada tecla do usuário será implementado;

2) A função inteligente do tab será adicionada;

3) O sistema de configuração da shell, com configuração de idioma, e outros será adicionado(a princípio somente para Linux);

4) A shell iniciará aplicativos apartir de diretórios path, e não mais utilizando o recurso os.system;

5) Os créditos da shell serão alterados, mostrando todos que estão contribuindo com ela até o momento;

6) A shell gravará logs de comandos executados(a princípio somente para Linux);

7) Estes logs poderão ser apagados a qualquer momento;

8) Ao iniciar a shell não será mais pedido nome de tela. Passará a ser utilizado usuario@host. Mas poderá ser modificado;

Acredito que é isso mais ou menos. Preciso que alguém me dê uma ajuda quanto a leitura e gravação do arquivo de configuração e a gravação dos logs.

Estarei também dando uma lida na documentação do Python para me interar mais sobre esses itens.

Quem tiver alguma dúvida, posta aí!

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, chegou o fim da semana, e eu não pude terminar.

Acredito que possamos fazê-lo no fim de semana.

Estive com graves problemas nas tentativas de instalar NetBSD.

Mas, devido a um problema de hardware eu não consegui.

O que eu terei que fazer é trocar a peça entre o teclado e a cadeira, assim, quem sabe, ele funcione.

Quanto a shell, tem algumas coisas que ainda não tenho idéia de como fazer, mas vou tentando.

Link para o comentário
Compartilhar em outros sites

  • 0
Bom, tenho a lista de modificações que serão feitas na shell ainda esta semana:

1) O sistema que o Graymalkin passou para receber cada tecla do usuário será implementado;

2) A função inteligente do tab será adicionada;

3) O sistema de configuração da shell, com configuração de idioma, e outros será adicionado(a princípio somente para Linux);

4) A shell iniciará aplicativos apartir de diretórios path, e não mais utilizando o recurso os.system;

5) Os créditos da shell serão alterados, mostrando todos que estão contribuindo com ela até o momento;

6) A shell gravará logs de comandos executados(a princípio somente para Linux);

7) Estes logs poderão ser apagados a qualquer momento;

8) Ao iniciar a shell não será mais pedido nome de tela. Passará a ser utilizado usuario@host. Mas poderá ser modificado;

Acredito que é isso mais ou menos. Preciso que alguém me dê uma ajuda quanto a leitura e gravação do arquivo de configuração e a gravação dos logs.

Estarei também dando uma lida na documentação do Python para me interar mais sobre esses itens.

Quem tiver alguma dúvida, posta aí!

E aí, Bruno, beleza?

Em relação aos itens 1 e 2, é bom lembrar que eles só funcionarão no Windows e que é necessário que alguém faça algo semelhante para o Linux (eu tentei usando os módulos termios e tty, mas ainda não consegui... mas vou tentar de novo...). E quanto ao arquivo de configuração vou pensar em como estruturá-lo.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Só adiantando pro pessoal o que já foi ou está sendo feito:

Controle sobre as teclas pressionadas (apenas Win32)

Função de auto-completar (apenas Win32 e só certas palavras)

Arquivo de configuração

Comandos na shell para alterar o arquivo de configuração

O que falta fazer:

Controle de teclas e auto-completar (Linux)

Auto-completar nomes de arquivos

Janelas com menus para configuração

E mais um monte de coisas... :D

Por isso, quem quiser ajudar, fique a vontade! :D

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Uma shell... se você usa Linux, é algo como o bash, já se você usa Windows é algo como o command do MS-DOS... :D (acho que é a maneira mais simples de explicar...). A diferença é que terá comandos próprios, aproveitando, é claro, o melhor das duas plataformas e será multi-língue.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

THB_MATRIX,

Também estou mexendo com o WConio e criando um módulo chamado Tela que permitirá um controle do console semelhante ao da linguagem Clipper. Já fiz até uma função para exibir menus, que poderá ser usada para a configuração da THB-Shell.

E se você quiser testar suas rotinas no Linux, pode enviar para mim que eu vejo se funciona.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0
Estou desenvolvendo uma shell em Python, e, em breve, disponibilizarei o source em algum lugar(ainda não sei).

Tornarei a avisar quando o fizer.

Quem quizer colaborarar, pode responder este tópico no fórum, ou então entrar em contato comigo de alguma outra forma(leia minha assinatura).

Acredito que seja só isso...

:D

Estou disponivel para ajudar. Meu nick no sourceforge é aflag e meu e-mail almeidaraf@yahoo.com

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.




  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...