in doc-architect/doc-architect-core/src/main/java/com/docarchitect/core/scanner/impl/python/DjangoOrmScanner.java [170:199]
protected boolean shouldScanFile(Path file) {
try {
String content = readFileContent(file);
// Skip SQLAlchemy files
if (content.contains("from sqlalchemy import") ||
content.contains("from sqlalchemy.") ||
content.contains("declarative_base()") ||
content.contains("from sqlmodel import")) {
log.debug("Skipping SQLAlchemy file: {}", file.getFileName());
return false;
}
// Accept Django files
if (content.contains("from django.db import models") ||
content.contains("from django.db import") ||
content.contains("django.db.models") ||
content.contains("models.Model")) {
return true;
}
// Skip files without Django imports
log.debug("Skipping non-Django file: {}", file.getFileName());
return false;
} catch (IOException e) {
log.debug("Failed to read file for pre-filtering: {} - {}", file, e.getMessage());
return false;
}
}