|
5 | 5 | import sqlalchemy |
6 | 6 |
|
7 | 7 | import folder_paths |
8 | | -from app.database.db import create_session |
| 8 | +from app.database.db import create_session, dependencies_available |
9 | 9 | from app.assets.helpers import ( |
10 | 10 | collect_models_files, compute_relative_filename, fast_asset_file_check, get_name_and_tags_from_asset_path, |
11 | 11 | list_tree,prefixes_for_root, escape_like_prefix, |
|
16 | 16 | from app.assets.database.models import Asset, AssetCacheState, AssetInfo |
17 | 17 |
|
18 | 18 |
|
19 | | -def seed_assets(roots: tuple[RootType, ...]) -> None: |
| 19 | +def seed_assets(roots: tuple[RootType, ...], enable_logging: bool = False) -> None: |
20 | 20 | """ |
21 | 21 | Scan the given roots and seed the assets into the database. |
22 | 22 | """ |
| 23 | + if not dependencies_available(): |
| 24 | + if enable_logging: |
| 25 | + logging.warning("Database dependencies not available, skipping assets scan") |
| 26 | + return |
23 | 27 | t_start = time.perf_counter() |
24 | 28 | created = 0 |
25 | 29 | skipped_existing = 0 |
@@ -79,14 +83,15 @@ def seed_assets(roots: tuple[RootType, ...]) -> None: |
79 | 83 | created += result["inserted_infos"] |
80 | 84 | sess.commit() |
81 | 85 | finally: |
82 | | - logging.info( |
83 | | - "Assets scan(roots=%s) completed in %.3fs (created=%d, skipped_existing=%d, total_seen=%d)", |
84 | | - roots, |
85 | | - time.perf_counter() - t_start, |
86 | | - created, |
87 | | - skipped_existing, |
88 | | - len(paths), |
89 | | - ) |
| 86 | + if enable_logging: |
| 87 | + logging.info( |
| 88 | + "Assets scan(roots=%s) completed in %.3fs (created=%d, skipped_existing=%d, total_seen=%d)", |
| 89 | + roots, |
| 90 | + time.perf_counter() - t_start, |
| 91 | + created, |
| 92 | + skipped_existing, |
| 93 | + len(paths), |
| 94 | + ) |
90 | 95 |
|
91 | 96 |
|
92 | 97 | def _fast_db_consistency_pass( |
|
0 commit comments