Змея / Говнокод #1080 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
def save(self, from_loading=False):
		for menu in ('applications', 'settings'):
			fd = open(getattr(self, menu).path, 'w')
			fd.write(re.sub("\n[\s]*([^\n<]*)\n[\s]*</", "\\1</", getattr(self, menu).dom.toprettyxml().replace('<?xml version="1.0" ?>\n', '')))
			fd.close()

Alacarte - редактор меню в Gnome. Пользователи часто жалуются на пропадание всех меню. Причина- запись происходит сразу же в результирующий файл, вместо того чтобы создать временный и потом сделать rename(2)

guest guest, (Updated )

Комментарии (0)

Змея / Говнокод #987 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
class SomeServer:
    def __init__(self, ...)
        self.__dispatcher = {"CMD1" : self.invoke_cmd1_command, \
                             "CMD2" : self.invoke_cmd2_command, \
                             "CMD3" : self.invoke_cmd3_command, \
                             "CMD4" : self.invoke_cmd4_command, \
                              ... : ...}


    def handle_some_request(self, request):
        command, arguments = extract_command_and_arguments(request)
        try:
            self.__dispatcher[command](command, arguments)
        except Exception as e:
            ... log it ...
            ... return error to client...
            ... whatever ...

Комментарии излишни

guest guest, (Updated )

Комментарии (3, +3)

Змея / Говнокод #917 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
class Node:
    def __init__(self):
	self.id    = 0
	self.d     = None
	self.left  = None
	self.right = None
    def __del__(self):
	del self

class Struct:
    def __init__(self):
	self.data  = None

    def add(self,data):
	if self.data == None:
	    self.data		 = Node()
	    self.data.d		 = data
	    self.data.right	 = Struct()
	else:
	    if self.data.d       == data:
		return 0
	    elif self.data.d     != data:
		return self.data.right.add(data)
    
    def next(self):
        if self.data != None:
	    print self.data.d 
    	    return self.data.right.next()

как правильно сделать чтобы при вызове next возвращалось значение не в print а в return и при рекурсия выполнялась

guest guest, (Updated )

Комментарии (1, +1)

Змея / Говнокод #900 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 49
  50. 50
  51. 51
  52. 52
  53. 53
  54. 54
  55. 55
  56. 56
  57. 57
  58. 58
  59. 59
  60. 60
  61. 61
