Уведомления

Группа в Telegram: @pythonsu

#1 Июль 1, 2012 05:45:34

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

Grab тред

alexey-grom
odnochlen
Мне это не нужно, это уже есть в грабе. Мне нужен пост файла из памяти.

Ну и в чем проблема? Вместо c.FORM_FILE, нужно использовать c.FORM_CONTENTS. В граб это тоже есть: https://bitbucket.org/lorien/grab/src/953299d16194/grab/upload.py
И оно файлы аплоадит?

alexey-grom
odnochlen
А еще pycurl в имени файла не берет юникод.

Вам уже говорили что нужно конвертировать в однобайтовую кодировку.
А в какую именно? А если в имени файла символы, которых нет в текущей кодовой таблице?

alexey-grom
odnochlen
Но зачем?

хз зачем, поднимался такой вопрос - я его осветил
Как по мне - тупой совет. Зачем запускать однопоточную качалку вместо того, чтобы решить все средствами питона? Ну я бы так старался не делать.

alexey-grom
odnochlen
Где в pycurl аналог этого?

Вы либо не пытаетесь разобраться, либо мозги ебете
Это в pycurl заменяет это:
c.setopt(c.HTTPPOST,)
Простой список кортежей такого вида: (имя поля, (параметр1, значение1, параметр2, значение2, …) )
Где там CURLFORM_STREAM или CURLFORM_BUFFER?

Офлайн

#2 Июль 1, 2012 06:02:43

alexey-grom
От: Новосибирск
Зарегистрирован: 2012-03-09
Сообщения: 14
Репутация: +  3  -
Профиль   Отправить e-mail  

Grab тред

odnochlen
И оно файлы аплоадит?
Оно аплоадит контент из оперативы, так, будто это файл. Еще конечно нужно передать обязательно FORM_FILENAME, а то скрипт на стороне сервера может не понять что это именно файл.

odnochlen
А в какую именно? А если в имени файла символы, которых нет в текущей кодовой таблице?
Это уже ваши проблемы, что там такие символы. Если нужно передать именно настоящее имя файла, а не фейковое, то кодируйте как-нибудь хитро.
u'жопажопа.jpg'.encode('raw_unicode_escape')
. Если серверный скрипт ваш, то вообще проблемы нет, а если не ваш - смиритесь. :P

odnochlen
Как по мне - тупой совет. Зачем запускать однопоточную качалку вместо того, чтобы решить все средствами питона? Ну я бы так старался не делать.
Ну запускайте несколько процессов сразу, для это средств питона - масса.
Напишите тогда свою реализацию curl, что уж мелочится. Разумнее подход когда вместо своих глюков те же функции перекладывают на сторонний вылизанный софт. wget просто пример, что для скачивания именно гиговых файлов инструмент еще повыбирать надо бы.

odnochlen
Где там CURLFORM_STREAM или CURLFORM_BUFFER?
Там это где? Авторы pycurl справедливо посчитали что ничего кроме FORM_CONTENTS, FORM_CONTENTTYPE, FORM_FILE, FORM_FILENAME не нужно. Так что берем константу и ставим куда надо руками.



Отредактировано alexey-grom (Июль 1, 2012 06:15:02)

Офлайн

#3 Июль 1, 2012 07:55:47

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

Grab тред

alexey-grom
odnochlen
А в какую именно? А если в имени файла символы, которых нет в текущей кодовой таблице?

Это уже ваши проблемы, что там такие символы. Если нужно передать именно настоящее имя файла, а не фейковое, то кодируйте как-нибудь хитро.
Да нет, я про случай, когда файл читается с диска.

alexey-grom
odnochlen
Как по мне - тупой совет. Зачем запускать однопоточную качалку вместо того, чтобы решить все средствами питона? Ну я бы так старался не делать.

Ну запускайте несколько процессов сразу, для это средств питона - масса.
Напишите тогда свою реализацию curl, что уж мелочится. Разумнее подход когда вместо своих глюков те же функции перекладывают на сторонний вылизанный софт. wget просто пример, что для скачивания именно гиговых файлов инструмент еще повыбирать надо бы.
А что, средствами питона сразу на диск никак не скачать, это слишком хай левел для питона?

alexey-grom
Там это где? Авторы pycurl справедливо посчитали что ничего кроме FORM_CONTENTS, FORM_CONTENTTYPE, FORM_FILE, FORM_FILENAME не нужно. Так что берем константу и ставим куда надо руками.
Странно. Читаю доки на libcurl - там написано про такие способы передачи файла. “Автор
ы pycurl справедливо посчитали” - т.е. они занимаются чем-то еще, кроме передачи сишного апи на питон?

alexey-grom
Оно аплоадит контент из оперативы, так, будто это файл. Еще конечно нужно передать обязательно FORM_FILENAME, а то скрипт на стороне сервера может не понять что это именно файл.
Может, ты сам проверишь то, что предлагаешь? А то похоже на, как ты выразился, мозгоебку и дешевый троллинг.

Офлайн

#4 Июль 1, 2012 08:42:51

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

Grab тред

КОКОКО
Что, простите?

Офлайн

#5 Июль 1, 2012 08:57:34

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

Grab тред

Забаньте еблана.

Офлайн

#6 Июль 1, 2012 19:15:06

fata1ex
От:
Зарегистрирован: 2009-07-11
Сообщения: 732
Репутация: +  52  -
Профиль   Отправить e-mail  

Grab тред

_



Отредактировано fata1ex (Июль 2, 2012 14:14:24)

Офлайн

#7 Июль 2, 2012 13:50:09

yvezojot
Зарегистрирован: 2012-07-02
Сообщения: 8
Репутация: +  -2  -
Профиль   Отправить e-mail  

Grab тред

odnochlen, почему ты такой тупой?

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version