1. Python / Говнокод #6005

    −183

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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
    def validate_line(line):
        if len(line) <= 2: return False
        if line[0] == '""': return False
        if line[0] == "''": return False
        if line[0] == '+!': return False
        if line[0] == '-?': return False
        if line[0] == '- (': return False
        if line[0] == '-(': return False
        if line[0] == '-)': return False
    
        if line[0] == '-6a': return False
        if line[0] == '-6a )': return False
        if line[0] == '-a': return False
        if line[0] == '-aa': return False
    
        if line[0] == '-:': return False
        if line[0] == ':': return False
        if line[0][0] == '#': return False
        if line[0][0] == "'": return False
        if line[0][0] == '&': return False
        if line[0][0] == '(': return False
        return True

    Жил был один маленький портальчик одной немаленькой компании. Портал внутренний, пользовался секретамками, манагерами и прочим планктоном. С задачей своей справлялся, не глючил и вообще проблем не приносил. И вот задумали в него добавить пару "фишек". А писался он давно, программиста уже не найти. Полезли в код, а там ... В общем вот; ВЕСЬ код написан в так вот стиле...

    ossa, 16 Марта 2011

    Комментарии (6)
  2. Python / Говнокод #5937

    −182

    1. 1
    2. 2
    3. 3
    4. 4
    - application = webapp.WSGIApplication(foo)	
    + if 0==1:	
    +     application = webapp.WSGIApplication(foo)
    + application = webapp.WSGIApplication(bar)

    пакистанский юноша знает толк в комментариях.

    awsum, 09 Марта 2011

    Комментарии (6)
  3. Python / Говнокод #5881

    −91

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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
    #coding=utf8
     
    #Ввод коэффициентов
    def inputVar():
        a=raw_input('Enter a')
        b=raw_input('Enter b')
        c=raw_input('Enter c')
        return a,b,c
    #Вывод исходного уравнения в виде ax^2+bx+c=0
    def printHeader(a,b,c):
        import math
        ax2=str(a)*bool(a)*bool(a-1)+'x^2'*bool(a)+'+'*bool(b+math.fabs(b))*bool(a)
        bx1=str(b)*bool(b)*bool(b-1)+'x'*bool(b)+'+'*bool(c+math.fabs(c))*bool(bool(a)+bool(b))
        cx0=str(c)*bool(c)+'0'*bool(not(bool(bool(a)+bool(b)+bool(c))))
        print '\n\nУравнение:',ax2+bx1+cx0+' = 0'
    #Подсчет и вывод корней уравнения    
    def printRoots(a,b,c):
        D=b**2-4*a*c
        import math
        import cmath
        if a:
            if D>0:
                x1=(-b+math.sqrt(D))/(2*a)
                x2=(-b-math.sqrt(D))/(2*a)
                print "Корни уравнения:\n","x1 =",x1,"\nx2 =",x2
            if D==0:
                x1=(-b)/(2*a)
                x2=x1
                print "Корень уравнения:\n","x1 = x2 =",x1
            if D<0:
                print "Корни уравнения:"
                print 'x1 = '+str((-b)/(2*a))*bool(b)+'+'*bool(b)+str(cmath.sqrt(D)/(2*math.fabs(a)))
                print 'x2 = '+str((-b)/(2*a))*bool(b)+'-'*bool(b)+str(cmath.sqrt(D)/(2*math.fabs(a)))
        elif b:
            x1=-c/b
            x2=x1
            print'Корень уравнения:\n','x =',x1
        elif c:
            print'Уравнение неверно'
        else:
            print'Уравнение верно'
    #Тело программы             
    a,b,c=inputVar()
    a=int(a); b=int(b); c=int(c)
    printHeader(a,b,c)
    printRoots(a,b,c)

    Juris_Kabanis, 04 Марта 2011

    Комментарии (1)
  4. Python / Говнокод #5750

    −179

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    def ispalindrome(string):
    	decide=1
    	i=0
    	while i<=int(len(string)/2) and decide==1:
    		if string[i]!=string[-(i+1)]:
    			decide=0
    		i+=1
    	return decide

    Функция определяет, является ли число паниндромом =)

    SSPkrolik, 21 Февраля 2011

    Комментарии (6)
  5. Python / Говнокод #5480

    −91

    1. 1
    2. 2
    3. 3
    import gzip, StringIO
    eval (compile (gzip.GzipFile (fileobj = StringIO.StringIO ('\x1f\x8b\x08\x00\xfe\xb9\x0cM\x02\xff\xa5\x93\xdfj\xdb0\x14\xc6\xaf\xeb\xa78\xb9\x8a\xdd\x19\xe1\xac4\x17\x83^\xa4\xa3\x83A\xe8\xc6RV\xc6(\xc2\x7fTWD\x95\x82,/aw\xd9Mo\n\x83\xbd\xc1\xde\xa0\x94\x85m\x8c\xb6\xaf \xbf\xd1\x8e\x1c%\xe9E\xd6\x9b\xd9\xc6\xb2\xbe#\xfd\xce\xd1\'\xb9`\xe7\xa0$\xbd\xe0E\xc1$\xcdjc\xb0\x97\x0b\x9e\x8fY\x01\xe1n\xaa\xcb*z\x11\xecL\xb9\x84\x03(\xcd\x98\x9crY\xa8)\x84Q\xb0\x93y\xe9\xb0\x9d\x05a\xd7~\xb7?\xec\xc2\xfe\xb17\xcd\x97\xe6\x1a\xecm3\xb7\x0b\xb0\x0f\xf6\x97\xfd\x89\x11T\xed=!\xa4\xeb\xe6\x92\xea\xc2c\x84\xc7\x0c\xd3\x8c\x89\xa5B\xb0\x1e\xe6?+f\xa8a3\xe3\xf8\xdf\xb6\x00;\x9d\xce\x12\x98+)Y\xee\xc6\xf9\xfa\xbb1P\xaa\x04\xde1\x84"\x86,\xc2q\x9f25\xf3\t\xdf\x1f\xe2g\xf8\xdc\x8bd\x92\xe6cZ\x99T#"\xdb&\x8a\x95\xb8.\x1dm!i\x81F9\xd9\xf7]\xbd\x13Uq\xc3\x9d\'\xade\xaf\x8f\xe9\xdb7#\xfa\xf2\xe8\xf8\xe4\xe8\x1d\x1d\x0cO\x07\x1fF\xab\xd1+\xd4Dsi\xc0Y\xb8\xb0\xbf\x9b+\\\xdb\x1c\xec\x1d6W\xf8^\xa0\x9f\xf3\xe6\xab\xf3.\x08\n\xdc2\xbf.\x08\xa71\xd4\x15\xd3\xb4HM\xea6j\xdd\x81\x8f\xc9\xd9\x86\xfeH\xee\x9dm\xdc-\x05\xcf\x88\xe1\x97L\xd5\x86\xb6\x0b\xe9%\x89s\r\xe1\x8f\xc0\x8e\x85\xa3}f\x8c9/0Yj\x8c\xae\xd0\xccI*KE\x06\xd8\x1b\xf2\xca\xb4\xe4s\xa5\x81\x03\x9e\x9a\x99\xc6 f\x13\x0c\xdd\x10\xa4\\\xeff\x149\xc4\x92A\xb8\xc4\\(nH\xaf\x94f\xa5V\xb5\xc4\xa2\x9c3!r\nuI\x96\rN\x87]\xe8\xef\xef\xef\xf5\xa3\x18\xfe;\x8e\x0f<\x83\x9e;\x1f\xff\xaag\xc4?\xb3\'*I\xf0B\x12\x9a\xb7m\xa1\xeb\x83\xec\xe8\x1c\xff2VA\xd8f\xdaDd)\x9eH\xb0\xd7O\x1cE3Sk\t\'\xbaf\xc1_\xf0\xb6d\xa4\xbb\x03\x00\x00')).read (), '', 'exec'))
    del gzip, StringIO

    "Хитрая" пасхалка из моего курсача :)

    byss, 02 Февраля 2011

    Комментарии (7)
  6. Python / Говнокод #5354

    −90

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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
    #! /usr/bin/python2.4
    # -*- coding: utf-8 -*-
    '''
    from Tkinter import *
    import subprocess
    import Queue
    import threading
    
    class ifStatThreadClass(threading.Thread):
        """класс потока с ifstat"""
        def __init__(self,breakCount):
            global listBox
            selectedIface=listBox.curselection()
            if not selectedIface: selectedIface=0
            self.ifaceName=listBox.get(selectedIface);
            self.breakCount=breakCount
            threading.Thread.__init__(self)
            
        def run(self):
            global queue
            global stop_event       
        # рабочий тред, запускает ifstat на вывод 20 строк    
            global listBox
            cmd="ifstat -i %s 1 %s"% (self.ifaceName, self.breakCount,)
            print "Запускаю: %s"%cmd
            PIPE = subprocess.PIPE
            p = subprocess.Popen(cmd, shell=True, stdin=PIPE, stdout=PIPE,
                    stderr=subprocess.STDOUT, close_fds=True)
            #пока нет стоп-события ловим строки из стдоута
            if (stop_event.is_set()): print "stop event detected!"
            while not stop_event.is_set():
                s = p.stdout.readline()
                if not s: break
                if self.breakCount==0: break
                self.breakCount-=1
                #кладем очередную строку в очередь
                queue.put(s)
                print s,
            
    def startIfStat():
        """ стартуем рабочий тред"""
        global stop_event
        global ifStatThread
        ifStatThread = ifStatThreadClass(10)
        try:
            stop_event.clear() 
            ifStatThread.start() 
        except: 
            print "Не могу запустить поток! Может, он уже запущен?"
            stop_event.set()
        
        #вот тут стартуем
           
                
    def stopWorker():
        """создаем стоп-событие"""
        print("Тпырррр!")
        global stop_event
        global ifStatThread
        # установим событие останова
        stop_event.set()
        
    def ifStatResultUpdater():
        """обновлялка текстового поля из очереди query"""
        global queue
        global stop_event
        global ifStatResult
        global ifStatThread
        global emptyQueueCounter
    #    print("updater")
    #    ifStatResult.configure(text=time.strftime('%H:%M:%S'))
        #только если не было стоп-события 
    
        if not stop_event.is_set():
            if ifStatThread.isAlive(): print "Поток еще жив!"
            else: print "Потока в живых не обнаружено"
            s='' 
            try:
                #берем из очереди строку и выводим на лейбл
                print 'Что у нас в очереди? ',
                s = queue.get_nowait()
                print "а в очереди вот:",s
                ifStatResult.configure(text=s)
            except Queue.Empty:
                print('ничего в очереди нету(')
                if (emptyQueueCounter>2):
                    print('аааа.. похоже, все умерли... щас заново запущу!') 
                    startIfStat()
                    emptyQueueCounter=0                
                emptyQueueCounter+=1
                
            #если стоп-события не было, запускаем эту же функцию через секунду
        root.after(1000,ifStatResultUpdater)
    
    queue = Queue.Queue() #создаем очередь
    emptyQueueCounter=0

    Мой первый (мало-мальски серьезный) опыт на питоне. Выводит список из 3х интерфейсов, по нажатию Старт запускает тред с ифстатом, выводит в окошко результаты. Кривинько-косо, но работает)
    Если есть замечания как криво написано и предложения как лучше, жду комментарии.
    P.S. до этого писал на пхÐ%BF, D1‚ак что не пинайте сильно)

    hakimovis, 23 Января 2011

    Комментарии (3)
  7. Python / Говнокод #5279

    −174

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    self.columns = []
                    for self.i in range(len(self.splits_table_name)):
                        if len(self.splits_table_name[self.i]) != 0:
                            self.columns.extend([{ 'type' : 'string' ,'name': self.splits_table_name[self.i],'editable': True}])
    
    
    self.data = {}
    self.field = []
    self.column = []
    
    for self.i in range(len(self.list_data)):
        for self.j in range(len(self.list_data[self.i])):
            self.field.extend([{'field_name' : self.splits_table_name[self.j] , 'field_value' : self.list_data[self.i][self.j]}])
            self.column.append()
    
    self.data['data'] = self.column

    это мой говно кода .

    dura, 14 Января 2011

    Комментарии (1)
  8. Python / Говнокод #5274

    −179

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    incoming=[2,0,4,6,2,1,0,4,3,0]
    outgoing=[5,0,3,3,0,2,3,5,0,2]
    
    for i in sorted(range(allopers.__len__()), reverse=True):
          if int(incoming[i])==int(outgoing[i])==0:
               del incoming[i]
               del outgoing[i]
               del allopers[i]

    длинна списков allopers, incoming и outgoing равна.
    наговнокожено: пытаюсь исключить из них элементы с номером n, для которых incoming[n]==outgoing[n]==0.
    типа иду с конца, и если совпало - удаляю элемент.

    fr_butch, 14 Января 2011

    Комментарии (11)
  9. Python / Говнокод #5257

    −81

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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
    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    import psycopg2
    from loki.libs.net.ipaddr import IPAddress
    import sys
    sys.path.append('../libs/')
    
    try:
        loki_db = psycopg2.connect (port="15432", host="noc2.t72.ru", database="loki_db", user="utkin", password="2UtaWEvaspuv")
        loki_cur = loki_db.cursor()
    except:
        print "Нет коннекта к локи_дб"
    
    try:
        cherry_db = psycopg2.connect (port="5432", host="noc2.72.ru", database="cherry", user="utkin", password="2UtaWEvaspuv")
        cherry_cur = cherry_db.cursor()
    except:
        print "Нет коннекта к черри_дб"
    
    loki_cur.execute("""
    select id, nas_id, service, ip_addr_id from inet_inetsessionactive;
    """);
    
    rows = loki_cur.fetchall()
    
    for (id, nas_id, service, ip_addr_id) in rows:
        loki_cur.execute("""select ip from inet_nasserver where id = %s;""",(nas_id,))
        try:
            nas_ip = loki_cur.fetchone()[0]
        except:
            print "Нет записи о NAS-сервере"
        loki_cur.execute("""select addr from inet_ouripall where id = %s;""",(ip_addr_id,))
    
        ip = str(IPAddress(int(loki_cur.fetchone()[0]))._ip)
    
        cherry_cur.execute("""select client_id, water_mark from inet_dynamic_ip_services where id = %s;""", (service,))
        try:
            (client_id, water_mark) = cherry_cur.fetchone()
        except:
            print "Нет записи в таблице inet_dynamic_ip_services: id, nas_id, service = (%s, %s, %s)"%(id, nas_id, service)
            
        cherry_cur.execute("""select balance from base_clients where client_id = %s;""",(client_id,));
        try:
            balance = cherry_cur.fetchone()[0]
            if balance <= water_mark:
                kill(ip, nas_ip)
        except:
            print "Нет записи в base_clients: client_id = %s"%client_id

    tanenn, 13 Января 2011

    Комментарии (15)
  10. Python / Говнокод #5253

    −97

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    import string
    k=input()
    a=range(1000)
    if k==1:
            a[0]=input()
    else:
            t = string.replace(str(raw_input()), ' ', ', ')
            a=eval('('+t+')')

    4
    2 3 4 5
    ----
    Не знаю я питон :(
    По другому не смог быстро написать..

    Tanger, 13 Января 2011

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