IcaroPeretti

berkeley

Jun 21st, 2022 (edited)
238
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import time
  2.  
  3.  
  4. # ------------------------------------- Cliente -----------------------------------#
  5. def Cliente():
  6.     #
  7.     pass
  8.  
  9.  
  10. def getHoraCliente1():
  11.  
  12.     # horaServidor = horaServer.split(' ') # guardo la hora del servidor en una lista
  13.  
  14.     horaUTC = time.localtime()  # se define horaUTC obteniendo la hora local
  15.     desface = 20
  16.     minutos = (
  17.         int(horaUTC[3]) * 60 + int(horaUTC[4]) + desface
  18.     )  # se cambia la hora a minutos con desface
  19.     # print "minutos : "+ str(minutos)
  20.  
  21.     horaTotal = [int(minutos / 60), minutos % 60]  # se cambian los minutos a horas
  22.     # print "hora Cliente 1 -> " + str(horaTotal)
  23.  
  24.     return horaTotal  # se retorna la diferencia y la hora total
  25.  
  26.  
  27. def setHoraCliente1():
  28.     pass
  29.  
  30.  
  31. def getHoraCliente2():
  32.  
  33.     horaUTC = time.localtime()  # se define horaUTC obteniendo la hora local
  34.     desface = -10
  35.     minutos = (
  36.         int(horaUTC[3]) * 60 + int(horaUTC[4]) + desface
  37.     )  # se cambia la hora a minutos con desface
  38.     # print "minutos : "+ str(minutos)
  39.  
  40.     horaTotal = []
  41.     horaTotal.append(int(minutos / 60))
  42.     horaTotal.append(minutos % 60)
  43.     # horaTotal = [int(minutos/60), minutos%60] #se cambian los minutos a horas
  44.     # print "hora Cliente 2 -> " + str(horaTotal)
  45.  
  46.     return horaTotal  # se retorna la diferencia y la hora total
  47.  
  48.  
  49. def setHoraCliente2():
  50.     pass
  51.  
  52.  
  53. # ------------------------------------- Servidor ----------------------------------#
  54.  
  55. # Obtiene la hora del servidor
  56. def getHoraServer():
  57.  
  58.     horaUTC = time.localtime()  # se define horaUTC obteniendo el tiempo local
  59.     horaServer = [horaUTC[3], horaUTC[4]]  # se define la hora del server
  60.  
  61.     # print "Hora Server ->" +str(horaServer)
  62.  
  63.     return horaServer  # se retorna la diferencia y la hora total
  64.  
  65.  
  66. # ASIGNA LA HROA DEL SERVIDOR
  67. def setHoraServer():
  68.     pass
  69.  
  70.  
  71. def calcularDiferencias(horaCliente, horaServer):
  72.  
  73.     minutosCliente = int(horaCliente[0]) * 60 + int(
  74.         horaCliente[1]
  75.     )  # se cambian las horas del cliente a minutos
  76.     # print "minutos Cliente : "+ str(minutosCliente)
  77.  
  78.     minutosServer = int(horaServer[0]) * 60 + int(
  79.         horaServer[1]
  80.     )  # se cambian las horas del server a minutos
  81.     # print "minutos Servidor : "+ str(minutosServer)
  82.  
  83.     diferencia = minutosCliente - minutosServer  # se hace la diferencia de los minutos
  84.     # print "diferencia : "+ str(diferencia)
  85.  
  86.     return str(diferencia)
  87.  
  88.  
  89. def calcularHoras(diferencias, *horas):
  90.  
  91.     # horas = horas.split(' ')
  92.     print("horas: " + str(horas))
  93.  
  94.     minutos = []
  95.     i = 0
  96.     # print (horas[i][0])
  97.     for hora in horas:
  98.         while i < len(horas):
  99.             minutos.append(int(horas[i][0]) * 60 + int(horas[i][1]))
  100.             i += 1
  101.  
  102.     print("minutos: " + str(minutos))
  103.  
  104.     # calculando promedios--------------------------------
  105.     cantidadDiferencias = len(diferencias)
  106.     suma = 0
  107.     for diferencia in diferencias:
  108.         suma = suma + int(diferencia)
  109.     promedio = suma / cantidadDiferencias
  110.     print("promedio : " + str(promedio))
  111.  
  112.     # calculando nuevas diferencias ----------------------
  113.     nuevasDiferencias = []
  114.     for diferencia in diferencias:
  115.         nuevasDiferencias.append(promedio - int(diferencia))
  116.     print("nuevas Diferencias: " + str(nuevasDiferencias))
  117.  
  118.     # calculando nuevas horas ----------------------------
  119.     pos = 0
  120.     nuevasHoras = []
  121.     for nuevaDiferencia in nuevasDiferencias:
  122.  
  123.         nuevasHoras.append(minutos[pos] + int(nuevaDiferencia))
  124.         pos += 1
  125.  
  126.     print("nuevas Horas: " + str(nuevasHoras))
  127.  
  128.     return nuevasHoras
  129.  
  130.  
  131. def obtenerHoraCliente():
  132.  
  133.     horas = []
  134.     diferencias = []  # cadena de diferencias
  135.  
  136.     horaServer = getHoraServer()  # obtiene la hora del Servidor
  137.     print("hora servidor : " + str(horaServer))
  138.     diferenciaServer = calcularDiferencias(horaServer, horaServer)
  139.     diferencias.append(diferenciaServer)
  140.     horas.append(str(horaServer))
  141.  
  142.     horaCliente1 = getHoraCliente1()  # obtiene la hora del Cliente 1
  143.     print("hora cliente 1: " + str(horaCliente1))
  144.     diferenciaCliente1 = calcularDiferencias(
  145.         horaCliente1, horaServer
  146.     )  # calcula diferencia del cliente con respecto al servidor
  147.     diferencias.append(diferenciaCliente1)
  148.     horas.append(str(horaCliente1))
  149.  
  150.     horaCliente2 = getHoraCliente2()  # obtiene la hora del Cliente 2
  151.     print("hora cliente 2: " + str(horaCliente2))
  152.     diferenciacliente2 = calcularDiferencias(
  153.         horaCliente2, horaServer
  154.     )  # calcula diferencia del cliente con respecto al servidor
  155.     horaAux = [horaCliente2[0], horaCliente2[1]]
  156.     diferencias.append(diferenciacliente2)
  157.     horas.append(str(horaCliente2))
  158.  
  159.     # Grenerando cadena de Horas ---------------------------
  160.     strHoras = " ".join(horas)  #
  161.     bracketLeft = strHoras.replace("[", "")
  162.     bracketRight = bracketLeft.replace("]", "")
  163.     commas = bracketRight.replace(",", "")
  164.  
  165.     # print(commas)
  166.     hrs = commas.split(" ")
  167.     # print(hrs)
  168.  
  169.     i = 0
  170.     horas = []
  171.     while i < len(hrs):
  172.         hourAux = []
  173.         hourAux.append(hrs[i])
  174.         hourAux.append(hrs[i + 1])
  175.         horas.append(hourAux)
  176.         i += 2
  177.     # ------------------------------------------------------
  178.  
  179.     print("diferencias: " + str(diferencias))
  180.  
  181.     nuevasHoras = calcularHoras(diferencias, *horas)
  182.     print(nuevasHoras)
  183.     nuevaHora = []
  184.  
  185.  
  186. obtenerHoraCliente()
  187.  
RAW Paste Data Copied