"""Build a source package without local credentials, databases or logs."""
from pathlib import Path
from zipfile import ZipFile, ZIP_DEFLATED
from db import ROOT

target=ROOT.parent/'RouteFlow-V1.zip'
files=[p for p in ROOT.iterdir() if p.is_file() and (p.suffix in ('.py','.sql','.md','.ps1','.jpg') or p.name in ('.env.example','.gitignore'))]
for folder in ('static','docs','references','bridge'):
    files.extend(p for p in (ROOT/folder).iterdir() if p.is_file())
files.extend(p for p in (ROOT/'tests').glob('test_*.py') if p.is_file())
with ZipFile(target,'w',ZIP_DEFLATED) as archive:
    for path in files: archive.write(path,Path('routeflow')/path.relative_to(ROOT))
print(target)
print('Source files:',len(files),'— credentials, runtime databases and logs excluded.')
