- 1
my_age = [lambda k, f=f: f**k for f in xrange(10) if 'I want'][4](2) + 2
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−92
my_age = [lambda k, f=f: f**k for f in xrange(10) if 'I want'][4](2) + 2
F**k yeah...
−97
if cells[x-1,y-1] == 1: pos+=1
else:
if cells[x-1,y-1] == -1: neg+=1
if cells[x-1,y] == 1: pos+=1
else:
if cells[x-1,y] == -1: neg+=1
if cells[x-1,y+1] == 1: pos+=1
else:
if cells[x-1,y+1] == -1: neg+=1
if cells[x,y-1] == 1: pos+=1
else:
if cells[x,y-1] == -1: neg+=1
if cells[x,y] == 1: pos+=1
else:
if cells[x,y] == -1: neg+=1
if cells[x,y+1] == 1: pos+=1
else:
if cells[x,y+1] == -1: neg+=1
if cells[x+1,y-1] == 1: pos+=1
else:
if cells[x+1,y-1] == -1: neg+=1
if cells[x+1,y] == 1: pos+=1
else:
if cells[x+1,y] == -1: neg+=1
if cells[x+1,y+1] == 1: pos+=1
else:
if cells[x+1,y+1] == -1: neg+=1
Иначе никак =D.
−97
class Thread:
... other methods ...
def SerializeXml(self,f):
sp = sorted(self.postnumbers)
f.write("<thread><number>%d</number>\n<posts>"%self.GetNumber())
for i in sorted(self.postnumbers):
f.write(self.posts[self.postnumbers_dict[i]].SerializeXml()+"\n")
f.write("</posts></thread>")
def CreatePost(self):
return Parser.Post()
def DeserializeXml(self,value):
try:
try:
self.number = int(re.findall(r"""<number>(\d+)</number>""",value)[0])
except :
self.number = 0
posts = re.findall(r"""<post>(.+?)</post>""",value,re.DOTALL)
for p in posts:
po = self.CreatePost()
po.DeserializeXml(p)
self.posts.append(po)
self.postnumbers_dict[po.GetNumber()] = len(self.posts)-1
self.postnumbers.add(po.GetNumber())
return True
except:
return False
class Post:
... other methods ...
def safexml(self,string):
return string.replace("<","<").replace(">",">")
def _unescape_xml(self,string):
return string.replace("<","<").replace(">",">")
def SerializeXml(self):
return """<post><postnumber>%d</postnumber>\n<sage>%d</sage>\n<deleted>%d</deleted>\n<subj>%s</subj>\n<name>%s</name>\n<trip>%s</trip>\n<attachments>%s</attachments>\n<comment>%s</comment></post>"""% \
(self.GetNumber(),self.GetSage(),self.GetDeleted(),self.safexml(self.GetSubject()),self.safexml(self.GetPostername()),self.safexml(self.GetPostertrip()), \
"\n".join(["<attachment><filename>%s</filename><filelink>%s</filelink></attachment>"%(l,self.safexml(n)) for ((n,l)) in self.attachments]),(self.safexml(self.GetComment())))
def DeserializeXml(self,string):
try:
self.number = int(self._GetVal(string,"postnumber")[0])
except:
self.number = None
...
try:
self.postertrip = self._unescape_xml(self._GetVal(string,"trip")[0])
except:
self.postertrip = None
try:
self.comment = self._unescape_xml(self._GetVal(string,"comment")[0])
except:
self.comment = None
self.attachments = []
try:
string = self._GetVal(string,"attachments")[0]
string = self._GetVal(string,"attachment")
for att in string:
(l,n) = re.findall(r"""<filename>(.+?)</filename><filelink>(.+)</filelink>""",att,re.DOTALL)[0]
self.attachments.append((urllib2.quote(n),n))
except :
pass
def _GetVal(self,string,value):
return re.findall(r"""<%s>(.*?)</%s>"""%(value,value),string,re.DOTALL)
Всем xml, посоны!
https://github.com/hashme33/BoardToJabber/blob/master/src/main/Parser.py#L24
−86
{% if field.help_text %}
<tr>
<td></td>
<td colspan="2" style="padding-top: 0px; padding-bottom: 10px;">{{ field.help_text|safe }}</td>
<td>
<img id="captcha_img" src="<?php echo $absolute_page_path; ?>captcha/captcha.php?ref=register"/>
</td>
{% endif %}
Вот такую веселую хрень встретил в джанговских темплейтах =)
−91
def _format_price(price):
price = '%.3f' % (float(price)/1000) if price > 999 else '%d' % price
return price.replace('.', ' ')
−96
import os
import codecs
from xml.dom import minidom
dir = 'C:\\Users\\pee\\AppData\\Roaming\\Thunderbird\\Profiles\\your_profile_here.default\\extensions'
target = 'install.rdf'
TB_id = '{3550f703-e582-4d05-9a08-453d09bdfdc6}'
maxVer = '5.*'
# open file, parse xml, find Thunderbird ID, change maxVersion, save file
def verchanger(rdf):
found = False
print(rdf)
xmldoc = minidom.parse(rdf)
idlist = xmldoc.getElementsByTagName("em:id")
for i in idlist:
if i._get_firstChild().nodeValue == TB_id:
print('Thunderbird ID was founded in em:id node with index ', idlist.index(i)+1)
print(i.parentNode.getElementsByTagName("em:maxVersion")[0]._get_firstChild().nodeValue)
if i.parentNode.getElementsByTagName("em:maxVersion")[0]._get_firstChild().nodeValue == maxVer:
print('file already updated, skipping')
break
else:
found = True
i.parentNode.getElementsByTagName("em:maxVersion")[0]._get_firstChild().nodeValue = maxVer
print('new value is: ', i.parentNode.getElementsByTagName("em:maxVersion")[0]._get_firstChild().nodeValue )
if found:
xmldoc.writexml(codecs.open(rdf,'w','utf-8'), encoding='utf-8')
# get list of files with full paths
filelist = [dir + '\\' + x + '\\' + target for x in os.listdir(dir)]
for i in filelist:
verchanger(i)
Мой первый говнокод :)
Проходит по папке с расширениями Thunderbird, изменяя требуемую минимальную версию плагина на железно заданную maxVer. Вынужденно наговнокодено после обновления ТБ на версию 5.
Прошу разобрать по косточкам, я Питон только изучаю. Дочитал Лутца до классов, почти всё накопал с помощью Гугля .
−87
# -*- coding: utf-8 -*-
import pyaudio
import wave
import sys
import httplib, urllib
import os
import urllib2
import json
import win32clipboard
import locale
import win32con
import win32api
import pythoncom, pyHook
import msvcrt
import time
import random
import thread
import os
encoding = locale.getpreferredencoding(do_setlocale=True)
#while True:
# if msvcrt.kbhit(): # Нажата ли клавиша?
# key = ord(msvcrt.getch()) # Какая клавиша нажата?
# print key
# if key == 13: # если Enter:
# break
# Shift
#Виртуальный код: 160
#Скан-код: 42
#Ascii-код: 0
#==========
# Alt
#Виртуальный код: 164
#Скан-код: 56
#Ascii-код: 0
#==========
# Ctrl
#Виртуальный код: 162
#Скан-код: 29
#Ascii-код: 0
#==========
# z
# Alt+z
#Виртуальный код: 90
#Скан-код: 44
#Ascii-код: 122
#==========
# Ctrl+z
#Виртуальный код: 90
#Скан-код: 44
#Ascii-код: 26
#==========
# Shift+z
#Виртуальный код: 90
#Скан-код: 44
#Ascii-код: 90
#==========
#Ctrl+~ 192 41 0
def OnKeyDown(event):
global record
# если была нажата клавиаша, за
if event.WindowName == None:
wnd = 'None'
else:
wnd = unicode(event.WindowName, 'cp1251')
#print u'Окно: ', wnd
#if event.IsExtended():
# print 'IsExtended'
#if event.IsAlt():
# print 'ALT'
#print u'Виртуальный код: ', event.KeyID
#print u'Скан-код: ', event.ScanCode
#print u'Ascii-код: ', event.Ascii
#print '=========='
#return True
if event.KeyID == 162 and event.ScanCode == 29 and event.Ascii == 0:
if record == 0:
record = 1
stop = [0]
stop[0]=False
thread.start_new_thread(processRecord,(stop,))
#processRecord()
#elif record == 1:
# record = 2
return True # возврат True для посылки события другим обработчикам
def OnKeyUp(event):
global record
Я старался.... =)
−83
# In Django model
def processed_description(self):
text = self.description. \
replace('<table', '<div class="table">'
'<div class="bgtop"></div>'
'<div class="overflow"><table'). \
replace('</table>', '</table></div>'
'<div class="bgbottom"></div>'
'</div>'). \
replace('<th', '<th width="50%" align="left"')
return text
Пользователь хочет редактировать контент в WYSIWYG-редакторе. Дизайнер хочет, чтобы таблицы выглядели красиво. Верстальщику для красоты нужны дополнительные div-ы. Что делает программист? Говнокодит!
−88
try:
dday = time.strftime("%d", time.localtime(os.path.getmtime(path + d))).lstrip('0')
dmonth = time.strftime("%m", time.localtime(os.path.getmtime(path + d))).lstrip('0')
dhour = time.strftime("%H", time.localtime(os.path.getmtime(path + d))).lstrip('0')
dmin = time.strftime("%M", time.localtime(os.path.getmtime(path + d))).lstrip('0')
screenpath = os.listdir(spath)
for screen in screenpath:
sday = time.strftime("%d", time.localtime(os.path.getmtime(spath + screen))).lstrip('0')
smonth = time.strftime("%m", time.localtime(os.path.getmtime(spath + screen))).lstrip('0')
shour = time.strftime("%H", time.localtime(os.path.getmtime(spath + screen))).lstrip('0')
smin = time.strftime("%M", time.localtime(os.path.getmtime(spath + screen))).lstrip('0')
if dday == sday:
if dmonth == smonth:
if dhour == shour:
if dmin == smin:
scr = spath + screen
if scr:
return str(scr)
else:
return None
except:
return "None"
Проверка даты создания двух файлов
−167
def word(long):
s=''
for j in range(0,long):
lit = struct.unpack('c',plik.read(1))[0]
if ord(lit)!=0:
s+=lit
if len(s)>300:
break
return s