"""First-time local setup. Never sends your password or secrets anywhere."""
from pathlib import Path
import hashlib
import getpass
import secrets
from cryptography.fernet import Fernet

root = Path(__file__).resolve().parent
out = root / '.env'
if out.exists():
    print('ملف .env موجود بالفعل — لن أكتب فوق مفاتيح حساباتك.')
    raise SystemExit(1)
print('إعداد Tedalal Social')
while True:
    password = getpass.getpass('اختار كلمة مرور قوية للوحة التحكم (12 حرف على الأقل): ')
    confirm = getpass.getpass('تأكيد كلمة المرور: ')
    if len(password)>=12 and password==confirm:
        break
    print('لازم كلمة السر تكون 12 حرف على الأقل ومتطابقة.')
def val(s):
    if '\n' in s or '\r' in s:
        raise SystemExit('ممنوع فواصل أسطر داخل كلمة المرور')
    return s
val(password)
salt = secrets.token_bytes(16)
iters = 600_000
hash_value = hashlib.pbkdf2_hmac('sha256',password.encode(),salt,iters)
password_hash = f'pbkdf2_sha256${iters}${salt.hex()}${hash_value.hex()}'
content = f'''APP_BASE_URL=http://localhost:8000
ALLOWED_HOSTS=localhost,127.0.0.1
DATA_DIR=./data
ADMIN_PASSWORD_HASH={password_hash}
SECRET_KEY={secrets.token_urlsafe(64)}
FERNET_KEY={Fernet.generate_key().decode()}
META_API_VERSION=v24.0
META_APP_ID=
META_APP_SECRET=
TIKTOK_CLIENT_KEY=
TIKTOK_CLIENT_SECRET=
'''
out.write_text(content,encoding='utf-8')
try:
    out.chmod(0o600)
except OSError:
    pass
print('تم إنشاء .env بأمان. لا تشارك الملف مع أي شخص.')
