37 lines
1.2 KiB
Python
37 lines
1.2 KiB
Python
from typing import Dict, List, Optional, Any
|
|
from utils.functions.items_to_dict import _row_to_contact_dict
|
|
import logging
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
def obtenir_contact(self, numero: str, contact_numero: int) -> Optional[Dict]:
|
|
"""
|
|
Récupère un contact spécifique par son CT_No
|
|
"""
|
|
try:
|
|
with self._get_sql_connection() as conn:
|
|
cursor = conn.cursor()
|
|
|
|
query = """
|
|
SELECT
|
|
CT_Num, CT_No, N_Contact,
|
|
CT_Civilite, CT_Nom, CT_Prenom, CT_Fonction,
|
|
N_Service,
|
|
CT_Telephone, CT_TelPortable, CT_Telecopie, CT_EMail,
|
|
CT_Facebook, CT_LinkedIn, CT_Skype
|
|
FROM F_CONTACTT
|
|
WHERE CT_Num = ? AND CT_No = ?
|
|
"""
|
|
|
|
cursor.execute(query, [numero, contact_numero])
|
|
row = cursor.fetchone()
|
|
|
|
if not row:
|
|
return None
|
|
|
|
return _row_to_contact_dict(row)
|
|
|
|
except Exception as e:
|
|
logger.error(f"Erreur obtention contact: {e}")
|
|
raise RuntimeError(f"Erreur lecture contact: {str(e)}")
|