- 1
raise 1/0
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−100
raise 1/0
Код говорит сам за себя.
−84
def getListOf(points):
i=1
f=open('Welcome_sub.srt', 'a')
for point in points:
print "%d" % i
f.write(str(i)+'\n')
begin = point.getAttribute('begin').split(':')
dur = point.getAttribute('dur').split(':')
h=str( (int(begin[0])+int(dur[0])) if (int(begin[0])+int(dur[0]))>10 else '0'+str(int(begin[0])+int(dur[0])) )
m=str(int(begin[1])+int(dur[1])) if (int(begin[1])+int(dur[1]))>10 else '0'+str(int(begin[1])+int(dur[1]))
f.write(point.getAttribute('begin')+' --> '+''.join(h+':'+m+':'+str(float(begin[2])+float(dur[2])) )+'\n')
print "%s -->%s" % (point.getAttribute('begin'), ''.join(h+':'+m+':'+str(float(begin[2])+float(dur[2])) ))
f.write(getText(point.childNodes)+'\n')
print "%s" % getText(point.childNodes)
i+=1
−183
regex = re.compile('[0-9]{6}', re.IGNORECASE)
Заметил забавную строчку...
−181
def main():
iface = "eth0:"
f = open("/proc/net/dev","r")
lines = f.readlines()
f.close()
x = 0
r = '\s+'+iface+'\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+'
while x < len(lines):
result = re.match(r, lines[x])
print result
x +=1
Мсье знает толк в регулярках
−96
try:
# do some stuff
except:
e0 = sys.exc_info()[0]
e1 = sys.exc_info()[1]
e2 = sys.exc_info()[2]
print '*** failed due to: %s %s %s' % (e0, e1, e2)
sys.exit(3)
У нас летом работал интерн...
−179
def mac_search(*args):
db = MySQLdb.connect(host="localhost",user="test",passwd="test",db="test")
cursor = db.cursor()
cursor.execute('SELECT * FROM ip_groups WHERE mac="%s" AND is_deleted=0;' %args[0].split()[0])
for j in cursor.fetchall():
cursor.execute("SELECT * FROM iptraffic_service_links WHERE ip_group_id=%s and is_deleted=0;" %j[1])
for j1 in cursor.fetchall():
cursor.execute("SELECT * FROM service_links WHERE id=%s AND is_deleted=0;" %j1[0])
for j2 in cursor.fetchall():
cursor.execute("SELECT * FROM accounts WHERE is_deleted=0 AND id=%s AND is_blocked=0;" %j2[2])
for j3 in cursor.fetchall():
cursor.execute("SELECT * FROM service_links WHERE account_id=%s AND is_deleted=0;" %j2[2])
for j4 in cursor.fetchall():
if j4[3]==465 or j4[3]==641:
cursor.execute("SELECT * FROM s_multicast WHERE service_id=%s AND %s>=ip_start AND %s<=ip_end;" %(j4[3],args[0].split()[1],args[0].split()[1]))
for j5 in cursor.fetchall():
return j5
Я конечно понимаю, таким уже не удивить. Но все же.
http://www.python.su/forum/viewtopic.php?pid=76855
−90
def removeDuplicate(store):
return [x for x in store if x not in locals()['_[1]']]
Удаление дубликатов в списке, set(store) религия не позволила сделать:)
−85
def captions_and_translations_to_srt(captions_and_translations):
output = StringIO.StringIO()
for i in range(len(captions_and_translations)):
translation_to_srt(captions_and_translations[i][1],
captions_and_translations[i][0],
i, output)
srt = output.getvalue()
output.close()
return srt
def translation_to_srt(translation, video_caption, index, output):
subtitle_to_srt_impl(video_caption.caption_text if translation is None \
else translation.translation_text,
video_caption, index, output)
def subtitle_to_srt_impl(text, video_caption, index, output):
output.write(str(index + 1))
output.write("\n")
write_srt_time_line(video_caption, output)
output.write(text)
output.write("\n\n")
def write_srt_time_line(video_caption, output):
write_srt_time(video_caption.start_time, output)
output.write(" --> ")
write_srt_time(video_caption.end_time, output)
output.write("\n")
def write_srt_time(seconds, output):
seconds_int = int(seconds)
write_padded_num((seconds_int / 3600) % 60, 2, output)
output.write(":")
write_padded_num((seconds_int / 60) % 60, 2, output)
output.write(":")
write_padded_num(seconds_int % 60, 2, output)
output.write(",")
write_padded_num(int(seconds * 1000) % 1000, 3, output)
def write_padded_num(num, numchars, output):
strnum = str(num)
numzeros = numchars - len(strnum)
for i in range(numzeros):
output.write("0")
output.write(strnum)
Генератор SRT субтитров.
−182
HOME_DIR = "/home/user"
LAST_DIR = HOME_DIR + "/.habralast"
HTML_DIR = HOME_DIR + "/.habr.html"
SHOW_FIRST_TIME = 5
n = 1
new_addr = 0
count = 0
if os.path.isfile(LAST_DIR):
fp = open(LAST_DIR, "r")
topic1 = fp.readline()
fp.close()
last_existed = 1
else:
fp = open(LAST_DIR, "w")
topic1 = ""
fp.close()
last_existed = 0
while(1):
if n == 1:
url = "habrahabr.ru"
else: url = "habrahabr.ru/page" + str(n) + "/"
wget = "wget " + url + " -O " + HTML_DIR
try:
os.system(wget)
except:
print "Cannot connect to server"
sys.exit()
index = open(HTML_DIR, "r")
s = ' <a href="http://habrahabr.ru/'
ss = ' <a'
sss = ' <div class="published"><!-- Дата в формате ISO пихается в title -->'
for i in range(2000):
line = index.readline()
if s in line:
blog_s = line.find('">')
blog_e = line.find("</a>")
blog = line[blog_s+2:blog_e]
for j in range(50):
line = index.readline()
if ss in line:
topic_s = line.find('">')
topic_e = line.find("</a>")
topic = line[topic_s+2:topic_e]
if topic.find("</span>") != -1:
topic = topic[topic.find("</span>")+7:]
if topic != topic1:
if new_addr == 0:
fp = open(LAST_DIR, "w")
fp.write(topic)
fp.close()
new_addr = 1
print "Blog:\t" + blog
print "Topic:\t" + topic
for k in range(100):
line = index.readline()
if sss in line:
line = index.readline()
time_s = line.find("<span>")
time_e = line.find("</span>")
date = line[time_s+6:time_e]
print "Date:\t" + date + "\n"
notify = "notify-send 'Habrahabr.ru: " + blog + "' '" + topic + "\n<i>" + date + "</i>'"
os.system(notify)
count += 1
if count == SHOW_FIRST_TIME and last_existed == 0:
os.system("rm -f " + HTML_DIR)
sys.exit()
break
break
else:
os.system("rm -f " + HTML_DIR)
sys.exit()
n += 1
index.close()
http://habrahabr.ru/blogs/python/127806/
Мне нравится, когда программа/код полностью своя… понимаешь назначение каждой буквы и почему решение именно такое. В данном топике хочу предложить свой парсер топиков Хабрахабра на Python без сторонних библиотек.
При появлении нового топика — всплывающее окошко сообщает об этом.
−181
d = dialog.Dialog(dialog = "dialog")
Ехал Грека через реку