mirror of
https://github.com/ChuckBuilds/LEDMatrix.git
synced 2026-04-10 21:03:01 +00:00
persistent config file via config.template.json and migrate_config.sh
This commit is contained in:
120
scripts/enable_news_manager.py
Normal file
120
scripts/enable_news_manager.py
Normal file
@@ -0,0 +1,120 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import json
|
||||
import sys
|
||||
import os
|
||||
|
||||
def enable_news_manager():
|
||||
"""Enable the news manager in the configuration"""
|
||||
config_path = "config/config.json"
|
||||
|
||||
try:
|
||||
# Load current config
|
||||
with open(config_path, 'r') as f:
|
||||
config = json.load(f)
|
||||
|
||||
# Enable news manager
|
||||
if 'news_manager' not in config:
|
||||
print("News manager configuration not found!")
|
||||
return False
|
||||
|
||||
config['news_manager']['enabled'] = True
|
||||
|
||||
# Save updated config
|
||||
with open(config_path, 'w') as f:
|
||||
json.dump(config, f, indent=4)
|
||||
|
||||
print("SUCCESS: News manager enabled successfully!")
|
||||
print(f"Enabled feeds: {config['news_manager']['enabled_feeds']}")
|
||||
print(f"Headlines per feed: {config['news_manager']['headlines_per_feed']}")
|
||||
print(f"Update interval: {config['news_manager']['update_interval']} seconds")
|
||||
|
||||
return True
|
||||
|
||||
except Exception as e:
|
||||
print(f"ERROR: Error enabling news manager: {e}")
|
||||
return False
|
||||
|
||||
def disable_news_manager():
|
||||
"""Disable the news manager in the configuration"""
|
||||
config_path = "config/config.json"
|
||||
|
||||
try:
|
||||
# Load current config
|
||||
with open(config_path, 'r') as f:
|
||||
config = json.load(f)
|
||||
|
||||
# Disable news manager
|
||||
if 'news_manager' in config:
|
||||
config['news_manager']['enabled'] = False
|
||||
|
||||
# Save updated config
|
||||
with open(config_path, 'w') as f:
|
||||
json.dump(config, f, indent=4)
|
||||
|
||||
print("SUCCESS: News manager disabled successfully!")
|
||||
else:
|
||||
print("News manager configuration not found!")
|
||||
|
||||
return True
|
||||
|
||||
except Exception as e:
|
||||
print(f"ERROR: Error disabling news manager: {e}")
|
||||
return False
|
||||
|
||||
def show_status():
|
||||
"""Show current news manager status"""
|
||||
config_path = "config/config.json"
|
||||
|
||||
try:
|
||||
with open(config_path, 'r') as f:
|
||||
config = json.load(f)
|
||||
|
||||
if 'news_manager' not in config:
|
||||
print("News manager configuration not found!")
|
||||
return
|
||||
|
||||
news_config = config['news_manager']
|
||||
|
||||
print("News Manager Status:")
|
||||
print("=" * 30)
|
||||
print(f"Enabled: {news_config.get('enabled', False)}")
|
||||
print(f"Update Interval: {news_config.get('update_interval', 300)} seconds")
|
||||
print(f"Scroll Speed: {news_config.get('scroll_speed', 2)} pixels/frame")
|
||||
print(f"Scroll Delay: {news_config.get('scroll_delay', 0.02)} seconds/frame")
|
||||
print(f"Headlines per Feed: {news_config.get('headlines_per_feed', 2)}")
|
||||
print(f"Enabled Feeds: {news_config.get('enabled_feeds', [])}")
|
||||
print(f"Rotation Enabled: {news_config.get('rotation_enabled', True)}")
|
||||
print(f"Rotation Threshold: {news_config.get('rotation_threshold', 3)}")
|
||||
print(f"Font Size: {news_config.get('font_size', 12)}")
|
||||
|
||||
custom_feeds = news_config.get('custom_feeds', {})
|
||||
if custom_feeds:
|
||||
print("Custom Feeds:")
|
||||
for name, url in custom_feeds.items():
|
||||
print(f" {name}: {url}")
|
||||
else:
|
||||
print("No custom feeds configured")
|
||||
|
||||
except Exception as e:
|
||||
print(f"ERROR: Error reading configuration: {e}")
|
||||
|
||||
def main():
|
||||
if len(sys.argv) < 2:
|
||||
print("Usage: python3 scripts/enable_news_manager.py [enable|disable|status]")
|
||||
sys.exit(1)
|
||||
|
||||
command = sys.argv[1].lower()
|
||||
|
||||
if command == "enable":
|
||||
enable_news_manager()
|
||||
elif command == "disable":
|
||||
disable_news_manager()
|
||||
elif command == "status":
|
||||
show_status()
|
||||
else:
|
||||
print("Invalid command. Use: enable, disable, or status")
|
||||
sys.exit(1)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user