Add ruff linter/formatter for Python
- Add ruff as dev dependency - Configure ruff in pyproject.toml with strict 88-char line limit - Ignore B008 (FastAPI Depends pattern is standard) - Allow longer lines in tests for readability - Fix all lint issues in source files - Add Makefile targets: lint-backend, format-backend, fix-backend
This commit is contained in:
parent
69bc8413e0
commit
6c218130e9
31 changed files with 1234 additions and 876 deletions
|
|
@ -1,4 +1,5 @@
|
|||
"""Utilities for invite code generation and validation."""
|
||||
|
||||
import random
|
||||
from pathlib import Path
|
||||
|
||||
|
|
@ -13,11 +14,11 @@ assert len(BIP39_WORDS) == 2048, f"Expected 2048 BIP39 words, got {len(BIP39_WOR
|
|||
def generate_invite_identifier() -> str:
|
||||
"""
|
||||
Generate a unique invite identifier.
|
||||
|
||||
|
||||
Format: word1-word2-NN where:
|
||||
- word1, word2 are random BIP39 words
|
||||
- NN is a two-digit number (00-99)
|
||||
|
||||
|
||||
Returns lowercase identifier.
|
||||
"""
|
||||
word1 = random.choice(BIP39_WORDS)
|
||||
|
|
@ -29,7 +30,7 @@ def generate_invite_identifier() -> str:
|
|||
def normalize_identifier(identifier: str) -> str:
|
||||
"""
|
||||
Normalize an invite identifier for comparison/lookup.
|
||||
|
||||
|
||||
- Converts to lowercase
|
||||
- Strips whitespace
|
||||
"""
|
||||
|
|
@ -39,22 +40,18 @@ def normalize_identifier(identifier: str) -> str:
|
|||
def is_valid_identifier_format(identifier: str) -> bool:
|
||||
"""
|
||||
Check if an identifier has valid format (word-word-NN).
|
||||
|
||||
|
||||
Does NOT check if words are valid BIP39 words.
|
||||
"""
|
||||
parts = identifier.split("-")
|
||||
if len(parts) != 3:
|
||||
return False
|
||||
|
||||
|
||||
word1, word2, number = parts
|
||||
|
||||
|
||||
# Check words are non-empty
|
||||
if not word1 or not word2:
|
||||
return False
|
||||
|
||||
# Check number is two digits
|
||||
if len(number) != 2 or not number.isdigit():
|
||||
return False
|
||||
|
||||
return True
|
||||
|
||||
# Check number is two digits
|
||||
return len(number) == 2 and number.isdigit()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue