Форум сайта python.su
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Где там CURLFORM_STREAM или CURLFORM_BUFFER?
odnochlen
Где в pycurl аналог этого?
Вы либо не пытаетесь разобраться, либо мозги ебете
Это в pycurl заменяет это:
c.setopt(c.HTTPPOST,)
Простой список кортежей такого вида: (имя поля, (параметр1, значение1, параметр2, значение2, …) )
Офлайн
odnochlenОно аплоадит контент из оперативы, так, будто это файл. Еще конечно нужно передать обязательно FORM_FILENAME, а то скрипт на стороне сервера может не понять что это именно файл.
И оно файлы аплоадит?
odnochlenЭто уже ваши проблемы, что там такие символы. Если нужно передать именно настоящее имя файла, а не фейковое, то кодируйте как-нибудь хитро.
А в какую именно? А если в имени файла символы, которых нет в текущей кодовой таблице?
u'жопажопа.jpg'.encode('raw_unicode_escape')
odnochlenНу запускайте несколько процессов сразу, для это средств питона - масса.
Как по мне - тупой совет. Зачем запускать однопоточную качалку вместо того, чтобы решить все средствами питона? Ну я бы так старался не делать.
odnochlenТам это где? Авторы pycurl справедливо посчитали что ничего кроме FORM_CONTENTS, FORM_CONTENTTYPE, FORM_FILE, FORM_FILENAME не нужно. Так что берем константу и ставим куда надо руками.
Где там CURLFORM_STREAM или CURLFORM_BUFFER?
Отредактировано alexey-grom (Июль 1, 2012 06:15:02)
Офлайн
alexey-gromДа нет, я про случай, когда файл читается с диска.
odnochlen
А в какую именно? А если в имени файла символы, которых нет в текущей кодовой таблице?
Это уже ваши проблемы, что там такие символы. Если нужно передать именно настоящее имя файла, а не фейковое, то кодируйте как-нибудь хитро.
alexey-gromА что, средствами питона сразу на диск никак не скачать, это слишком хай левел для питона?
odnochlen
Как по мне - тупой совет. Зачем запускать однопоточную качалку вместо того, чтобы решить все средствами питона? Ну я бы так старался не делать.
Ну запускайте несколько процессов сразу, для это средств питона - масса.
Напишите тогда свою реализацию curl, что уж мелочится. Разумнее подход когда вместо своих глюков те же функции перекладывают на сторонний вылизанный софт. wget просто пример, что для скачивания именно гиговых файлов инструмент еще повыбирать надо бы.
alexey-gromСтранно. Читаю доки на libcurl - там написано про такие способы передачи файла. “Автор
Там это где? Авторы pycurl справедливо посчитали что ничего кроме FORM_CONTENTS, FORM_CONTENTTYPE, FORM_FILE, FORM_FILENAME не нужно. Так что берем константу и ставим куда надо руками.
alexey-gromМожет, ты сам проверишь то, что предлагаешь? А то похоже на, как ты выразился, мозгоебку и дешевый троллинг.
Оно аплоадит контент из оперативы, так, будто это файл. Еще конечно нужно передать обязательно FORM_FILENAME, а то скрипт на стороне сервера может не понять что это именно файл.
Офлайн
КОКОКОЧто, простите?
Офлайн
Забаньте еблана.
Офлайн
_
Отредактировано fata1ex (Июль 2, 2012 14:14:24)
Офлайн
odnochlen, почему ты такой тупой?
Офлайн