habulaj commited on
Commit
8100f42
·
verified ·
1 Parent(s): 8ef85b9

Update routes/stylist.py

Browse files
Files changed (1) hide show
  1. routes/stylist.py +10 -4
routes/stylist.py CHANGED
@@ -388,21 +388,22 @@ def get_monthly_likes(user_id: str) -> Dict[str, Any]:
388
  date_str = date_str.replace('Z', '+00:00')
389
 
390
  # Verificar se há microssegundos com mais de 6 dígitos
391
- if '.' in date_str and ('+' in date_str or '-' in date_str.split('T')[1]):
392
  # Separar a parte dos microssegundos
393
  parts = date_str.split('.')
394
  if len(parts) == 2:
395
  base_part = parts[0]
396
  microsec_and_tz = parts[1]
397
 
398
- # Encontrar onde termina os microssegundos (início do timezone)
399
  tz_start_idx = -1
400
- for i, char in enumerate(microsec_and_tz):
401
- if char in ['+', '-']:
402
  tz_start_idx = i
403
  break
404
 
405
  if tz_start_idx > 0:
 
406
  microsec_part = microsec_and_tz[:tz_start_idx]
407
  tz_part = microsec_and_tz[tz_start_idx:]
408
 
@@ -411,6 +412,11 @@ def get_monthly_likes(user_id: str) -> Dict[str, Any]:
411
  microsec_part = microsec_part[:6]
412
 
413
  date_str = f"{base_part}.{microsec_part}{tz_part}"
 
 
 
 
 
414
 
415
  return datetime.fromisoformat(date_str)
416
  except ValueError as e:
 
388
  date_str = date_str.replace('Z', '+00:00')
389
 
390
  # Verificar se há microssegundos com mais de 6 dígitos
391
+ if '.' in date_str:
392
  # Separar a parte dos microssegundos
393
  parts = date_str.split('.')
394
  if len(parts) == 2:
395
  base_part = parts[0]
396
  microsec_and_tz = parts[1]
397
 
398
+ # Encontrar onde começa o timezone (+ ou - após os dígitos)
399
  tz_start_idx = -1
400
+ for i in range(1, len(microsec_and_tz)): # Começar do índice 1 para evitar o sinal no início
401
+ if microsec_and_tz[i] in ['+', '-']:
402
  tz_start_idx = i
403
  break
404
 
405
  if tz_start_idx > 0:
406
+ # Há timezone
407
  microsec_part = microsec_and_tz[:tz_start_idx]
408
  tz_part = microsec_and_tz[tz_start_idx:]
409
 
 
412
  microsec_part = microsec_part[:6]
413
 
414
  date_str = f"{base_part}.{microsec_part}{tz_part}"
415
+ else:
416
+ # Não há timezone, apenas microssegundos
417
+ if len(microsec_and_tz) > 6:
418
+ microsec_and_tz = microsec_and_tz[:6]
419
+ date_str = f"{base_part}.{microsec_and_tz}"
420
 
421
  return datetime.fromisoformat(date_str)
422
  except ValueError as e: