#42 Upload fail on peertube when there is only one tag

クローズ
LecygneNoir4年前に作成 · 3件のコメント
LecygneNoir4年前 にコメント
オーナー

Hello,

A bug was found by @Zykino , when uploading a video to Peertube, if there is only one tag, the upload fail whith an error 400

Error from Peertube logs is:

  "path": "/api/v1/videos/upload",
  "err": {
    "tags": {
      "value": "Factory Builder",
      "msg": "Should have correct tags",
      "param": "tags",
      "location": "body"
    }
  }
}

If we add any other tags (eg something like "Factory Builder, test") it works.

If we upload the video through the web interface with only one tags, it also works.

Note sure at the moment if this is a prismedia or Peertube's API bug, I'll need to dig it.

To reproduce:

 ./prismedia_upload.py --file="file.mp4"  -t "Factory Builder" --platform=peertube
Hello, A bug was found by @Zykino , when uploading a video to Peertube, if there is only one tag, the upload fail whith an error 400 Error from Peertube logs is: ``` "path": "/api/v1/videos/upload", "err": { "tags": { "value": "Factory Builder", "msg": "Should have correct tags", "param": "tags", "location": "body" } } } ``` If we add any other tags (eg something like `"Factory Builder, test"`) it works. If we upload the video through the web interface with only one tags, it also works. Note sure at the moment if this is a prismedia or Peertube's API bug, I'll need to dig it. To reproduce: ``` ./prismedia_upload.py --file="file.mp4" -t "Factory Builder" --platform=peertube ```
LecygneNoir がラベル
bug
を追加 4年前
Zykino4年前 にコメント
投稿者

Following the official doc there should be between 1 and 5 items in an array. According to the log you provided there "value" is a string instead.

I suppose this https://git.lecygnenoir.info/LecygneNoir/prismedia/src/tag/v0.7.0/lib/pt_upload.py#L207 create a string at first and then an array if we add more tag. I do not know how to fix it right now.

Following the [official doc](https://docs.joinpeertube.org/api-rest-reference.html#tag/Video/paths/~1videos~1upload/post) there should be between 1 and 5 items in an *array*. According to the log you provided there `"value"` is a string instead. I suppose this https://git.lecygnenoir.info/LecygneNoir/prismedia/src/tag/v0.7.0/lib/pt_upload.py#L207 create a string at first and then an array if we add more tag. I do not know how to fix it right now.
LecygneNoir4年前 にコメント
投稿者
オーナー

Great catch!

It's indeed probably that. I'll dig the library to see how to create an array at first round.

Thanks!

Great catch! It's indeed probably that. I'll dig the library to see how to create an array at first round. Thanks!
LecygneNoir4年前 にコメント
投稿者
オーナー

Solved by 5dc6c78211

Solved by https://git.lecygnenoir.info/LecygneNoir/prismedia/commit/5dc6c782117c3d04e5098a5cd00191ee3de2a51b
LecygneNoir が課題をクローズ 4年前
サインインしてこの会話に参加。
マイルストーンなし
担当者なし
2 人の参加者
通知
期日

期日は未設定です。

依存関係

この課題に依存関係はありません。

読み込み中…
まだ内容がありません