Spaces:
Running
Running
#!/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() |