Skip to main content

Terminal color utility

Project description

Theme Manager for Scripts

The Theme Manager script facilitates easy management and validation of themes for your scripts, particularly focusing on the themes.d directory configuration and usage of the Theme object.

Configuration

themes.d Directory

The themes.d directory serves as the repository for your theme files. By default, the Theme Manager looks for theme files in this directory unless specified otherwise.

Configuration File (hue.config)

The configuration file hue.config stores essential settings for the Theme Manager, including:

  • default_theme: Specifies the default theme to load if none is specified explicitly.
  • themes_dir: Defines the directory where theme files (*.theme) are stored.
  • manifest_file: Indicates the file (MANIFEST) containing theme hashes for validation.
  • log_file: Path to the log file (theme.log) for recording theme management activities.

Ensure hue.config is correctly configured to align with your environment and requirements.

Usage

Importing the Theme Object

To utilize themes in your script, import the Theme object from the src module:

from src import Theme

Managing Themes

Loading a Theme

You can load a theme using its file name or the default theme specified in hue.config:

theme_manager = ThemeManager()
theme = theme_manager.get_theme_instance('my_theme.theme')  # Load specific theme

Validating a Theme

Validate a theme against its hash in the manifest file to ensure integrity:

theme_manager = ThemeManager()
valid = theme_manager.validate_theme('my_theme.theme')  # Validate specific theme

Useful Tidbits

  • Dynamic Theme Loading: Themes are dynamically loaded and can be swapped during runtime based on your application's needs.
  • Logging: The Theme Manager logs activities to theme.log, providing visibility into theme loading and validation operations.
  • Extensibility: Customize hue.config and extend the Theme class as per your project's thematic requirements.

Example

hue import ThemeManager


# Initialize ThemeManager instance
theme_manager = ThemeManager()
theme_manager.setup_logging()

# Load and validate a specific theme
theme = theme_manager.get_theme_instance('my_theme.theme')
if theme:
    print(f"Loaded theme: {theme.list_theme_attributes()}")

# Validate the loaded theme
valid = theme_manager.validate_theme('my_theme.theme')
if valid:
    print("Theme validated successfully.")
else:
    print("Failed to validate theme.")

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

huefy-1.2.2.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

huefy-1.2.2-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

Details for the file huefy-1.2.2.tar.gz.

File metadata

  • Download URL: huefy-1.2.2.tar.gz
  • Upload date:
  • Size: 11.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for huefy-1.2.2.tar.gz
Algorithm Hash digest
SHA256 07e94796c51eb72aa5af9fb8efa0bad8615ebac223e6c3c8a768cc9653beabef
MD5 ab990c3ee68f3fca522f3cc1aa2cd8d2
BLAKE2b-256 3b86abe5b35c31600fd0935994718fd83327ef45d7eed17e5790f3df327f11b8

See more details on using hashes here.

File details

Details for the file huefy-1.2.2-py3-none-any.whl.

File metadata

  • Download URL: huefy-1.2.2-py3-none-any.whl
  • Upload date:
  • Size: 9.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for huefy-1.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9b226463a24a419e05f932c3949e071a4277005ca07756477dc4b87ba9d3f334
MD5 77d2796ec3854e3c3a2b2a013de0ad02
BLAKE2b-256 b9a161c8d64638e7203a281b453157f1be4c9985ee5ab234cde4050c14d5384a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page