mirror of
				https://github.com/bestnite/bilinovel-downloader.git
				synced 2025-10-31 10:50:35 +00:00 
			
		
		
		
	This commit introduces new features for controlling the download process: - **Concurrency**: Users can now specify the number of concurrent volume downloads using the `--concurrency` flag. This significantly speeds up the download of entire novels. - **Headless Mode**: A `--headless` flag has been added to control whether the browser operates in headless mode (without a visible UI). This is useful for debugging or running in environments without a display. **Changes include:** - Updated `download` command to accept `--concurrency` and `--headless` flags. - Refactored `bilinovel` downloader to support `BilinovelNewOption` for configuring headless mode and concurrency. - Implemented a page pool and concurrency control mechanism within the `bilinovel` downloader to manage concurrent browser page usage. - Added `DownloadNovel` and `DownloadVolume` methods to the `bilinovel` downloader, utilizing goroutines and wait groups for parallel processing. - Updated `.vscode/launch.json` with new configurations for testing novel and volume downloads with the new options.
		
			
				
	
	
		
			13 lines
		
	
	
		
			412 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			13 lines
		
	
	
		
			412 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| package downloader
 | |
| 
 | |
| import "bilinovel-downloader/model"
 | |
| 
 | |
| type Downloader interface {
 | |
| 	GetNovel(novelId int, skipChapterContent bool, skipVolumes []int) (*model.Novel, error)
 | |
| 	GetVolume(novelId int, volumeId int, skipChapterContent bool) (*model.Volume, error)
 | |
| 	GetChapter(novelId int, volumeId int, chapterId int) (*model.Chapter, error)
 | |
| 	GetStyleCSS() string
 | |
| 	GetExtraFiles() []model.ExtraFile
 | |
| 	Close() error
 | |
| }
 |