#!/usr/bin/env python
#-*-coding:utf8-*-
from time import sleep
from random import randint
name=raw_input("Введите ваше имя: ")
hi=["ВОТ: Привет :)","ВОТ: Как жизнь?","ВОТ: Привет. Как поживаешь?"]
happ=["BOT: Смешно? Вот-вот","BOT: :-))","))","BOT: И прада смешно","Хм...","Самому смешно"]
ok=["BOT: Отлично!!! :)","BOT: Просто класс!!!","BOT: Лучше всех. :)"]
good=["BOT: Рад за тебя","BOT:Возрадуйся :)","BOT:Поздравляю","Правда? У меня тоже"]
pas=["BOT:Круто","BOT:Угу","Прости я вожможно тебя не до конца понимаю потому-что я не доделанный бот. Но вожможно скоро я буду это понимать","ВОТ:Ммм это интересно","ВОТ: Круто"]
schet=["BOT: Прости я не умею считать","ВОТ: Хм интересно. Но если бы я знач что там написанно","ВОТ: :( Не понимаю"]
fd=["ВОТ:Рад за тебя","ВОТ: Правда?","ВОТ: Интересно","ВОТ: ХМ"]
h=["ВОТ: Очень приятно. А я BOT версии 0.1","ВОТ: Рад знакомству. А меня зовут BOT"]
what=["ВОТ: Ничего","ВОТ: С тобой говорю"]
yes=["ВОТ: Совершенно верно","ВОТ: Не буду спорить","ВОТ: Круто","ВОТ: Прада?","ВОТ: Не врёш?"]
y=["ВОТ: Да","Верно","ВОТ: Конечно!"]
no=["ВОТ:Наверное нет","ВОТ:Нет"]
n=["ВОТ: Плохо","ВОТ: Нет так нет","ВОТ: Ну ладно"]
go=["ВОТ: Сам иди туда","ВОТ: Нехочу","ВОТ: У меня нет желания"]
while True:
    a=raw_input(name+": ")
    sleep(5)
    if a=="Привет" or a=="привет" or a=="hi" or a=="Hi" or a=="Прива" or a=="прива" or a=="hello" or a=="Хай" or a=="хай":
        print hi[randint(0,len(hi)-1)]
    elif a=="))" or a==")" or a==":-)" or a==":)":
        print happ[randint(0,len(happ)-1)]
    elif a=="Как дела" or a=="Как дела?" or a=="как дела" or a=="как дела?":
        print ok[randint(0,len(ok)-1)]
    elif a.find("тлично")!=-1 or a.find("ласс")!=-1 or a.find("орошо")!=-1 or a.find("упер")!=-1:
        print good[randint(0,len(good)-1)]
    elif a.find("оже")!=-1:
        print pas[randint(0,len(pas)-1)]
    elif a.find("+")!=-1 or a.find("-")!=-1 or a.find("*")!=-1 or a.find("/")!=-1:
        print schet[randint(0,len(schet)-1)]
    elif a.find("юблю")!=-1:
        print fd[randint(0,len(fd)-1)]
    elif a.find("еня зовут")!=-1:
        print h[randint(0,len(h)-1)]
    elif a.find("то делаешь")!=-1:
        print what[randint(0,len(what)-1)]
    elif a.find("равда")!=-1:
        print fd[randint(0,len(fd)-1)]
    elif a=="Да" or a=="да" or a=="ДА":
        print fd[randint(0,len(fd)-1)]
    elif a=="Да?" or a=="да?" or a=="ДА?":
        print y[randint(0,len(y)-1)]
    elif a=="Нет?" or a=="нет?" or a=="НЕТ?":
        print no[randint(0,len(no)-1)]
    elif a=="Нет" or a=="нет" or a=="НЕТ":
        print n[randint(0,len(n)-1)]
    elif a.find("ди в")!=-1:
        print go[randint(0,len(go)-1)]
    elif a.find("асскажи что нибудь о себ"):
        print """Меня зовут BOT (БОТ). Меня создал человек по имени Стас. Я очень общительный. Люблю много говорить. Дальше Стас создаст создаст больший рассказ обо мне. Теперь троя очередь"""
    elif a=="help":
        print "Бот талисман\nИмя: BOT\nВерсия: 0.1\n\nЕсли вы хотите выйти введите exit"
    elif a=="exit":
        print "Вы вышли"
        break
    else:
        print pas[randint(0,len(pas)-1)]

По всей видимости, это бот.

guest guest, (Updated )

Комментарии (7, +7)

Змея / Говнокод #587 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 49
  50. 50
  51. 51
  52. 52
  53. 53
  54. 54
  55. 55
  56. 56
  57. 57
  58. 58
  59. 59
  60. 60
  61. 61
  62. 62
  63. 63
  64. 64
  65. 65
  66. 66
  67. 67
  68. 68
  69. 69
  70. 70
  71. 71
  72. 72
  73. 73
  74. 74
  75. 75
  76. 76
  77. 77
  78. 78
  79. 79
  80. 80
  81. 81
  82. 82
  83. 83
  84. 84
  85. 85
  86. 86
  87. 87
  88. 88
  89. 89
  90. 90
  91. 91
  92. 92
  93. 93
  94. 94
  95. 95
  96. 96
  97. 97
  98. 98
  99. 99
  100. 100
# -*- coding: cp1251 -*- 

import socket 
import time 
import httplib
from datetime import date
import winamp
import thread
import threading

host='irc.lv'
channel='#DragStyle^'
password='ritusik'
nicks='PyBot'

