Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 28, 2012 19:35:56

odnochlen
Зарегистрирован: 2012-06-28
Сообщения: 794
Репутация: +  14  -
Профиль   Отправить e-mail  

Grab тред

lorien
Unicode - это виртуальный формат, чтоб передать или сохранить куда-либо данные, нужно привести их к осязаемомому формату, который можно пощупать, к любой кодировке: cp1251, utf-8, koi8-r, latin-1 и т.д.
Не понял ничего.
UploadFile не принимает имя файла в юникоде.

lorien
1) Сохранить строку в файл и использовать UploadFile
Как классно. А сам pycurl так может?

Офлайн

#2 Июнь 28, 2012 21:39:13

odnochlen
Зарегистрирован: 2012-06-28
Сообщения: 794
Репутация: +  14  -
Профиль   Отправить e-mail  

Grab тред

lorien
> UploadFile не принимает имя файла в юникоде.
Ну так переведите в utf-8 его.
А почему в utf8? Может, лучше UploadFile поправить?

lorien
> Как классно. А сам pycurl так может?
Как так?
Аплоадить файл не с диска.

Офлайн

#3 Июнь 29, 2012 00:20:54

odnochlen
Зарегистрирован: 2012-06-28
Сообщения: 794
Репутация: +  14  -
Профиль   Отправить e-mail  

Grab тред

lorien
2) Есть ещё grab.upload.UploadContent, но по-моему он не работает. Я не помню, очень давно делал эту фичу.
Не, эт не то. Надо так, через READFUNCTION. Добавишь?

Офлайн

#4 Июнь 29, 2012 08:49:02

odnochlen
Зарегистрирован: 2012-06-28
Сообщения: 794
Репутация: +  14  -
Профиль   Отправить e-mail  

Grab тред

lorien
> А почему в utf8? Может, лучше UploadFile поправить?
Не знаю, надо подумать. На уровне ОС имя файла хранится же в уникоде, а в какой-то кодировке. Надо решить должен ли Grab угадывать эту кодировку или это задача пользователя Grab.
open() же не угадывает, а берет юникод?

lorien
> Не, эт не то. Надо так, через READFUNCTION. Добавишь?
Так это не заливка файла с помощью multipart/form-data - это просто заливка данных, считанных из файла, насколько я понимаю. То же самое сейчас можно сделать с помощью:
Заливка - это put запрос?

Неужели в pycurl нету post файла не с диска?

Офлайн

#5 Июнь 29, 2012 10:23:37

odnochlen
Зарегистрирован: 2012-06-28
Сообщения: 794
Репутация: +  14  -
Профиль   Отправить e-mail  

Grab тред

Может, это

CURLFORM_BUFFER

is used for custom file upload parts without use of CURLFORM_FILE. It tells libcurl that the file contents are already present in a buffer. The parameter is a string which provides the filename field in the content header.

Офлайн

#6 Июнь 29, 2012 18:38:37

odnochlen
Зарегистрирован: 2012-06-28
Сообщения: 794
Репутация: +  14  -
Профиль   Отправить e-mail  

Grab тред

lorien
Если передать utf-8 в UploadFile, то всё работает. Проблема в том, что на ОС windows например, возможно, надо не utf-8 а другую кодировку, да и в linux это зависит от настроек каких-то думаю.
А то. Юникод pycurl никак не берет?

lorien
Предоставь код на pycurl, который делает заливку файла не с диска(что бы это ни значило), я внедрю этот код в Grab.
Что это значит - вроде бы понятно. Только я в этом гавне ничего не понимаю. Как я понял, в pycurl доступны только curl_easy_setopt, а с ним хз как. Доки ссылаются на CURLOPT_HTTPPOST, параметр которого строится с помощью curl_formadd, который в pycurl тупо недоступен. Честно, чем в этом УГ ковырятся, проще было бы написать нативный код на питоне.

Офлайн

