fzxiao233/Vtb_Record

View on GitHub

Showing 140 of 140 total issues

Method ProcessVideo.startDownloadVideo has a Cognitive Complexity of 39 (exceeds 20 allowed). Consider refactoring.
Open

func (p *ProcessVideo) startDownloadVideo() {
logger := p.getLogger()
dirpath := p.LiveStatus.Video.UsersConfig.DownloadDir
 
func() {
Severity: Minor
Found in live/videoworker/videoProcesser.go - About 3 hrs to fix

Function arrangeTask has a Cognitive Complexity of 36 (exceeds 20 allowed). Consider refactoring.
Open

func arrangeTask() {
log.Printf("Arrange tasks...")
pm := initPluginManager()
status := make([]map[string]bool, len(config.Config.Module))
for i, module := range config.Config.Module {
Severity: Minor
Found in main.go - About 2 hrs to fix

Method ProcessVideo.startDownloadVideo has 75 lines of code (exceeds 50 allowed). Consider refactoring.
Open

func (p *ProcessVideo) startDownloadVideo() {
logger := p.getLogger()
dirpath := p.LiveStatus.Video.UsersConfig.DownloadDir
 
func() {
Severity: Minor
Found in live/videoworker/videoProcesser.go - About 2 hrs to fix

    Function arrangeTask has 61 lines of code (exceeds 50 allowed). Consider refactoring.
    Open

    func arrangeTask() {
    log.Printf("Arrange tasks...")
    pm := initPluginManager()
    status := make([]map[string]bool, len(config.Config.Module))
    for i, module := range config.Config.Module {
    Severity: Minor
    Found in main.go - About 1 hr to fix

      Similar blocks of code found in 2 locations. Consider refactoring.
      Open

      func (p *PluginManager) OnDownloadStart(video *ProcessVideo) {
      var wg sync.WaitGroup
      wg.Add(len(p.plugins))
      for _, plug := range p.plugins {
      go func(callback PluginCallback) {
      Severity: Major
      Found in live/videoworker/plugin_manager.go and 1 other location - About 1 hr to fix
      live/videoworker/plugin_manager.go on lines 22..35

      Similar blocks of code found in 2 locations. Consider refactoring.
      Open

      func (p *PluginManager) OnLiveStart(video *ProcessVideo) {
      var wg sync.WaitGroup
      wg.Add(len(p.plugins))
      for _, plug := range p.plugins {
      go func(callback PluginCallback) {
      Severity: Major
      Found in live/videoworker/plugin_manager.go and 1 other location - About 1 hr to fix
      live/videoworker/plugin_manager.go on lines 37..50

      Function HttpDoWithBufferEx has 56 lines of code (exceeds 50 allowed). Consider refactoring.
      Open

      func HttpDoWithBufferEx(ctx context.Context, client *http.Client, meth string, url string, header map[string]string, data []byte, buf *bytes.Buffer) (*bytes.Buffer, error) {
      if client == nil {
      client = &http.Client{}
      }
      var dataReader io.Reader
      Severity: Minor
      Found in utils/utils.go - About 1 hr to fix

        Function HttpDoWithBufferEx has a Cognitive Complexity of 25 (exceeds 20 allowed). Consider refactoring.
        Open

        func HttpDoWithBufferEx(ctx context.Context, client *http.Client, meth string, url string, header map[string]string, data []byte, buf *bytes.Buffer) (*bytes.Buffer, error) {
        if client == nil {
        client = &http.Client{}
        }
        var dataReader io.Reader
        Severity: Minor
        Found in utils/utils.go - About 1 hr to fix

        Method BilibiliPoller.getStatusUseFollow has 51 lines of code (exceeds 50 allowed). Consider refactoring.
        Open

        func (b *BilibiliPoller) getStatusUseFollow() error {
        ctx := base.GetCtx("Bilibili")
        if ctx == nil {
        return nil
        }
        Severity: Minor
        Found in live/monitor/bilibili/bilibili.go - About 1 hr to fix

          Function HttpDoWithBufferEx has 7 arguments (exceeds 4 allowed). Consider refactoring.
          Open

          func HttpDoWithBufferEx(ctx context.Context, client *http.Client, meth string, url string, header map[string]string, data []byte, buf *bytes.Buffer) (*bytes.Buffer, error) {
          Severity: Major
          Found in utils/utils.go - About 50 mins to fix

            Function HttpDoWithBufferEx has 7 return statements (exceeds 4 allowed).
            Open

            func HttpDoWithBufferEx(ctx context.Context, client *http.Client, meth string, url string, header map[string]string, data []byte, buf *bytes.Buffer) (*bytes.Buffer, error) {
            if client == nil {
            client = &http.Client{}
            }
            var dataReader io.Reader
            Severity: Major
            Found in utils/utils.go - About 45 mins to fix

              Method BilibiliPoller.getStatusUseFollow has 5 return statements (exceeds 4 allowed).
              Open

              func (b *BilibiliPoller) getStatusUseFollow() error {
              ctx := base.GetCtx("Bilibili")
              if ctx == nil {
              return nil
              }
              Severity: Major
              Found in live/monitor/bilibili/bilibili.go - About 35 mins to fix

                Method Youtube.getVideoInfo has 5 return statements (exceeds 4 allowed).
                Open

                func (y *Youtube) getVideoInfo(ctx *base.MonitorCtx, baseHost string, channelId string) error {
                url := baseHost + "/channel/" + channelId + "/live"
                htmlBody, err := ctx.HttpGet(url, map[string]string{})
                if err != nil {
                return err
                Severity: Major
                Found in live/monitor/youtube/youtube.go - About 35 mins to fix

                  struct field HttpHeaders should be HTTPHeaders
                  Open

                  HttpHeaders map[string]string
                  Severity: Minor
                  Found in live/monitor/base/monitorbase.go by golint

                  if block ends with a return statement, so drop this else and outdent its block
                  Open

                  } else {
                  Severity: Minor
                  Found in live/monitor/base/monitorbase.go by golint

                  struct field TargetId should be TargetID
                  Open

                  TargetId string
                  Severity: Minor
                  Found in live/monitor/bilibili/bilibili.go by golint

                  exported var TwitSemaphore should have comment or be unexported
                  Open

                  var TwitSemaphore = semaphore.NewWeighted(3)

                  exported method PluginCQBot.LiveEnd should have comment or be unexported
                  Open

                  func (p *PluginCQBot) LiveEnd(process *videoworker.ProcessVideo) error {
                  Severity: Minor
                  Found in live/plugins/cqBot.go by golint

                  exported type DownloaderStreamlink should have comment or be unexported
                  Open

                  type DownloaderStreamlink struct {

                  exported function AddSuffix should have comment or be unexported
                  Open

                  func AddSuffix(aFilepath string, suffix string) string {
                  Severity: Minor
                  Found in utils/utils.go by golint
                  Severity
                  Category
                  Status
                  Source
                  Language