понедельник, 18 июня 2012 г.

Оху***ая бл*ть консоль или учим консоль давать советы и материться

Данный скрипт не несет вообще смысловой нагрузки. Мне было нечего делать, у меня вообще сосиски варились, я не виноват что я его написал и запостил сюда :)

Многие знают, что есть такой сайт http://fucking-great-advice.ru/. Собственно название говорит само за себя, так вот, озвучка некоторых цитат там просто изумительна. Недолго думая запилил скрипт, который дает советы в консоль, а если есть звук, то еще и произносит его (совет).
При написании была небольшая проблемка. Не понятно было каким образом генерится рандомная цитата. Поэтому я решил сделать в лоб -  загружаем главную страницу, там есть ссылки на различные страницы уже с рандомными цитатами, берем произвольную из этих цитат. Вуаля, дело сделано :) Ах да, не забываем распарсить все это на предмет звука, скачать звук, проиграть его, а потом удалить (чтобы не забивалась папочка лишний раз).

Получим рандомную цитату рандомных цитат:
def getRandomAdvice():
    doc=getHTML("http://fucking-great-advice.ru/")
    soup=BeautifulSoup(doc)
    x=[]
    for i in str(soup).split():
       if 'href="http://fucking-great-advice.ru/advice/' in i: 
          x.append(i)
    j=random.randint(1, len(x))
    return x[j][6:-1]

Попробуем получить звуковой файл, проиграть его и удалить :) :
def playSound(adressBase):
    j=adressBase.replace('http://fucking-great-advice.ru/advice/', '')[:-1]
    link="http://fucking-great-advice.ru/files/sounds/sound_"+str(j)+".MP3"
    try:
        subprocess.call(['wget', '-b', link])
        music_file='sound_'+str(j)+'.MP3'
        subprocess.call('reset')
        pygame.init()
        pygame.mixer.music.load(music_file)
        pygame.mixer.music.play()
        while pygame.mixer.music.get_busy(): pass
        os.remove(music_file)
    except: pass
    os.remove('wget-log')

P.S. Получилась забавная штука. Голос всё же великолепен :))

Комментариев нет:

Отправить комментарий