Initial OSV mirror
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
#!/usr/bin/env python3
|
||||
import json
|
||||
import sys
|
||||
from pathlib import Path
|
||||
root = Path(__file__).resolve().parents[1]
|
||||
state_file = root / 'state/sync.json'
|
||||
if not state_file.exists():
|
||||
sys.exit('No OSV sync state')
|
||||
state = json.loads(state_file.read_text())
|
||||
for ecosystem, metadata in state.get('ecosystems', {}).items():
|
||||
files = list((root / 'data' / ecosystem).glob('*.json'))
|
||||
if len(files) < 1:
|
||||
sys.exit(f'Empty ecosystem: {ecosystem}')
|
||||
# Files are checked on import; spot-check retained data here to avoid reparsing millions.
|
||||
for path in files[:10]:
|
||||
item = json.loads(path.read_text())
|
||||
if item.get('id') != path.stem:
|
||||
sys.exit(f'Invalid {path}')
|
||||
print(ecosystem, len(files), 'records')
|
||||
print('Validation OK')
|
||||
Reference in New Issue
Block a user