Bug fixes

This commit is contained in:
Stash Dev
2019-02-10 12:15:36 -08:00
parent 0472f9a8ed
commit 47e788ad64
6 changed files with 17 additions and 26 deletions

View File

@@ -19,6 +19,7 @@ type ExportTask struct {
} }
func (t *ExportTask) Start(wg *sync.WaitGroup) { func (t *ExportTask) Start(wg *sync.WaitGroup) {
defer wg.Done()
// @manager.total = Scene.count + Gallery.count + Performer.count + Studio.count // @manager.total = Scene.count + Gallery.count + Performer.count + Studio.count
t.Mappings = &jsonschema.Mappings{} t.Mappings = &jsonschema.Mappings{}
@@ -36,8 +37,6 @@ func (t *ExportTask) Start(wg *sync.WaitGroup) {
} }
t.ExportScrapedItems(ctx) t.ExportScrapedItems(ctx)
wg.Done()
} }
func (t *ExportTask) ExportScenes(ctx context.Context) { func (t *ExportTask) ExportScenes(ctx context.Context) {

View File

@@ -16,18 +16,18 @@ type GenerateMarkersTask struct {
} }
func (t *GenerateMarkersTask) Start(wg *sync.WaitGroup) { func (t *GenerateMarkersTask) Start(wg *sync.WaitGroup) {
defer wg.Done()
instance.Paths.Generated.EmptyTmpDir() instance.Paths.Generated.EmptyTmpDir()
qb := models.NewSceneMarkerQueryBuilder() qb := models.NewSceneMarkerQueryBuilder()
sceneMarkers, _ := qb.FindBySceneID(t.Scene.ID, nil) sceneMarkers, _ := qb.FindBySceneID(t.Scene.ID, nil)
if len(sceneMarkers) == 0 { if len(sceneMarkers) == 0 {
wg.Done()
return return
} }
videoFile, err := ffmpeg.NewVideoFile(instance.Paths.FixedPaths.FFProbe, t.Scene.Path) videoFile, err := ffmpeg.NewVideoFile(instance.Paths.FixedPaths.FFProbe, t.Scene.Path)
if err != nil { if err != nil {
logger.Errorf("error reading video file: %s", err.Error()) logger.Errorf("error reading video file: %s", err.Error())
wg.Done()
return return
} }
@@ -74,6 +74,4 @@ func (t *GenerateMarkersTask) Start(wg *sync.WaitGroup) {
} }
} }
} }
wg.Done()
} }

View File

@@ -13,39 +13,35 @@ type GeneratePreviewTask struct {
} }
func (t *GeneratePreviewTask) Start(wg *sync.WaitGroup) { func (t *GeneratePreviewTask) Start(wg *sync.WaitGroup) {
defer wg.Done()
videoFilename := t.videoFilename() videoFilename := t.videoFilename()
imageFilename := t.imageFilename() imageFilename := t.imageFilename()
if t.doesPreviewExist(videoFilename, imageFilename) { if t.doesPreviewExist(t.Scene.Checksum) {
wg.Done()
return return
} }
videoFile, err := ffmpeg.NewVideoFile(instance.Paths.FixedPaths.FFProbe, t.Scene.Path) videoFile, err := ffmpeg.NewVideoFile(instance.Paths.FixedPaths.FFProbe, t.Scene.Path)
if err != nil { if err != nil {
logger.Errorf("error reading video file: %s", err.Error()) logger.Errorf("error reading video file: %s", err.Error())
wg.Done()
return return
} }
generator, err := NewPreviewGenerator(*videoFile, videoFilename, imageFilename, instance.Paths.Generated.Screenshots) generator, err := NewPreviewGenerator(*videoFile, videoFilename, imageFilename, instance.Paths.Generated.Screenshots)
if err != nil { if err != nil {
logger.Errorf("error creating preview generator: %s", err.Error()) logger.Errorf("error creating preview generator: %s", err.Error())
wg.Done()
return return
} }
if err := generator.Generate(); err != nil { if err := generator.Generate(); err != nil {
logger.Errorf("error generating preview: %s", err.Error()) logger.Errorf("error generating preview: %s", err.Error())
wg.Done()
return return
} }
wg.Done()
} }
func (t *GeneratePreviewTask) doesPreviewExist(videoFilename string, imageFilename string) bool { func (t *GeneratePreviewTask) doesPreviewExist(sceneChecksum string) bool {
videoExists, _ := utils.FileExists(instance.Paths.Scene.GetStreamPreviewPath(videoFilename)) videoExists, _ := utils.FileExists(instance.Paths.Scene.GetStreamPreviewPath(sceneChecksum))
imageExists, _ := utils.FileExists(instance.Paths.Scene.GetStreamPreviewImagePath(imageFilename)) imageExists, _ := utils.FileExists(instance.Paths.Scene.GetStreamPreviewImagePath(sceneChecksum))
return videoExists && imageExists return videoExists && imageExists
} }

