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 ¶
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