Spaces:
Sleeping
Sleeping
| #!/usr/bin/env python | |
| """ | |
| Test script for config_utils module. | |
| This allows us to verify that our common configuration loading works properly. | |
| """ | |
| import argparse | |
| import os | |
| from pprint import pprint | |
| import reddit_analysis.config_utils as config_utils | |
| def main(): | |
| """Test the config_utils module.""" | |
| print("Testing config_utils.py") | |
| # Load the configuration | |
| cfg = config_utils.setup_config() | |
| # Print the configuration (excluding sensitive values) | |
| print("\nConfiguration:") | |
| print("--------------") | |
| print(f"Project root: {cfg['paths']['root']}") | |
| print(f"Repo ID: {cfg['config'].get('repo_id', 'Not specified')}") | |
| # Print directory configurations | |
| print("\nLocal Directory Paths:") | |
| print("--------------------") | |
| print(f"Raw data directory: {cfg['paths']['raw_dir']}") | |
| print(f"Scored data directory: {cfg['paths']['scored_dir']}") | |
| print(f"Logs directory: {cfg['paths']['logs_dir']}") | |
| print(f"Summary file: {cfg['paths']['summary_file']}") | |
| # Print HF repository paths | |
| print("\nHugging Face Repository Paths:") | |
| print("---------------------------") | |
| print(f"HF Raw data directory: {cfg['paths']['hf_raw_dir']}") | |
| print(f"HF Scored data directory: {cfg['paths']['hf_scored_dir']}") | |
| # Check if these directories exist | |
| print("\nDirectory Status:") | |
| print("----------------") | |
| for dir_name, dir_path in [ | |
| ('Raw data', cfg['paths']['raw_dir']), | |
| ('Scored data', cfg['paths']['scored_dir']), | |
| ('Logs', cfg['paths']['logs_dir']) | |
| ]: | |
| exists = os.path.exists(dir_path) | |
| status = "Exists" if exists else "Does not exist" | |
| print(f"{dir_name} directory ({dir_path}): {status}") | |
| # Check if summary file exists | |
| summary_exists = os.path.exists(cfg['paths']['summary_file']) | |
| print(f"Summary file ({cfg['paths']['summary_file']}): {'Exists' if summary_exists else 'Does not exist'}") | |
| # Check if essential secrets are present (without printing their values) | |
| print("\nSecrets available:") | |
| print("-----------------") | |
| print(f"HF_TOKEN: {'Present' if 'HF_TOKEN' in cfg['secrets'] else 'Missing'}") | |
| print(f"REPLICATE_API_TOKEN: {'Present' if 'REPLICATE_API_TOKEN' in cfg['secrets'] else 'Missing'}") | |
| # Check Reddit API credentials | |
| for key in ['REDDIT_CLIENT_ID', 'REDDIT_CLIENT_SECRET', 'REDDIT_USER_AGENT']: | |
| print(f"{key}: {'Present' if key in cfg['secrets'] or os.getenv(key) else 'Missing'}") | |
| # List the subreddits from config if available | |
| if 'subreddits' in cfg['config']: | |
| print("\nConfigured subreddits:") | |
| print("---------------------") | |
| for sub in cfg['config']['subreddits']: | |
| print(f"- {sub.get('name', 'unnamed')}: {sub.get('post_limit', 'N/A')} posts, {sub.get('comment_limit', 'N/A')} comments") | |
| if __name__ == "__main__": | |
| main() |