Mensagem Randômica ao Conectar via SSH

Publicado por Ruhan Bidart 08/06/2008

[ Hits: 6.189 ]

Download script_profile.py




Mostra uma mensagem randômica ao usuário ao conectar via ssh.

Você deve baixar o script, colocá-lo na home do usuário que você deseja que lance a frase e digitar:

>> python nome_do_script_py nome_do_arquivo_de_frases.txt

ou somente

>> python nome_do_script_py

Com o segundo comando o script se encarregará de criar o arquivo de frases.

Agora, para testar, acesse o seu usuário novamente.

Qualquer bug, enviar para ruhanbidart@gmail.com.

  



Esconder código-fonte

#!usr/bin/env python
# -*- coding: utf-8 -*- 
################################################################################
# Sorteia uma frase de um arquivo definido.
#
# @author: Ruhan Bidart <ruhanbidart [at] gmail [dot] com
# @since: 11/04/2008
#################################################################################
from random import random
from os import popen, path
from copy import deepcopy
import sys

COMMAND = 'echo python %(path_script)s %(path_file)s not_install >>  %(path_user)s.bash_profile'
install = True
params = deepcopy(sys.argv)
length = params.__len__()

# verificando os dados que entram
if length < 2:
    params.append('frases.txt')
elif length == 3:
    if params[2].lower() == 'not_install': install = None
elif length > 3:
    raise str('Informe apenas o path do arquivo de frases.')

file_path = params[1]
file_path = path.realpath(file_path)

# caso seja apenas para sortear
if not install:
    try:
        # caso o arquivo nao exista, cria
        f = open(file_path, 'r')
        # sorteando a linha
        lines = f.readlines()
        len_lines = lines.__len__()
        rand_line = int(random()*len_lines)
        print lines[rand_line]
    except IOError, e:
        raise str('Ocorreu um erro ao tentar ler o arquivo.'
                  ' %s. Mensagem original: %s' % (file_path, e))
    finally:
        # liberando o arquivo
        f.flush()
        f.close()
# caso seja pra instalar
else:
    # inserindo a frase inicial
    try:
        f = open(file_path, 'a+')
        f.writelines('Primeira frase de teste, by Ruhan Bidart'
                     ' ruhan@gmail[dot]com. Insira mais, acessando: %s' % file_path)
    except IOError:
        pass
    finally:
        f.flush()
        f.close()

    cmd = COMMAND % {'path_script' : path.realpath(params[0]), 
                     'path_file': file_path, 
                     'path_user': path.expanduser('~/')}    
    try:
        r = popen(cmd)
    except OSError, e: 
        erro = 'Ocorreu um erro ao tentar instalar o script. Mensagem original: %s ' % e
        raise str(erro % e)
    print '-----------------------------------------------------------'
    print 'O script foi instalado com sucesso.'
    print 'Tente logar novamente e veja se a mensagem sera lancada.'
    print 'by Ruhan Bidart -> ruhanbidart@gmail[dot]com'
    print '-----------------------------------------------------------'

Scripts recomendados

Calculadora de hash

Avaliador de Expressões Simples

Calcula quantos dias uma pessoa viveu

Herança em Python

Cria no fluxbox um menu para mudar o wallpaper


  

Comentários
[1] Comentário enviado por sergiomb em 09/06/2008 - 23:39h

o que é que é randomico e sorteando ?
não é ser português, mas queria dizer aleatório e ordenando ?

[2] Comentário enviado por ruhanbidart em 15/09/2008 - 20:09h

A idéia era significar "mensagem aleatória".


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts