forked from gitea/gitea
		
	* GitHub: migrate draft releases too * refactor
This commit is contained in:
		
							parent
							
								
									3bcf2e5c18
								
							
						
					
					
						commit
						8c4bf4c3b4
					
				| @ -248,14 +248,16 @@ func (g *GiteaLocalUploader) CreateReleases(releases ...*base.Release) error { | ||||
| 			rel.OriginalAuthorID = release.PublisherID | ||||
| 		} | ||||
| 
 | ||||
| 		// calc NumCommits | ||||
| 		commit, err := g.gitRepo.GetCommit(rel.TagName) | ||||
| 		if err != nil { | ||||
| 			return fmt.Errorf("GetCommit: %v", err) | ||||
| 		} | ||||
| 		rel.NumCommits, err = commit.CommitsCount() | ||||
| 		if err != nil { | ||||
| 			return fmt.Errorf("CommitsCount: %v", err) | ||||
| 		// calc NumCommits if no draft | ||||
| 		if !release.Draft { | ||||
| 			commit, err := g.gitRepo.GetCommit(rel.TagName) | ||||
| 			if err != nil { | ||||
| 				return fmt.Errorf("GetCommit: %v", err) | ||||
| 			} | ||||
| 			rel.NumCommits, err = commit.CommitsCount() | ||||
| 			if err != nil { | ||||
| 				return fmt.Errorf("CommitsCount: %v", err) | ||||
| 			} | ||||
| 		} | ||||
| 
 | ||||
| 		for _, asset := range release.Assets { | ||||
| @ -268,9 +270,10 @@ func (g *GiteaLocalUploader) CreateReleases(releases ...*base.Release) error { | ||||
| 			} | ||||
| 
 | ||||
| 			// download attachment | ||||
| 			err = func() error { | ||||
| 			err := func() error { | ||||
| 				// asset.DownloadURL maybe a local file | ||||
| 				var rc io.ReadCloser | ||||
| 				var err error | ||||
| 				if asset.DownloadURL == nil { | ||||
| 					rc, err = asset.DownloadFunc() | ||||
| 					if err != nil { | ||||
|  | ||||
| @ -264,34 +264,29 @@ func (g *GithubDownloaderV3) GetLabels() ([]*base.Label, error) { | ||||
| } | ||||
| 
 | ||||
| func (g *GithubDownloaderV3) convertGithubRelease(rel *github.RepositoryRelease) *base.Release { | ||||
| 	var ( | ||||
| 		name string | ||||
| 		desc string | ||||
| 	) | ||||
| 	if rel.Body != nil { | ||||
| 		desc = *rel.Body | ||||
| 	} | ||||
| 	if rel.Name != nil { | ||||
| 		name = *rel.Name | ||||
| 	} | ||||
| 
 | ||||
| 	var email string | ||||
| 	if rel.Author.Email != nil { | ||||
| 		email = *rel.Author.Email | ||||
| 	} | ||||
| 
 | ||||
| 	r := &base.Release{ | ||||
| 		TagName:         *rel.TagName, | ||||
| 		TargetCommitish: *rel.TargetCommitish, | ||||
| 		Name:            name, | ||||
| 		Body:            desc, | ||||
| 		Draft:           *rel.Draft, | ||||
| 		Prerelease:      *rel.Prerelease, | ||||
| 		Created:         rel.CreatedAt.Time, | ||||
| 		PublisherID:     *rel.Author.ID, | ||||
| 		PublisherName:   *rel.Author.Login, | ||||
| 		PublisherEmail:  email, | ||||
| 		Published:       rel.PublishedAt.Time, | ||||
| 	} | ||||
| 
 | ||||
| 	if rel.Body != nil { | ||||
| 		r.Body = *rel.Body | ||||
| 	} | ||||
| 	if rel.Name != nil { | ||||
| 		r.Name = *rel.Name | ||||
| 	} | ||||
| 
 | ||||
| 	if rel.Author.Email != nil { | ||||
| 		r.PublisherEmail = *rel.Author.Email | ||||
| 	} | ||||
| 
 | ||||
| 	if rel.PublishedAt != nil { | ||||
| 		r.Published = rel.PublishedAt.Time | ||||
| 	} | ||||
| 
 | ||||
| 	for _, asset := range rel.Assets { | ||||
| @ -306,18 +301,17 @@ func (g *GithubDownloaderV3) convertGithubRelease(rel *github.RepositoryRelease) | ||||
| 			Updated:       asset.UpdatedAt.Time, | ||||
| 			DownloadFunc: func() (io.ReadCloser, error) { | ||||
| 				g.sleep() | ||||
| 				asset, redir, err := g.client.Repositories.DownloadReleaseAsset(g.ctx, g.repoOwner, g.repoName, assetID, nil) | ||||
| 				asset, redirectURL, err := g.client.Repositories.DownloadReleaseAsset(g.ctx, g.repoOwner, g.repoName, assetID, nil) | ||||
| 				if err != nil { | ||||
| 					return nil, err | ||||
| 				} | ||||
| 				err = g.RefreshRate() | ||||
| 				if err != nil { | ||||
| 				if err := g.RefreshRate(); err != nil { | ||||
| 					log.Error("g.client.RateLimits: %s", err) | ||||
| 				} | ||||
| 				if asset == nil { | ||||
| 					if redir != "" { | ||||
| 					if redirectURL != "" { | ||||
| 						g.sleep() | ||||
| 						req, err := http.NewRequestWithContext(g.ctx, "GET", redir, nil) | ||||
| 						req, err := http.NewRequestWithContext(g.ctx, "GET", redirectURL, nil) | ||||
| 						if err != nil { | ||||
| 							return nil, err | ||||
| 						} | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 6543
						6543