File size: 441 Bytes
80ef840
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import re
from datetime import date


ORDER_PATTERN = re.compile(r"(?:order\s*)?#?\s*([A-Z0-9-]{4,})", re.IGNORECASE)


def extract_order_id(text: str) -> str | None:
    match = ORDER_PATTERN.search(text)
    return match.group(1).upper() if match else None


def days_between(start: str, end: str | None = None) -> int:
    end_date = date.fromisoformat(end) if end else date.today()
    return (end_date - date.fromisoformat(start)).days