View File

@@ -13,15 +13,15 @@ type GenerateSpriteTask struct {
} }
func (t *GenerateSpriteTask) Start(wg *sync.WaitGroup) { func (t *GenerateSpriteTask) Start(wg *sync.WaitGroup) {
defer wg.Done()
if t.doesSpriteExist(t.Scene.Checksum) { if t.doesSpriteExist(t.Scene.Checksum) {
wg.Done()
return return
} }
videoFile, err := ffmpeg.NewVideoFile(instance.Paths.FixedPaths.FFProbe, t.Scene.Path) videoFile, err := ffmpeg.NewVideoFile(instance.Paths.FixedPaths.FFProbe, t.Scene.Path)
if err != nil { if err != nil {
logger.Errorf("error reading video file: %s", err.Error()) logger.Errorf("error reading video file: %s", err.Error())
wg.Done()
return return
} }
@@ -30,17 +30,13 @@ func (t *GenerateSpriteTask) Start(wg *sync.WaitGroup) {
generator, err := NewSpriteGenerator(*videoFile, imagePath, vttPath, 9, 9) generator, err := NewSpriteGenerator(*videoFile, imagePath, vttPath, 9, 9)
if err != nil { if err != nil {
logger.Errorf("error creating sprite generator: %s", err.Error()) logger.Errorf("error creating sprite generator: %s", err.Error())
wg.Done()
return return
} }
if err := generator.Generate(); err != nil { if err := generator.Generate(); err != nil {
logger.Errorf("error generating sprite: %s", err.Error()) logger.Errorf("error generating sprite: %s", err.Error())
wg.Done()
return return
} }
wg.Done()
} }
func (t *GenerateSpriteTask) doesSpriteExist(sceneChecksum string) bool { func (t *GenerateSpriteTask) doesSpriteExist(sceneChecksum string) bool {

View File

@@ -20,9 +20,12 @@ type ImportTask struct {
} }
func (t *ImportTask) Start(wg *sync.WaitGroup) { func (t *ImportTask) Start(wg *sync.WaitGroup) {
defer wg.Done()
t.Mappings, _ = instance.JSON.getMappings() t.Mappings, _ = instance.JSON.getMappings()
if t.Mappings == nil { if t.Mappings == nil {
panic("missing mappings json") logger.Error("missing mappings json")
return
} }
scraped, _ := instance.JSON.getScraped() scraped, _ := instance.JSON.getScraped()
if scraped == nil { if scraped == nil {
@@ -41,8 +44,6 @@ func (t *ImportTask) Start(wg *sync.WaitGroup) {
t.ImportScrapedItems(ctx) t.ImportScrapedItems(ctx)
t.ImportScenes(ctx) t.ImportScenes(ctx)
wg.Done()
} }
func (t *ImportTask) ImportPerformers(ctx context.Context) { func (t *ImportTask) ImportPerformers(ctx context.Context) {
@@ -231,6 +232,7 @@ func (t *ImportTask) ImportTags(ctx context.Context) {
for i, mappingJSON := range t.Mappings.Scenes { for i, mappingJSON := range t.Mappings.Scenes {
index := i + 1 index := i + 1
if mappingJSON.Checksum == "" || mappingJSON.Path == "" { if mappingJSON.Checksum == "" || mappingJSON.Path == "" {
_ = tx.Rollback()
logger.Warn("[tags] scene mapping without checksum or path: ", mappingJSON) logger.Warn("[tags] scene mapping without checksum or path: ", mappingJSON)
return return
} }
@@ -350,6 +352,7 @@ func (t *ImportTask) ImportScenes(ctx context.Context) {
for i, mappingJSON := range t.Mappings.Scenes { for i, mappingJSON := range t.Mappings.Scenes {
index := i + 1 index := i + 1
if mappingJSON.Checksum == "" || mappingJSON.Path == "" { if mappingJSON.Checksum == "" || mappingJSON.Path == "" {
_ = tx.Rollback()
logger.Warn("[scenes] scene mapping without checksum or path: ", mappingJSON) logger.Warn("[scenes] scene mapping without checksum or path: ", mappingJSON)
return return
} }

View File

@@ -37,7 +37,6 @@ func EnsureDir(path string) error {
return err return err
} }
// TODO test
func RemoveDir(path string) error { func RemoveDir(path string) error {
return os.RemoveAll(path) return os.RemoveAll(path)
} }