HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 14.08.2009, 09:54
login999
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
С нами: 9427413

Репутация: 973


По умолчанию

Цитата:
Сообщение от __mad  
Сторонние модули будут всегда, в независимости от того хорошо они написаны или криво, из за того что в стандартную библиотеку по простому все не влезет, да и не надо оно там.



Это тоже довольно спорно, юзер может даже и не знать что в программе используется тот или иной не стандартный модуль, по простому я могу распространять свою программу с этими модулями.



Я думаю что люди пишущие модули, вполне способны качественно написать код, тем более если они это пишут не только для себя.



Вполне известно, например для этой либы в документации есть файлик how-it-works.html где вполне кратко описан алгоритм работы либы (в крайнем случае можно пробежаться по коду).



С этим согласен, бот должен по возможности состоять только из кода входящего в стандартную библиотеку (для минимизации размера, и возможность запуска в различных средах).

Еще как вариант, можно использовать вот такой способ:

Код:
enc_list=['utf-8', 'windows-1251', 'IBM866']

def try_encoding(text):
    for try_enc in enc_list:
        try:
            unicode(text, try_enc, "strict")
        except:
            pass
        else:
            break
    return try_enc
Правда с 866 он не выдает экзепшен, так что для этой кодировки нужно придумать что ни будь другое.
how it works - нихера не показатель, я могу тоже много чего наворотить и описать как оно типа должно работать.
Насчет стандартной библиотеки- не угадали, если взглянуть на тенденции в развитии питона а также на ареал его обитания, то сразу становится ясным что такая вещь была бы очень востребована (python3.1 -возможность указания кодировки при открытии файла, для внутреннего преображения используется utf8, дабы сие чудо работало так как нужно, то оно уже было бы встроенным во внутренности питона), плюс ареал его обитания -от мобильных устройств до Макоси.
"Люди пищущие модули могут качественно написать код"-далеко не факт, я как и любой другой могу выложить свой код, вот только у меня сомнения в его качестве, уважаемый Gifts в свое время поднимал вопрос по оптимизации xmpp бота на python, ибо жрал он много оперативки, для создания бота использовался xmpppy, что-то мне подсказывает что если бы это было написано им лично, то такой вопрос не ставал бы (имею ввиду модуль для работы с xmpp).
 
Ответить с цитированием

  #2  
Старый 13.08.2009, 19:18
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
С нами: 9497186

Репутация: 1304


По умолчанию

__mad К сожалению Universal Detector дает много неправильных срабатываний для достаточно коротких строк. Эксепшн в unicode тоже не панацея. Что ж, придется видимо первыми байтами передавать цифровой код, указывающую на кодировку, в случае отсутствия - переводить в хекс, а дальше пусть на той стороне разбираются
 
Ответить с цитированием

  #3  
Старый 14.08.2009, 09:44
login999
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
С нами: 9427413

Репутация: 973


По умолчанию

Цитата:
Сообщение от Gifts  
__mad К сожалению Universal Detector дает много неправильных срабатываний для достаточно коротких строк. Эксепшн в unicode тоже не панацея. Что ж, придется видимо первыми байтами передавать цифровой код, указывающую на кодировку, в случае отсутствия - переводить в хекс, а дальше пусть на той стороне разбираются
Мб лучше делать все через какой-то специализированный клиент, а юзерам давать возможность указывать кодировку?
Просто даже если брать консоль, то в виндовой консоли cp866, а в лине обычно utf8, что уже получается хрен знает что.
 
Ответить с цитированием

  #4  
Старый 14.08.2009, 15:13
__mad
Участник форума
Регистрация: 04.11.2007
Сообщений: 103
С нами: 9745696

Репутация: 104
По умолчанию

Цитата:
how it works - нихера не показатель, я могу тоже много чего наворотить и описать как оно типа должно работать.
И часто ли ты встречался с таким кодом (модулями) где автор пишет в описание одно, а код совершенно другой, помойму таки это уже попахивает паранойей. Да, и в мире СПО я с таким ни разу не встречался, обычно если есть какие то проблемы с модулем, о них пишут в секции Know Issue (Bugs, и т.п.), а за показатель качества кода говорит, например, комюнити сформировавшееся вокруг него.

Цитата:
то сразу становится ясным что такая вещь была бы очень востребована
(python3.1 -возможность указания кодировки при открытии файла)
Возможность указания, и распознавание кодировки - это разные вещи. Но речь не об этом.
В той мысли я имел ввиду не конкретный модуль, а то что необходимость пользоваться сторонними модулями будет всегда.

Цитата:
уважаемый Gifts в свое время поднимал вопрос по оптимизации xmpp бота на python, ибо жрал он много оперативки
А что ему мешало отрапортовать об проблеме автору бота? Уверен что он бы откликнулся и, возможно, исправил проблему, или же подсказал как это обойти. (В СПО, багрепорты, всегда приветствуются)

Цитата:
что-то мне подсказывает что если бы это было написано им лично, то такой вопрос не ставал бы
Возможно, но так же могли бы и появится другие проблемы, да и думаю что времени было бы потрачено больше, чем на исправления этой проблемы.
 
Ответить с цитированием

  #5  