#7 Июнь 29, 2012 20:27:14

odnochlen
Зарегистрирован: 2012-06-28
Сообщения: 794
Репутация: +  14  -
Профиль   Отправить e-mail  

Grab тред

lorien
> А то. Юникод pycurl никак не берет?
Не знаю. Если вам это так сильно нужно - разберитесь, присылайте патч к грабу.
Ну если Вы так ставите вопрос, то нам это не настолько сильно нужно.
Разве что в поддержу написать.

lorien
> Честно, чем в этом УГ ковырятся, проще было бы написать нативный код на питоне.
Пишите нативный код. Присылайте патч.
Я имел в виду заменить pycurl на что-то нативное.

A поддержку FORM_FILENAME запилить можете?

Отредактировано odnochlen (Июнь 29, 2012 20:43:30)

Офлайн

#8 Июнь 29, 2012 20:59:34

odnochlen
Зарегистрирован: 2012-06-28
Сообщения: 794
Репутация: +  14  -
Профиль   Отправить e-mail  

Grab тред

lorien
> A поддержку FORM_FILENAME запилить можете?
Что это? Опять же, почему сами не запилите? Это же Open Source. Каждый пилит то, что ему нужно.
Потому, что это Ваш модуль и Вы его лучше знаете?
Не хотите ничего делать - так и напишите.

Офлайн

#9 Июнь 29, 2012 21:49:17

odnochlen
Зарегистрирован: 2012-06-28
Сообщения: 794
Репутация: +  14  -
Профиль   Отправить e-mail  

Grab тред

lorien
У вас какое-то странное представление об Open Source.
Опенсорс -это лицензия кода, больше ничего. Хотя есть люди, которые считают, что опенсорс - это полный отказ от ответственности, ненадобность документации и прижизненный памятник. О таких еще Карманов пишет.
Так же, как и в проектах с закрытым кодом, есть разрабы, которые с удовольствием добавляют фичи, и есть те, которым пофиг.

lorien
Но неприятно то, что мало людей, которые хотят разобраться, что там внутри и что-то подкрутить.
Люди, которые хотят и могут разбираться в угробищном (с точки зрения питониста) pycurl - это обычно не те люди, которые хотят пользоваться высокоуровневой библиотекой.

lorien
Но это не значит, что я горю желанием делать фичереквесты пользователей библиотеки.
Ну тогда не горите дальше. Не очень тогда понятно, почему Вы поподнимали темы про pycurl аж 2007 года.

P.S. Как Вам уже сказали, Вы пишется с большой буквы.

Офлайн

#10 Июнь 29, 2012 22:17:33

odnochlen
Зарегистрирован: 2012-06-28
Сообщения: 794
Репутация: +  14  -
Профиль   Отправить e-mail  

Grab тред

lorien
При чём тут лицензия вообще?
При том, что юзеру по барабану лицензия кода - он оценивает результат.
Эта культура интересна разработчикам, у которых интересы совпадают с Вашими. Другим на нее плевать, пока нету результата. Закрытая программа, поддерживаемая разработчиком, интереснее опенсорсной, где проггер пишет для себя и просто выкладывает код, не интересуясь мнением других о нем.

lorien
> Люди, которые хотят и могут разбираться в угробищном (с точки зрения питониста) pycurl - это обычно не те люди, которые хотят пользоваться высокоуровневой библиотекой.
Я же вам выше написал, в грабе разные транспорты есть. Вам похоже больше нравится демагогией заниматься, чем изучать сорцы Grab, читать его документацию, пробовать транспорты отличные от pycurl.
Сами же написали, что там конь не валялся.
Алсо изучение этого барахла почти равносильно написанию своей библиотеки.

lorien
asilyator, перелогинься
Для того, чтобы знать родной (или он Вам не родной?) язык, Вам асилятор нужен?
Вы с маленькой при обращении к одному человеку - это “для вас, козлов”, банальное хамство.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version