Documentation ¶
Index ¶
- Constants
- Variables
- func GenerateAPIKey(userID string) (string, error)
- func GetUserIDFromAPIKey(apiKey string) (string, error)
- func GetVideoFileContainer(file *file.VideoFile) (ffmpeg.Container, error)
- func HasTranscode(scene *models.Scene, fileNamingAlgo models.HashAlgorithm) bool
- func KillRunningStreams(scene *models.Scene, fileNamingAlgo models.HashAlgorithm)
- func ValidateModifyStudio(ctx context.Context, studio models.StudioPartial, qb studio.Finder) error
- func ValidateVideoFileNamingAlgorithm(ctx context.Context, qb SceneMissingHashCounter, newValue models.HashAlgorithm) error
- type APIKeyClaims
- type Action
- type AutoTagMetadataInput
- type CleanMetadataInput
- type DownloadStore
- type ExportObjectTypeInput
- type ExportObjectsInput
- type ExportTask
- func (t *ExportTask) ExportGalleries(ctx context.Context, workers int, repo Repository)
- func (t *ExportTask) ExportImages(ctx context.Context, workers int, repo Repository)
- func (t *ExportTask) ExportMovies(ctx context.Context, workers int, repo Repository)
- func (t *ExportTask) ExportPerformers(ctx context.Context, workers int, repo Repository)
- func (t *ExportTask) ExportScenes(ctx context.Context, workers int, repo Repository)
- func (t *ExportTask) ExportScrapedItems(ctx context.Context, repo Repository)
- func (t *ExportTask) ExportStudios(ctx context.Context, workers int, repo Repository)
- func (t *ExportTask) ExportTags(ctx context.Context, workers int, repo Repository)
- func (t *ExportTask) Start(ctx context.Context, wg *sync.WaitGroup)
- type FaviconProvider
- type FileReaderWriter
- type FolderReaderWriter
- type GalleryReaderWriter
- type GalleryService
- type GenerateInteractiveHeatmapSpeedTask
- type GenerateJob
- type GenerateMarkersTask
- type GenerateMetadataInput
- type GeneratePhashTask
- type GeneratePreviewOptionsInput
- type GeneratePreviewTask
- type GenerateScreenshotTask
- type GenerateSpriteTask
- type GenerateTranscodeTask
- type GradientTable
- type IdentifyJob
- type ImageReaderWriter
- type ImageService
- type ImportDuplicateEnum
- type ImportObjectsInput
- type ImportTask
- func (t *ImportTask) GetDescription() string
- func (t *ImportTask) ImportFile(ctx context.Context, fileJSON jsonschema.DirEntry, ...) error
- func (t *ImportTask) ImportFiles(ctx context.Context)
- func (t *ImportTask) ImportGalleries(ctx context.Context)
- func (t *ImportTask) ImportImages(ctx context.Context)
- func (t *ImportTask) ImportMovies(ctx context.Context)
- func (t *ImportTask) ImportPerformers(ctx context.Context)
- func (t *ImportTask) ImportScenes(ctx context.Context)
- func (t *ImportTask) ImportScrapedItems(ctx context.Context)
- func (t *ImportTask) ImportStudio(ctx context.Context, studioJSON *jsonschema.Studio, ...) error
- func (t *ImportTask) ImportStudios(ctx context.Context)
- func (t *ImportTask) ImportTag(ctx context.Context, tagJSON *jsonschema.Tag, ...) error
- func (t *ImportTask) ImportTags(ctx context.Context)
- func (t *ImportTask) Start(ctx context.Context)
- type InteractiveHeatmapSpeedGenerator
- type Manager
- func (s *Manager) AutoTag(ctx context.Context, input AutoTagMetadataInput) int
- func (s *Manager) Clean(ctx context.Context, input CleanMetadataInput) int
- func (s *Manager) Export(ctx context.Context) (int, error)
- func (s *Manager) Generate(ctx context.Context, input GenerateMetadataInput) (int, error)
- func (s *Manager) GenerateDefaultScreenshot(ctx context.Context, sceneId string) int
- func (s *Manager) GenerateScreenshot(ctx context.Context, sceneId string, at float64) int
- func (s *Manager) GetSystemStatus() *SystemStatus
- func (s *Manager) Import(ctx context.Context) (int, error)
- func (s *Manager) Migrate(ctx context.Context, input MigrateInput) error
- func (s *Manager) MigrateHash(ctx context.Context) int
- func (s *Manager) PostInit(ctx context.Context) error
- func (s *Manager) RefreshConfig()
- func (s *Manager) RefreshScraperCache()
- func (s *Manager) RunPluginTask(ctx context.Context, pluginID string, taskName string, ...) int
- func (s *Manager) RunSingleTask(ctx context.Context, t Task) int
- func (s *Manager) Scan(ctx context.Context, input ScanMetadataInput) (int, error)
- func (s *Manager) ScanSubscribe(ctx context.Context) <-chan bool
- func (s *Manager) Setup(ctx context.Context, input SetupInput) error
- func (s *Manager) Shutdown(code int)
- func (s *Manager) StashBoxBatchPerformerTag(ctx context.Context, input StashBoxBatchPerformerTagInput) int
- type MigrateHashTask
- type MigrateInput
- type MovieNameFinder
- type PerformerNamesFinder
- type Repository
- type ScanJob
- type ScanMetaDataFilterInput
- type ScanMetadataInput
- type SceneCoverGetter
- type SceneFilenameParser
- type SceneFilenameParserRepository
- type SceneMissingHashCounter
- type SceneMovieID
- type SceneParserInput
- type SceneParserResult
- type SceneReaderWriter
- type SceneServer
- type SceneService
- type SceneStreamEndpoint
- type Script
- type SetupInput
- type SpriteGenerator
- type StashBoxBatchPerformerTagInput
- type StashBoxPerformerTagTask
- type StreamRequestContext
- type SystemStatus
- type SystemStatusEnum
- type Task
Constants ¶
const APIKeySubject = "APIKey"
Variables ¶
var AllImportDuplicateEnum = []ImportDuplicateEnum{ ImportDuplicateEnumIgnore, ImportDuplicateEnumOverwrite, ImportDuplicateEnumFail, }
var AllSystemStatusEnum = []SystemStatusEnum{ SystemStatusEnumSetup, SystemStatusEnumNeedsMigration, SystemStatusEnumOk, }
var ErrInput = errors.New("invalid request input")
var ErrInvalidToken = errors.New("invalid apikey")
Functions ¶
func GenerateAPIKey ¶
func GetUserIDFromAPIKey ¶
GetUserIDFromAPIKey validates the provided api key and returns the user ID
func GetVideoFileContainer ¶ added in v0.17.0
func HasTranscode ¶
func HasTranscode(scene *models.Scene, fileNamingAlgo models.HashAlgorithm) bool
HasTranscode returns true if a transcoded video exists for the provided scene. It will check using the OSHash of the scene first, then fall back to the checksum.
func KillRunningStreams ¶
func KillRunningStreams(scene *models.Scene, fileNamingAlgo models.HashAlgorithm)
func ValidateModifyStudio ¶
func ValidateVideoFileNamingAlgorithm ¶
func ValidateVideoFileNamingAlgorithm(ctx context.Context, qb SceneMissingHashCounter, newValue models.HashAlgorithm) error
ValidateVideoFileNamingAlgorithm validates changing the VideoFileNamingAlgorithm configuration flag.
If setting VideoFileNamingAlgorithm to MD5, then this function will ensure that all checksum values are set on all scenes.
Likewise, if VideoFileNamingAlgorithm is set to oshash, then this function will ensure that all oshash values are set on all scenes.
Types ¶
type APIKeyClaims ¶
type APIKeyClaims struct { UserID string `json:"uid"` jwt.StandardClaims }
type Action ¶
type Action struct { // At time in milliseconds the action should fire. At int64 `json:"at"` // Pos is the place in percent to move to. Pos int `json:"pos"` Slope float64 Intensity int64 Speed float64 }
Action is a move at a specific time.
type AutoTagMetadataInput ¶ added in v0.17.0
type AutoTagMetadataInput struct { // Paths to tag, null for all files Paths []string `json:"paths"` // IDs of performers to tag files with, or "*" for all Performers []string `json:"performers"` // IDs of studios to tag files with, or "*" for all Studios []string `json:"studios"` // IDs of tags to tag files with, or "*" for all Tags []string `json:"tags"` }
type CleanMetadataInput ¶ added in v0.17.0
type DownloadStore ¶
type DownloadStore struct {
// contains filtered or unexported fields
}
DownloadStore manages single-use generated files for the UI to download.
func NewDownloadStore ¶
func NewDownloadStore() *DownloadStore
func (*DownloadStore) RegisterFile ¶
func (*DownloadStore) Serve ¶
func (s *DownloadStore) Serve(hash string, w http.ResponseWriter, r *http.Request)
type ExportObjectTypeInput ¶ added in v0.17.0
type ExportObjectsInput ¶ added in v0.17.0
type ExportObjectsInput struct { Scenes *ExportObjectTypeInput `json:"scenes"` Images *ExportObjectTypeInput `json:"images"` Studios *ExportObjectTypeInput `json:"studios"` Performers *ExportObjectTypeInput `json:"performers"` Tags *ExportObjectTypeInput `json:"tags"` Movies *ExportObjectTypeInput `json:"movies"` Galleries *ExportObjectTypeInput `json:"galleries"` IncludeDependencies *bool `json:"includeDependencies"` }
type ExportTask ¶
type ExportTask struct { DownloadHash string // contains filtered or unexported fields }
func CreateExportTask ¶
func CreateExportTask(a models.HashAlgorithm, input ExportObjectsInput) *ExportTask
func (*ExportTask) ExportGalleries ¶
func (t *ExportTask) ExportGalleries(ctx context.Context, workers int, repo Repository)
func (*ExportTask) ExportImages ¶
func (t *ExportTask) ExportImages(ctx context.Context, workers int, repo Repository)
func (*ExportTask) ExportMovies ¶
func (t *ExportTask) ExportMovies(ctx context.Context, workers int, repo Repository)
func (*ExportTask) ExportPerformers ¶
func (t *ExportTask) ExportPerformers(ctx context.Context, workers int, repo Repository)
func (*ExportTask) ExportScenes ¶
func (t *ExportTask) ExportScenes(ctx context.Context, workers int, repo Repository)
func (*ExportTask) ExportScrapedItems ¶
func (t *ExportTask) ExportScrapedItems(ctx context.Context, repo Repository)
func (*ExportTask) ExportStudios ¶
func (t *ExportTask) ExportStudios(ctx context.Context, workers int, repo Repository)
func (*ExportTask) ExportTags ¶
func (t *ExportTask) ExportTags(ctx context.Context, workers int, repo Repository)
type FaviconProvider ¶
func (*FaviconProvider) GetFavicon ¶
func (p *FaviconProvider) GetFavicon() []byte
func (*FaviconProvider) GetFaviconPng ¶
func (p *FaviconProvider) GetFaviconPng() []byte
type FileReaderWriter ¶ added in v0.17.0
type FolderReaderWriter ¶ added in v0.17.0
type GalleryReaderWriter ¶ added in v0.17.0
type GalleryReaderWriter interface { models.GalleryReaderWriter gallery.FinderCreatorUpdater gallery.Finder models.FileLoader GetManyFileIDs(ctx context.Context, ids []int) ([][]file.ID, error) }
type GalleryService ¶ added in v0.17.0
type GalleryService interface { AddImages(ctx context.Context, g *models.Gallery, toAdd ...int) error RemoveImages(ctx context.Context, g *models.Gallery, toRemove ...int) error Destroy(ctx context.Context, i *models.Gallery, fileDeleter *image.FileDeleter, deleteGenerated, deleteFile bool) ([]*models.Image, error) ValidateImageGalleryChange(ctx context.Context, i *models.Image, updateIDs models.UpdateIDs) error }
type GenerateInteractiveHeatmapSpeedTask ¶
type GenerateInteractiveHeatmapSpeedTask struct { Scene models.Scene Overwrite bool TxnManager Repository // contains filtered or unexported fields }
func (*GenerateInteractiveHeatmapSpeedTask) GetDescription ¶
func (t *GenerateInteractiveHeatmapSpeedTask) GetDescription() string
func (*GenerateInteractiveHeatmapSpeedTask) Start ¶
func (t *GenerateInteractiveHeatmapSpeedTask) Start(ctx context.Context)
type GenerateJob ¶
type GenerateJob struct {
// contains filtered or unexported fields
}
type GenerateMarkersTask ¶
type GenerateMarkersTask struct { TxnManager Repository Scene *models.Scene Marker *models.SceneMarker Overwrite bool ImagePreview bool Screenshot bool // contains filtered or unexported fields }
func (*GenerateMarkersTask) GetDescription ¶
func (t *GenerateMarkersTask) GetDescription() string
func (*GenerateMarkersTask) Start ¶
func (t *GenerateMarkersTask) Start(ctx context.Context)
type GenerateMetadataInput ¶ added in v0.17.0
type GenerateMetadataInput struct { Sprites *bool `json:"sprites"` Previews *bool `json:"previews"` ImagePreviews *bool `json:"imagePreviews"` PreviewOptions *GeneratePreviewOptionsInput `json:"previewOptions"` Markers *bool `json:"markers"` MarkerImagePreviews *bool `json:"markerImagePreviews"` MarkerScreenshots *bool `json:"markerScreenshots"` Transcodes *bool `json:"transcodes"` // Generate transcodes even if not required ForceTranscodes *bool `json:"forceTranscodes"` Phashes *bool `json:"phashes"` InteractiveHeatmapsSpeeds *bool `json:"interactiveHeatmapsSpeeds"` // scene ids to generate for SceneIDs []string `json:"sceneIDs"` // marker ids to generate for MarkerIDs []string `json:"markerIDs"` // overwrite existing media Overwrite *bool `json:"overwrite"` }
type GeneratePhashTask ¶
type GeneratePhashTask struct { File *file.VideoFile Overwrite bool // contains filtered or unexported fields }
func (*GeneratePhashTask) GetDescription ¶
func (t *GeneratePhashTask) GetDescription() string
func (*GeneratePhashTask) Start ¶
func (t *GeneratePhashTask) Start(ctx context.Context)
type GeneratePreviewOptionsInput ¶ added in v0.17.0
type GeneratePreviewOptionsInput struct { // Number of segments in a preview file PreviewSegments *int `json:"previewSegments"` // Preview segment duration, in seconds PreviewSegmentDuration *float64 `json:"previewSegmentDuration"` // Duration of start of video to exclude when generating previews PreviewExcludeStart *string `json:"previewExcludeStart"` // Duration of end of video to exclude when generating previews PreviewExcludeEnd *string `json:"previewExcludeEnd"` // Preset when generating preview PreviewPreset *models.PreviewPreset `json:"previewPreset"` }
type GeneratePreviewTask ¶
type GeneratePreviewTask struct { Scene models.Scene ImagePreview bool Options generate.PreviewOptions Overwrite bool // contains filtered or unexported fields }
func (*GeneratePreviewTask) GetDescription ¶
func (t *GeneratePreviewTask) GetDescription() string
func (*GeneratePreviewTask) Start ¶
func (t *GeneratePreviewTask) Start(ctx context.Context)
type GenerateScreenshotTask ¶
type GenerateScreenshotTask struct { Scene models.Scene ScreenshotAt *float64 // contains filtered or unexported fields }
func (*GenerateScreenshotTask) Start ¶
func (t *GenerateScreenshotTask) Start(ctx context.Context)
type GenerateSpriteTask ¶
type GenerateSpriteTask struct { Scene models.Scene Overwrite bool // contains filtered or unexported fields }
func (*GenerateSpriteTask) GetDescription ¶
func (t *GenerateSpriteTask) GetDescription() string
func (*GenerateSpriteTask) Start ¶
func (t *GenerateSpriteTask) Start(ctx context.Context)
type GenerateTranscodeTask ¶
type GenerateTranscodeTask struct { Scene models.Scene Overwrite bool // is true, generate even if video is browser-supported Force bool // contains filtered or unexported fields }
func (*GenerateTranscodeTask) GetDescription ¶
func (t *GenerateTranscodeTask) GetDescription() string
func (*GenerateTranscodeTask) Start ¶
func (t *GenerateTranscodeTask) Start(ctc context.Context)
type GradientTable ¶
type GradientTable []struct { Col colorful.Color Pos float64 }
func (GradientTable) GetInterpolatedColorFor ¶
func (gt GradientTable) GetInterpolatedColorFor(t float64) colorful.Color
type IdentifyJob ¶
type IdentifyJob struct {
// contains filtered or unexported fields
}
func CreateIdentifyJob ¶
func CreateIdentifyJob(input identify.Options) *IdentifyJob
type ImageReaderWriter ¶ added in v0.17.0
type ImageReaderWriter interface { models.ImageReaderWriter image.FinderCreatorUpdater models.ImageFileLoader GetManyFileIDs(ctx context.Context, ids []int) ([][]file.ID, error) }
type ImageService ¶ added in v0.17.0
type ImportDuplicateEnum ¶ added in v0.17.0
type ImportDuplicateEnum string
const ( ImportDuplicateEnumIgnore ImportDuplicateEnum = "IGNORE" ImportDuplicateEnumOverwrite ImportDuplicateEnum = "OVERWRITE" ImportDuplicateEnumFail ImportDuplicateEnum = "FAIL" )
func (ImportDuplicateEnum) IsValid ¶ added in v0.17.0
func (e ImportDuplicateEnum) IsValid() bool
func (ImportDuplicateEnum) MarshalGQL ¶ added in v0.17.0
func (e ImportDuplicateEnum) MarshalGQL(w io.Writer)
func (ImportDuplicateEnum) String ¶ added in v0.17.0
func (e ImportDuplicateEnum) String() string
func (*ImportDuplicateEnum) UnmarshalGQL ¶ added in v0.17.0
func (e *ImportDuplicateEnum) UnmarshalGQL(v interface{}) error
type ImportObjectsInput ¶ added in v0.17.0
type ImportObjectsInput struct { File graphql.Upload `json:"file"` DuplicateBehaviour ImportDuplicateEnum `json:"duplicateBehaviour"` MissingRefBehaviour models.ImportMissingRefEnum `json:"missingRefBehaviour"` }
type ImportTask ¶
type ImportTask struct { BaseDir string TmpZip string Reset bool DuplicateBehaviour ImportDuplicateEnum MissingRefBehaviour models.ImportMissingRefEnum // contains filtered or unexported fields }
func CreateImportTask ¶
func CreateImportTask(a models.HashAlgorithm, input ImportObjectsInput) (*ImportTask, error)
func (*ImportTask) GetDescription ¶
func (t *ImportTask) GetDescription() string
func (*ImportTask) ImportFile ¶ added in v0.17.0
func (t *ImportTask) ImportFile(ctx context.Context, fileJSON jsonschema.DirEntry, pendingParent map[string][]jsonschema.DirEntry) error
func (*ImportTask) ImportFiles ¶ added in v0.17.0
func (t *ImportTask) ImportFiles(ctx context.Context)
func (*ImportTask) ImportGalleries ¶
func (t *ImportTask) ImportGalleries(ctx context.Context)
func (*ImportTask) ImportImages ¶
func (t *ImportTask) ImportImages(ctx context.Context)
func (*ImportTask) ImportMovies ¶
func (t *ImportTask) ImportMovies(ctx context.Context)
func (*ImportTask) ImportPerformers ¶
func (t *ImportTask) ImportPerformers(ctx context.Context)
func (*ImportTask) ImportScenes ¶
func (t *ImportTask) ImportScenes(ctx context.Context)
func (*ImportTask) ImportScrapedItems ¶
func (t *ImportTask) ImportScrapedItems(ctx context.Context)
func (*ImportTask) ImportStudio ¶
func (t *ImportTask) ImportStudio(ctx context.Context, studioJSON *jsonschema.Studio, pendingParent map[string][]*jsonschema.Studio, readerWriter studio.NameFinderCreatorUpdater) error
func (*ImportTask) ImportStudios ¶
func (t *ImportTask) ImportStudios(ctx context.Context)
func (*ImportTask) ImportTag ¶
func (t *ImportTask) ImportTag(ctx context.Context, tagJSON *jsonschema.Tag, pendingParent map[string][]*jsonschema.Tag, fail bool, readerWriter tag.NameFinderCreatorUpdater) error
func (*ImportTask) ImportTags ¶
func (t *ImportTask) ImportTags(ctx context.Context)
func (*ImportTask) Start ¶
func (t *ImportTask) Start(ctx context.Context)
type InteractiveHeatmapSpeedGenerator ¶
type InteractiveHeatmapSpeedGenerator struct { InteractiveSpeed int Funscript Script FunscriptPath string HeatmapPath string Width int Height int NumSegments int }
func NewInteractiveHeatmapSpeedGenerator ¶
func NewInteractiveHeatmapSpeedGenerator(funscriptPath string, heatmapPath string) *InteractiveHeatmapSpeedGenerator
func (*InteractiveHeatmapSpeedGenerator) Generate ¶
func (g *InteractiveHeatmapSpeedGenerator) Generate() error
func (*InteractiveHeatmapSpeedGenerator) LoadFunscriptData ¶
func (g *InteractiveHeatmapSpeedGenerator) LoadFunscriptData(path string) (Script, error)
func (*InteractiveHeatmapSpeedGenerator) RenderHeatmap ¶
func (g *InteractiveHeatmapSpeedGenerator) RenderHeatmap() error
funscript needs to have intensity updated first
type Manager ¶ added in v0.15.0
type Manager struct { Config *config.Instance Logger *log.Logger Paths *paths.Paths FFMPEG ffmpeg.FFMpeg FFProbe ffmpeg.FFProbe ReadLockManager *fsutil.ReadLockManager SessionStore *session.Store JobManager *job.Manager PluginCache *plugin.Cache ScraperCache *scraper.Cache DownloadStore *DownloadStore DLNAService *dlna.Service Database *sqlite.Database Repository Repository SceneService SceneService ImageService ImageService GalleryService GalleryService Scanner *file.Scanner Cleaner *file.Cleaner // contains filtered or unexported fields }
func GetInstance ¶
func GetInstance() *Manager
func Initialize ¶
func (*Manager) AutoTag ¶ added in v0.15.0
func (s *Manager) AutoTag(ctx context.Context, input AutoTagMetadataInput) int
func (*Manager) Clean ¶ added in v0.15.0
func (s *Manager) Clean(ctx context.Context, input CleanMetadataInput) int
func (*Manager) GenerateDefaultScreenshot ¶ added in v0.15.0
func (*Manager) GenerateScreenshot ¶ added in v0.15.0
func (*Manager) GetSystemStatus ¶ added in v0.15.0
func (s *Manager) GetSystemStatus() *SystemStatus
func (*Manager) Migrate ¶ added in v0.15.0
func (s *Manager) Migrate(ctx context.Context, input MigrateInput) error
func (*Manager) MigrateHash ¶ added in v0.15.0
func (*Manager) PostInit ¶ added in v0.15.0
PostInit initialises the paths, caches and txnManager after the initial configuration has been set. Should only be called if the configuration is valid.
func (*Manager) RefreshConfig ¶ added in v0.15.0
func (s *Manager) RefreshConfig()
func (*Manager) RefreshScraperCache ¶ added in v0.15.0
func (s *Manager) RefreshScraperCache()
RefreshScraperCache refreshes the scraper cache. Call this when scraper configuration changes.
func (*Manager) RunPluginTask ¶ added in v0.15.0
func (*Manager) RunSingleTask ¶ added in v0.15.0
func (*Manager) ScanSubscribe ¶ added in v0.15.0
ScanSubscribe subscribes to a notification that is triggered when a scan or clean is complete.
func (*Manager) Setup ¶ added in v0.15.0
func (s *Manager) Setup(ctx context.Context, input SetupInput) error
func (*Manager) StashBoxBatchPerformerTag ¶ added in v0.15.0
func (s *Manager) StashBoxBatchPerformerTag(ctx context.Context, input StashBoxBatchPerformerTagInput) int
type MigrateHashTask ¶
MigrateHashTask renames generated files between oshash and MD5 based on the value of the fileNamingAlgorithm flag.
type MigrateInput ¶ added in v0.17.0
type MigrateInput struct {
BackupPath string `json:"backupPath"`
}
type MovieNameFinder ¶ added in v0.17.0
type PerformerNamesFinder ¶ added in v0.17.0
type Repository ¶ added in v0.17.0
type Repository struct { models.TxnManager File FileReaderWriter Folder FolderReaderWriter Gallery GalleryReaderWriter Image ImageReaderWriter Movie models.MovieReaderWriter Performer models.PerformerReaderWriter Scene SceneReaderWriter SceneMarker models.SceneMarkerReaderWriter ScrapedItem models.ScrapedItemReaderWriter Studio models.StudioReaderWriter Tag models.TagReaderWriter SavedFilter models.SavedFilterReaderWriter }
type ScanMetaDataFilterInput ¶ added in v0.17.0
type ScanMetaDataFilterInput struct { // If set, files with a modification time before this time point are ignored by the scan MinModTime *time.Time `json:"minModTime"` }
Filter options for meta data scannning
type ScanMetadataInput ¶ added in v0.17.0
type ScanMetadataInput struct { Paths []string `json:"paths"` config.ScanMetadataOptions `mapstructure:",squash"` // Filter options for the scan Filter *ScanMetaDataFilterInput `json:"filter"` }
type SceneCoverGetter ¶ added in v0.17.0
type SceneFilenameParser ¶
type SceneFilenameParser struct { Pattern string ParserInput SceneParserInput Filter *models.FindFilterType // contains filtered or unexported fields }
func NewSceneFilenameParser ¶
func NewSceneFilenameParser(filter *models.FindFilterType, config SceneParserInput) *SceneFilenameParser
func (*SceneFilenameParser) Parse ¶
func (p *SceneFilenameParser) Parse(ctx context.Context, repo SceneFilenameParserRepository) ([]*SceneParserResult, int, error)
type SceneFilenameParserRepository ¶ added in v0.17.0
type SceneFilenameParserRepository struct { Scene scene.Queryer Performer PerformerNamesFinder Studio studio.Queryer Movie MovieNameFinder Tag tag.Queryer }
type SceneMissingHashCounter ¶ added in v0.17.0
type SceneMovieID ¶ added in v0.17.0
type SceneParserInput ¶ added in v0.17.0
type SceneParserResult ¶ added in v0.17.0
type SceneParserResult struct { Scene *models.Scene `json:"scene"` Title *string `json:"title"` Details *string `json:"details"` URL *string `json:"url"` Date *string `json:"date"` Rating *int `json:"rating"` StudioID *string `json:"studio_id"` GalleryIds []string `json:"gallery_ids"` PerformerIds []string `json:"performer_ids"` Movies []*SceneMovieID `json:"movies"` TagIds []string `json:"tag_ids"` }
type SceneReaderWriter ¶ added in v0.17.0
type SceneReaderWriter interface { models.SceneReaderWriter scene.CreatorUpdater GetManyFileIDs(ctx context.Context, ids []int) ([][]file.ID, error) }
type SceneServer ¶
type SceneServer struct { TxnManager txn.Manager SceneCoverGetter SceneCoverGetter }
func (*SceneServer) ServeScreenshot ¶
func (s *SceneServer) ServeScreenshot(scene *models.Scene, w http.ResponseWriter, r *http.Request)
func (*SceneServer) StreamSceneDirect ¶
func (s *SceneServer) StreamSceneDirect(scene *models.Scene, w http.ResponseWriter, r *http.Request)
type SceneService ¶ added in v0.17.0
type SceneStreamEndpoint ¶ added in v0.17.0
type SceneStreamEndpoint struct { URL string `json:"url"` MimeType *string `json:"mime_type"` Label *string `json:"label"` }
func GetSceneStreamPaths ¶
func GetSceneStreamPaths(scene *models.Scene, directStreamURL *url.URL, maxStreamingTranscodeSize models.StreamingResolutionEnum) ([]*SceneStreamEndpoint, error)
type Script ¶
type Script struct { // Version of Launchscript Version string `json:"version"` // Inverted causes up and down movement to be flipped. Inverted bool `json:"inverted,omitempty"` // Range is the percentage of a full stroke to use. Range int `json:"range,omitempty"` // Actions are the timed moves. Actions []Action `json:"actions"` AvarageSpeed int64 }
func (*Script) CalculateMedian ¶
func (*Script) UpdateIntensityAndSpeed ¶
func (funscript *Script) UpdateIntensityAndSpeed()
type SetupInput ¶ added in v0.17.0
type SetupInput struct { // Empty to indicate $HOME/.stash/config.yml default ConfigLocation string `json:"configLocation"` Stashes []*config.StashConfigInput `json:"stashes"` // Empty to indicate default DatabaseFile string `json:"databaseFile"` // Empty to indicate default GeneratedLocation string `json:"generatedLocation"` }
type SpriteGenerator ¶
type SpriteGenerator struct { Info *generatorInfo VideoChecksum string ImageOutputPath string VTTOutputPath string Rows int Columns int SlowSeek bool // use alternate seek function, very slow! Overwrite bool // contains filtered or unexported fields }
func NewSpriteGenerator ¶
func (*SpriteGenerator) Generate ¶
func (g *SpriteGenerator) Generate() error
type StashBoxBatchPerformerTagInput ¶ added in v0.17.0
type StashBoxBatchPerformerTagInput struct { // Stash endpoint to use for the performer tagging Endpoint int `json:"endpoint"` // Fields to exclude when executing the performer tagging ExcludeFields []string `json:"exclude_fields"` // Refresh performers already tagged by StashBox if true. Only tag performers with no StashBox tagging if false Refresh bool `json:"refresh"` // If set, only tag these performer ids PerformerIds []string `json:"performer_ids"` // If set, only tag these performer names PerformerNames []string `json:"performer_names"` }
If neither performer_ids nor performer_names are set, tag all performers
type StashBoxPerformerTagTask ¶
type StashBoxPerformerTagTask struct {
// contains filtered or unexported fields
}
func (*StashBoxPerformerTagTask) Description ¶
func (t *StashBoxPerformerTagTask) Description() string
func (*StashBoxPerformerTagTask) Start ¶
func (t *StashBoxPerformerTagTask) Start(ctx context.Context)
type StreamRequestContext ¶ added in v0.15.0
type StreamRequestContext struct { context.Context ResponseWriter http.ResponseWriter }
func NewStreamRequestContext ¶ added in v0.15.0
func NewStreamRequestContext(w http.ResponseWriter, r *http.Request) *StreamRequestContext
func (*StreamRequestContext) Cancel ¶ added in v0.15.0
func (c *StreamRequestContext) Cancel()
type SystemStatus ¶ added in v0.17.0
type SystemStatus struct { DatabaseSchema *int `json:"databaseSchema"` DatabasePath *string `json:"databasePath"` ConfigPath *string `json:"configPath"` AppSchema int `json:"appSchema"` Status SystemStatusEnum `json:"status"` }
type SystemStatusEnum ¶ added in v0.17.0
type SystemStatusEnum string
const ( SystemStatusEnumSetup SystemStatusEnum = "SETUP" SystemStatusEnumNeedsMigration SystemStatusEnum = "NEEDS_MIGRATION" SystemStatusEnumOk SystemStatusEnum = "OK" )
func (SystemStatusEnum) IsValid ¶ added in v0.17.0
func (e SystemStatusEnum) IsValid() bool
func (SystemStatusEnum) MarshalGQL ¶ added in v0.17.0
func (e SystemStatusEnum) MarshalGQL(w io.Writer)
func (SystemStatusEnum) String ¶ added in v0.17.0
func (e SystemStatusEnum) String() string
func (*SystemStatusEnum) UnmarshalGQL ¶ added in v0.17.0
func (e *SystemStatusEnum) UnmarshalGQL(v interface{}) error
Source Files ¶
- apikey.go
- checksum.go
- downloads.go
- exclude_files.go
- favicon.go
- filename_parser.go
- fingerprint.go
- generator.go
- generator_interactive_heatmap_speed.go
- generator_sprite.go
- import.go
- import_file.go
- json_utils.go
- log.go
- manager.go
- manager_tasks.go
- repository.go
- running_streams.go
- scene.go
- studio.go
- subscribe.go
- task.go
- task_autotag.go
- task_clean.go
- task_export.go
- task_generate.go
- task_generate_interactive_heatmap_speed.go
- task_generate_markers.go
- task_generate_phash.go
- task_generate_preview.go
- task_generate_screenshot.go
- task_generate_sprite.go
- task_identify.go
- task_import.go
- task_migrate_hash.go
- task_plugin.go
- task_scan.go
- task_stash_box_tag.go
- task_transcode.go