Старый 14.08.2009, 15:39
login999
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
С нами: 9427413

Репутация: 973


По умолчанию

Цитата:
Сообщение от __mad  
И часто ли ты встречался с таким кодом (модулями) где автор пишет в описание одно, а код совершенно другой, помойму таки это уже попахивает паранойей. Да, и в мире СПО я с таким ни разу не встречался, обычно если есть какие то проблемы с модулем, о них пишут в секции Know Issue (Bugs, и т.п.), а за показатель качества кода говорит, например, комюнити сформировавшееся вокруг него.



Возможность указания, и распознавание кодировки - это разные вещи. Но речь не об этом.
В той мысли я имел ввиду не конкретный модуль, а то что необходимость пользоваться сторонними модулями будет всегда.



А что ему мешало отрапортовать об проблеме автору бота? Уверен что он бы откликнулся и, возможно, исправил проблему, или же подсказал как это обойти. (В СПО, багрепорты, всегда приветствуются)



Возможно, но так же могли бы и появится другие проблемы, да и думаю что времени было бы потрачено больше, чем на исправления этой проблемы.
Эхх, это не попахивает, это и есть паранойя и паталогическое недоверие к чужому коду (исключение составляют только действительно серьезные продукты, которые заслужили всеобщее признание и уважение , такие как Джанго, Твистед). Принципиально не использую сторонних модулей и считаю, что стандартной библиотеки питона в повседневной жизни хватает абсолютно с головой, для серьезных же проектов код пишется свой от А до Я (исключения из этого правила смотри выше). Если бы модуль автоматического определения кодировки работал исправно, то он бы давно уже был в стандартной поставке(хотя это может быть и только мое ИМХО). Необходимость использования сторонних модулей (не путать с фреймворками, см выше) стоит только для тех кто не хочет хотя бы на необходимом ему уровне разобраться с тем, чем он собрался оперировать, я же считаю неприемлимым для программиста работать с чем либо, не понимая КАК оно работает. Хотя в принципе я не программист, так что хз как там у кодеров принято...
=============================================
P.S> Забыл добавить - я мудак и ламо

Последний раз редактировалось login999; 14.08.2009 в 15:44..
 
Ответить с цитированием

  #6  
Старый 19.08.2009, 05:05
Tombik
Banned
Регистрация: 21.12.2008
Сообщений: 413
С нами: 9151111

Репутация: 352
По умолчанию

Почему не работает?((

Код:
#!/usr/bin/env python 
# Gmail Account Checker   
 
import sys, poplib 
 
def printHelp(): 
    print '\nUsage: ./gmailcheck.py <emaillist>' 
    print 'Example: ./gmailcheck.py emails.txt' 
    print '\nNote: The accounts must be in the following format: user@gmail.com:password\n' 
 
 
print ''' 
\t _____           _ _ 
\t|   __|_____ ___|_| | 
\t|  |  |     | .'| | | 
\t|_____|_|_|_|__,|_|_| 
\t   Account Checker  
''' 
 
if len(sys.argv) != 2: 
    printHelp() 
    exit(1) 
......

Последний раз редактировалось Tombik; 20.08.2009 в 09:05..
 
Ответить с цитированием

  #7  
Старый 19.08.2009, 09:05
login999
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
С нами: 9427413

Репутация: 973


По умолчанию

Ужоснах )
Дай попробую угадаю - сие есть творчество Дегидрейта с darkc0de.com ?.
aka
Код:
#d3hydr8[at]gmail[dot]com
Можно подробнее:
1. Какая версия питона установлена на той машине, где запускают скрипт.
2. Трейсбек ошибки (или текстом, или желательно скрин).
P.S. Желательно также ОС на которой это запускается, если для *nix, то как питон устанавливался (из репов или собирался вручную). И размер файлов которые грузятся в скрипт, ибо валидные акки хранятся в оперативке, и пишутся в файл уже после того как обработаются ВСЕ акки

Последний раз редактировалось login999; 19.08.2009 в 09:10..
 
Ответить с цитированием

  #8  
Старый 19.08.2009, 09:09
Tombik
Banned
Регистрация: 21.12.2008
Сообщений: 413
С нами: 9151111

Репутация: 352
По умолчанию

именно #d3hydr8[at]gmail[dot]com
запускаю ру, и нихрена не происходит. Открылось - закрылось)
 
Ответить с цитированием

  #9  
Старый 19.08.2009, 09:12
login999
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
С нами: 9427413

Репутация: 973


По умолчанию

попробуй запустить его через консоль, и скажи чего оно там выводит, самый простейший вариант - скопировать скрипт в корень диска C, потом зайти в консольку, сделать cd c:, потом имя_скрипта.py, вот ошибку которая вылезет скинешь сюда плиз, и уточни версию питона которая установлена у тебя на машине
 
Ответить с цитированием

  #10  
Старый 19.08.2009, 09:14
login999
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
С нами: 9427413

Репутация: 973


По умолчанию

Ой, вах-вах-вах, запустил токмо что сам, щас тебе переделаю его так чтоб не исчезал (он написан под Python2.6, поэтому на 3.1 запустить не получится)
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.