subtitles.go 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package v1
  2. import (
  3. "fmt"
  4. "net/http"
  5. "path/filepath"
  6. "github.com/allanpk716/ChineseSubFinder/pkg"
  7. backend2 "github.com/allanpk716/ChineseSubFinder/pkg/types/backend"
  8. "github.com/gin-gonic/gin"
  9. )
  10. // RefreshMediaServerSubList 刷新媒体服务器的字幕列表
  11. func (cb *ControllerBase) RefreshMediaServerSubList(c *gin.Context) {
  12. var err error
  13. defer func() {
  14. // 统一的异常处理
  15. cb.ErrorProcess(c, "RefreshMediaServerSubList", err)
  16. }()
  17. err = cb.videoScanAndRefreshHelper.RefreshMediaServerSubList()
  18. if err != nil {
  19. cb.log.Errorln("RefreshMediaServerSubList", err)
  20. return
  21. }
  22. c.JSON(http.StatusOK, backend2.ReplyCommon{Message: "ok"})
  23. return
  24. }
  25. // ManualUploadSubtitle2Local 人工上传字幕
  26. func (cb *ControllerBase) ManualUploadSubtitle2Local(c *gin.Context) {
  27. var err error
  28. defer func() {
  29. // 统一的异常处理
  30. cb.ErrorProcess(c, "ManualUploadSubtitle2Local", err)
  31. }()
  32. videoFPath, ok := c.GetPostForm("video_f_path")
  33. if ok == false {
  34. err = fmt.Errorf("GetPostForm video_f_path failed")
  35. cb.log.Errorln(err)
  36. return
  37. }
  38. file, err := c.FormFile("file")
  39. if err != nil {
  40. err = fmt.Errorf("FormFile failed, err: %v", err)
  41. cb.log.Errorln(err)
  42. return
  43. }
  44. basePath, err := pkg.GetManualSubUploadCacheFolder()
  45. if err != nil {
  46. err = fmt.Errorf("GetManualSubUploadCacheFolder failed, err: %v", err)
  47. cb.log.Errorln(err)
  48. return
  49. }
  50. filename := filepath.Join(basePath, filepath.Base(file.Filename))
  51. if err = c.SaveUploadedFile(file, filename); err != nil {
  52. err = fmt.Errorf("SaveUploadedFile failed, err: %v", err)
  53. cb.log.Errorln(err)
  54. return
  55. }
  56. println("videoFPath", videoFPath)
  57. c.JSON(http.StatusOK, backend2.ReplyCommon{Message: "ok"})
  58. return
  59. }