$ asciinema upload /var/folders/v2/g27ngtds20zg60cy_f2jb_l80000gn/T/tmpub1dsng9-ascii.cast
asciinema: upload failed: <urlopen error [Errno 32] Broken pipe>
asciinema: retry later by running: asciinema upload /var/folders/v2/g27ngtds20zg60cy_f2jb_l80000gn/T/tmpub1dsng9-ascii.cast
Вот приложение в tmp-папке
$ exa -l /var/folders/v2/g27ngtds20zg60cy_f2jb_l80000gn/T/tmpub1dsng9-ascii.cast
.rw------- 5.8M user 28 Jan 16:33 /var/folders/v2/g27ngtds20zg60cy_f2jb_l80000gn/T/tmpub1dsng9-ascii.cast
Не уверен, почему вы не получаете правильного сообщения об ошибке, но существует ограничение на 5 МБ для загрузки файлов. См. №91
Да, это проблема с ограничением размера.
У asciinema есть обработчик ошибок для статуса 413 (который в данном случае возвращается веб-сервером), но кажется, что он никогда не обрабатывается должным образом из-за того, как работает urllib Python. Вы можете узнать больше о проблеме здесь: https://github.com/kennethreitz/requests/issues/2422#issuecomment -184012765
Сегодня столкнулся с той же проблемой. Что вы думаете о временной мере, когда на стороне клиента появляется предупреждение, если размер загружаемого файла превышает 5M?
Я регулярно сталкиваюсь с этим, намного ниже лимита в 5 миллионов.
[schwarzgerat](2) $ ls -l /tmp/user/1000/tmpaxpadd2n-ascii.cast
-rw------- 1 dank dank 592498 2020-01-05 08:57 /tmp/user/1000/tmpaxpadd2n-ascii.cast
[schwarzgerat](0) $ asciinema upload /tmp/user/1000/tmpaxpadd2n-ascii.cast
asciinema: upload failed: <urlopen error [Errno 32] Broken pipe>
asciinema: retry later by running: asciinema upload /tmp/user/1000/tmpaxpadd2n-ascii.cast
[schwarzgerat](1) $
Это всего 600К. Играет отлично локально.
Здесь можно воспроизвести:
$ asciinema upload display_sweep.cast
asciinema: upload failed: <urlopen error [Errno 32] Broken pipe>
asciinema: retry later by running: asciinema upload display_sweep.cast
$ ll -h display_sweep.cast
-rw-r--r-- 1 nicoo nicoo 2.3M Jan 14 21:29 display_sweep.cast
То же самое происходит и с файлами меньшего размера. Я попытался воспроизвести с помощью curl
но это сработало нормально:
$ curl --http1.1 -v -u $USER:$(cat ~/.config/asciinema/install-id) https://asciinema.org/api/asciicasts -F asciicast=@display_sweep.cast
* Trying 109.107.38.78:443...
* TCP_NODELAY set
* Connected to asciinema.org (109.107.38.78) port 443 (#0)
* ALPN, offering http/1.1
* successfully set certificate verify locations:
* CAfile: none
CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384
* ALPN, server accepted to use http/1.1
* Server certificate:
* subject: CN=asciinema.org
* start date: Jan 16 08:09:20 2020 GMT
* expire date: Apr 15 08:09:20 2020 GMT
* subjectAltName: host "asciinema.org" matched cert's "asciinema.org"
* issuer: C=US; O=Let's Encrypt; CN=Let's Encrypt Authority X3
* SSL certificate verify ok.
* Server auth using Basic with user 'nicoo'
> POST /api/asciicasts HTTP/1.1
> Host: asciinema.org
> Authorization: Basic XXXXSECRETVALUEHERE
> User-Agent: curl/7.67.0
> Accept: */*
> Content-Length: 2332762
> Content-Type: multipart/form-data; boundary=------------------------8506bb168e19a8c6
> Expect: 100-continue
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 100 Continue
* We are completely uploaded and fine
* Mark bundle as not supporting multiuse
< HTTP/1.1 201 Created
< Cache-Control: max-age=0, private, must-revalidate
< Content-Length: 78
< Content-Type: text/plain; charset=utf-8
< Date: Fri, 17 Jan 2020 16:47:43 GMT
< Location: https://asciinema.org/a/ucRJ70xKSlhN1QlmMW0BdSUBf
< Server: Caddy
< Server: nginx
< Strict-Transport-Security: max-age=15768000
< X-Request-Id: 2nlbkv35ad6doecmo07jcdm2
<
View the recording at:
https://asciinema.org/a/ucRJ70xKSlhN1QlmMW0BdSUBf
* Connection #0 to host asciinema.org left intact
Похоже, это проблема, специфичная для клиента HTTP API asciinema
; Я столкнулся с этим даже при установке asciinema
form pip
в свежую venv
; локальная версия python - 3.7.5 (как в Debian 11 / тестирование)
Не уверен, почему вы не получаете правильного сообщения об ошибке, но существует ограничение на
Это должен быть пункт часто задаваемых вопросов.
Как только я увидел, что "сломанная труба" повторилась дважды, я заподозрил, что мои 6.3M-касты превысили лимит загрузки.
Но на самом деле поиск этой ветки занял ... эээ ... 24 минуты. Примерно 15 из которых я возился с сертификацией discobot
, надеясь, что это позволит мне опубликовать вопрос в разделе обсуждения часто задаваемых вопросов (этого не произошло).
Я получаю эту небольшую ошибку:
`` sontek @ hulk : / mnt / c / Users / sontek / code / snowmachine $ exit
asciinema: запись завершена
asciinema: пресса
asciinema: загрузка не удалась:
asciinema: повторите попытку позже, запустив: asciinema upload /tmp/tmpe_sntawl-ascii.cast
sontek @ hulk : / mnt / c / Users / sontek / code / snowmachine $ du -sh /tmp/tmpe_sntawl-ascii.cast
184 КБ /tmp/tmpe_sntawl-ascii.cast
sontek @ hulk : / mnt / c / Users / sontek / code / snowmachine $
Tried uploading it later too:
sontek @ hulk : / mnt / c / Users / sontek / code / snowmachine $ asciinema upload /tmp/tmpe_sntawl-ascii.cast
asciinema: загрузка не удалась:
asciinema: повторите попытку позже, запустив: asciinema upload /tmp/tmpe_sntawl-ascii.cast
`` ''