Diagnostic Tools
Doctor Command
Thedoctor command is your first line of defense when troubleshooting issues:
- Seed installation and module structure
- Required module attributes and functions
- External executable dependencies
- Python module imports
Common Issues
Seed Not Found
Seed Not Found
Problem: Error message
Seed <seed_name> not installedSolution:Module Attributes Missing
Module Attributes Missing
Problem: Doctor reports missing
__prefix__ or __description__Solution: Ensure your seed’s __init__.py contains all required attributes:Required Functions Not Found
Required Functions Not Found
Problem: Doctor reports
fetch.fetch not found or similarSolution: Verify your seed implements all required modules:fetch.pywithfetch()functionrules.pywithget_rules()functionactions.pywithget_actions()function
Executable Not Found
Executable Not Found
Problem: Doctor reports external executable missing (e.g.,
wget, curl)Solution:Captcha Warning from Datomatic
Captcha Warning from Datomatic
Problem: Downloads fail or you get blocked when fetching from datomaticSolution:
- Reduce concurrent downloads in configuration
- Add delays between requests
- Use alternative sources when available
- Check if you’ve been temporarily banned and wait before retrying
datoso.ini:Dat Path Not Found
Dat Path Not Found
Problem: Error about DatPath not existingSolution:
Processing Errors
Processing Errors
Problem: Errors during
--process operationSolution:-
Enable verbose logging:
-
Check the log file:
- Verify the DAT files were fetched correctly
- Run doctor to check seed health
Import Detection Failures
Import Detection Failures
Problem: Import command fails to detect seed typeSolution:
- Ensure DAT files are in ROMVault-compatible format
- Check if IgnoreRegEx in configuration is too broad
- Verify the DAT file is not corrupted
- Try importing a single DAT file first to test
Logging and Debugging
Enable Logging
Logging is essential for debugging issues. Configure logging in yourdatoso.ini or ~/.config/datoso/datoso.config:
~/.config/datoso/datoso.log
View Logs
Verbosity Levels
Control output verbosity with command-line flags:Configuration Hierarchy
Datoso reads configuration from multiple locations (in order of precedence):- Current directory:
./.datosorc - XDG config directory:
~/.config/datoso/datoso.config - Home directory:
~/.datosorc - Default:
<install_path>/datoso.ini
Database Issues
Database Location
The database file location can be found with:~/.config/datoso/datoso.json
Reset Database
If the database becomes corrupted:Performance Issues
Slow Downloads
Slow Downloads
Solutions:Ensure the utility is installed:
Slow Processing
Slow Processing
Solutions:
-
Disable MIA processing if not needed:
-
Use filters to process specific DATs:
-
Disable auto-merge if causing issues:
Error Messages Reference
Configuration Errors
| Error | Cause | Solution |
|---|---|---|
Dat root path not set or does not exist | DatPath configuration missing or invalid | Set with datoso config --set PATHS.DatPath=/path/to/dats |
Invalid config key, must be in <SECTION>.<Option> format | Wrong config format | Use format: SECTION.Option=value |
Config option not found in current config file | Unknown configuration option | Check available options with datoso config |
Seed Errors
| Error | Cause | Solution |
|---|---|---|
Module Seed - <seed> not found | Seed not installed | Install with pip install datoso_seed_<seed> |
<attribute> not found | Missing required module attribute | Add required attribute to seed’s __init__.py |
<executable> not found | Missing external dependency | Install the required executable |
Processing Errors
| Error | Cause | Solution |
|---|---|---|
Errors fetching <seed> | Network or source issues | Check logs with -v, verify internet connection |
Errors processing <seed> | DAT file or configuration issues | Enable verbose mode and check logs |
Error detecting seed type | Unknown DAT format | Verify DAT is ROMVault-compatible |
Getting Help
If you’re still experiencing issues:-
Enable verbose logging and logging to file
-
Run the failing command with verbose output
-
Check the logs
-
Run doctor to validate setup
-
Report issues on the GitHub repository with:
- Datoso version (
datoso --version) - Python version (
python --version) - Operating system
- Full error message and logs
- Steps to reproduce
- Datoso version (
Report an Issue
Create an issue on GitHub with your problem details
Next Steps
Configuration
Review configuration options
Plugin Development
Learn to develop custom seeds