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

已关闭
LecygneNoir4 年前创建 · 3 条评论
LecygneNoir 评论于 4 年前
所有者

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 年前
Zykino 评论于 4 年前
发布者

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.
LecygneNoir 评论于 4 年前
发布者
所有者

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!
LecygneNoir 评论于 4 年前
发布者
所有者

Solved by 5dc6c78211

Solved by https://git.lecygnenoir.info/LecygneNoir/prismedia/commit/5dc6c782117c3d04e5098a5cd00191ee3de2a51b
LecygneNoir 关闭这个问题 4 年前
登录 并参与到对话中。
未选择里程碑
未指派成员
2 名参与者
通知
到期时间

未设置到期时间。

依赖工单

此工单当前没有任何依赖。

正在加载...
这个人很懒,什么都没留下。