def winamps():
    while 1:
        sendm('[+]  Larocca Play :'+ str(wins.getCurrentTrackName()))
        time.sleep(3*60)
        
def tpars(txt):
    q=txt.split('<span class="temp">') [1]
    temp=q.split(' C') [0]
    qq=txt.split('<span>') [1]
    wind=qq.split('</span>') [0]
    return temp, wind
       
def sendm(msg): 
    irc.send('PRIVMSG '+ channel + ' :' + str(msg) + '\r\n')

irc = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
irc.connect((host, 6667))

irc.send('USER py host servname : Python Bot\r\n') 
irc.send('NICK '+ str(nicks) +'\r\n')

while 1:
    text=irc.recv(2040)
    if not text:
        break
    
    if text.find('Message of the Day') != -1:
        irc.send('JOIN '+ channel +'\r\n')

    if text.find('+iwR') != -1:
        irc.send('NS IDENTIFY '+ str(password) +'\r\n')
                           
    if text.find('PING') != -1: 
        irc.send('PONG ' + text.split() [1] + '\r\n')

    if text.find('armagidon!root@root.dragstyle.org PRIVMSG #DragStyle^ :!quit') != -1: 
        irc.send('QUIT :python bot\r\n')
        
    if text.find(':KICK') != 1:
        irc.send('JOIN '+ channel +'\r\n')

    if text.find(':!date') != -1:
        sendm('[+] Date: '+ time.strftime("%a, %b %d, %y", time.localtime()))

    if text.find(':!time') != -1:
        sendm('[+] Time: '+ time.strftime("%H:%M:%S", time.localtime()))

    if text.find(':!weather') != -1:
        tmp = text.split(':!weather')
        city = tmp[1].strip()
        reqest_str = '/laika_zinas/?city=' + city
        c = httplib.HTTPConnection("www.1188.lv")
        c.request("GET", reqest_str)
        ra = c.getresponse()
        datas = ra.read()
        temp, wind = tpars(datas)
        sendm('[+] Temp: '+ temp +' C | Wind: '+ wind +' m/s')
        c.close()

    if text.find(':!irclv') != -1:
        tmps = text.split(':!irclv')
        irclvs = tmps[1].strip()
        if len(irclvs) < 1:
            sendm('[+] Error ! Wrote !irclv nick')
        else:
            website = 'http://irc.lv/?nick=' + irclvs
            sendm('[+] Home: '+ website)
            sendm('[+] Perl: http://irc.lv/perl?nick=' + irclvs)
            sendm('[+] Blog: http://irc.lv/blogs?nick=' + irclvs)

    if text.find(':!say') != -1:
        says = text.split(':!say')
        sayse = says[1].strip()
        sendm('.:: '+ str(sayse) +' ::.')
            
    if text.find(':!join') != -1:
        joins = text.split(':!join')
        das = joins[1].strip()
        irc.send('JOIN '+ str(das) +'\r\n')

    if text.find(':!nick') != -1:
        nickname = text.split(':!nick')
        if len(nickname) < 2:
            pass
        else:

ircbot

guest guest, (Updated )

Комментарии (0)

Змея / Говнокод #538 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
infle = list()
for line in inf.read().splitlines():
  infle.append(line.decode('windows-1251'))
infile = iter(infle)

Функция принимает параметр inf... через пол-экрана:

guest guest, (Updated )

Комментарии (1, +1)

Змея / Говнокод #522 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
def MappingRights(i, s, u, d):
    INS=i.split(":")
    SEL=s.split(":")
    UPD=u.split(":")
    DEL=d.split(":")

    id_group=INS[0];
    right=str(int(bool(INS[1].capitalize()))) + \
          str(int(bool(SEL[1].capitalize()))) + \
          str(int(bool(UPD[1].capitalize()))) + \
          str(int(bool(DEL[1].capitalize())))

    return id_group, right;

Парсим массив с правами переданный из JavaScript.
нужно из "true" получить "1", соответственно из "false" "0"

guest guest, (Updated )

Комментарии (3, +3)