Configuration Operations¶
Operations for managing Stash configuration and settings.
Bases: StashClientProtocol
Mixin for configuration methods.
Functions¶
configure_general
async
¶
Configure general Stash settings.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
input_data
|
ConfigGeneralInput | dict[str, Any]
|
ConfigGeneralInput object or dictionary containing general settings |
required |
Returns:
| Type | Description |
|---|---|
ConfigGeneralResult
|
ConfigGeneralResult with updated configuration |
Examples:
Configure database path:
config = await client.configure_general({
"databasePath": "/path/to/database.db"
})
print(f"Database path: {config.database_path}")
Using the input type:
configure_interface
async
¶
Configure Stash interface settings.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
input_data
|
ConfigInterfaceInput | dict[str, Any]
|
ConfigInterfaceInput object or dictionary containing interface settings |
required |
Returns:
| Type | Description |
|---|---|
ConfigInterfaceResult
|
ConfigInterfaceResult with updated configuration |
Examples:
Configure interface options:
Using the input type:
configure_dlna
async
¶
Configure DLNA server settings.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
input_data
|
ConfigDLNAInput | dict[str, Any]
|
ConfigDLNAInput object or dictionary containing DLNA settings |
required |
Returns:
| Type | Description |
|---|---|
ConfigDLNAResult
|
ConfigDLNAResult with updated configuration |
Examples:
Enable DLNA server:
config = await client.configure_dlna({
"enabled": True,
"port": 1338,
"serverName": "Stash DLNA"
})
print(f"DLNA enabled: {config.enabled}")
Using the input type:
configure_defaults
async
¶
configure_defaults(
input_data: ConfigDefaultSettingsInput | dict[str, Any],
) -> ConfigDefaultSettingsResult
Configure default metadata operation settings.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
input_data
|
ConfigDefaultSettingsInput | dict[str, Any]
|
ConfigDefaultSettingsInput object or dictionary containing default settings |
required |
Returns:
| Type | Description |
|---|---|
ConfigDefaultSettingsResult
|
ConfigDefaultSettingsResult with updated configuration |
Examples:
Configure default delete behavior:
Using the input type:
configure_ui
async
¶
configure_ui(
input_data: dict[str, Any] | None = None,
partial: dict[str, Any] | None = None,
) -> dict[str, Any]
Configure UI settings.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
input_data
|
dict[str, Any] | None
|
Complete UI configuration dictionary (optional) |
None
|
partial
|
dict[str, Any] | None
|
Partial UI configuration to merge (optional) |
None
|
Returns:
| Type | Description |
|---|---|
dict[str, Any]
|
Updated UI configuration dictionary |
Examples:
Update UI configuration:
Replace entire UI config:
configure_ui_setting
async
¶
Configure a single UI setting.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
key
|
str
|
Setting key to update |
required |
value
|
Any
|
New value for the setting |
required |
Returns:
| Type | Description |
|---|---|
dict[str, Any]
|
Updated UI configuration dictionary |
Examples:
Update a single UI setting:
Update multiple settings one at a time:
generate_api_key
async
¶
Generate a new API key.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
input_data
|
GenerateAPIKeyInput | dict[str, Any]
|
GenerateAPIKeyInput object or dictionary containing: - clear: Whether to clear existing API key (optional) |
required |
Returns:
| Type | Description |
|---|---|
str
|
Generated API key string |
Examples:
Generate new API key:
Clear and generate new key:
find_saved_filter
async
¶
Find a saved filter by ID.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
str
|
Filter ID |
required |
Returns:
| Type | Description |
|---|---|
SavedFilter | None
|
SavedFilter object if found, None otherwise |
find_saved_filters
async
¶
find_saved_filters(
mode: FilterMode | None = None,
) -> list[SavedFilter]
Find all saved filters, optionally filtered by mode.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
mode
|
FilterMode | None
|
Optional filter mode to filter by |
None
|
Returns:
| Type | Description |
|---|---|
list[SavedFilter]
|
List of SavedFilter objects |
configure_scraping
async
¶
Configure scraping settings.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
input_data
|
ConfigScrapingInput | dict[str, Any]
|
ConfigScrapingInput object or dictionary |
required |
Returns:
| Type | Description |
|---|---|
ConfigScrapingResult
|
ConfigScrapingResult with updated configuration |
validate_stashbox_credentials
async
¶
validate_stashbox_credentials(
input_data: StashBoxInput | dict[str, Any],
) -> StashBoxValidationResult
Validate StashBox credentials.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
input_data
|
StashBoxInput | dict[str, Any]
|
StashBoxInput object or dictionary containing endpoint and api_key |
required |
Returns:
| Type | Description |
|---|---|
StashBoxValidationResult
|
StashBoxValidationResult with validation status |
enable_dlna
async
¶
Enable DLNA server.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
input_data
|
EnableDLNAInput | dict[str, Any]
|
EnableDLNAInput object or dictionary |
required |
Returns:
| Type | Description |
|---|---|
bool
|
True if successful |
disable_dlna
async
¶
Disable DLNA server.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
input_data
|
DisableDLNAInput | dict[str, Any]
|
DisableDLNAInput object or dictionary |
required |
Returns:
| Type | Description |
|---|---|
bool
|
True if successful |
add_temp_dlna_ip
async
¶
Add temporary DLNA IP whitelist.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
input_data
|
AddTempDLNAIPInput | dict[str, Any]
|
AddTempDLNAIPInput object or dictionary |
required |
Returns:
| Type | Description |
|---|---|
bool
|
True if successful |
remove_temp_dlna_ip
async
¶
Remove temporary DLNA IP from whitelist.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
input_data
|
RemoveTempDLNAIPInput | dict[str, Any]
|
RemoveTempDLNAIPInput object or dictionary |
required |
Returns:
| Type | Description |
|---|---|
bool
|
True if successful |
get_configuration
async
¶
get_configuration() -> ConfigResult
Get complete Stash configuration.
Returns:
| Type | Description |
|---|---|
ConfigResult
|
ConfigResult containing all configuration sections: - general: General settings (paths, logging, parallel tasks, etc.) - interface: UI/UX settings (language, menus, previews, etc.) - dlna: DLNA server configuration - scraping: Scraper settings (user agent, cert check, etc.) - defaults: Default settings for scan/identify/generate operations - ui: UI customization settings (plugin configs, etc.) |
Raises:
| Type | Description |
|---|---|
TransportError
|
If the GraphQL request fails |
Examples:
Get full configuration:
config = await client.get_configuration()
print(f"Database: {config.general.databasePath}")
print(f"Language: {config.interface.language}")
print(f"DLNA enabled: {config.dlna.enabled}")
Check specific settings:
config = await client.get_configuration()
if config.general.parallelTasks < 4:
print("Consider increasing parallel tasks for better performance")
if not config.scraping.scraperCertCheck:
print("WARNING: SSL certificate checking is disabled!")
Inspect plugin UI settings: