Ejemplo n.º 1
0
def TN(analyzer,N):
    rank=oms.newMap('BST',comparefunction=comparerMap)
    rankp=oms.newMap('BST',comparefunction=comparerMap)
    sancocho=om.valueSet(analyzer["indice"])
    for papa in sancocho:
        if oms.contains(rank,papa["company"])==True:
            new=oms.get(rank,papa["company"])
            nueva=int(new.values())+1
            oms.put(rank,str(new.keys()),nueva)
            if papa["company"]=="" and oms.contains(rank,"Independent Owner")==True:
                news=oms.get(rank,"Independent Owner")
                nuevas=int(news.values())+1
                oms.put(rank,str(news.keys()),nuevas)
        else:
            if papa["company"]=="":
                oms.put(rank,"Independent Owner",1)
            oms.put(rank,papa["company"],1)

    for com in list(rank):
        oms.put(rankp,int(com.values()),str(com.keys()))

    rankesito=lt.newList()
    for puesto in range(N):
        p=oms.maxKey(rankp)
        lt.addLast(rankesito,dict(list(rank.keys())[list(rank.values()).index(p)],p))
        oms.deleteMax(rankp)
    return rankesito
Ejemplo n.º 2
0
def TM(analyzer,M):
    rank=oms.newMap('BST',comparefunction=comparerMap)
    rankp=oms.newMap('BST',comparefunction=comparerMap)
    sancocho=om.valueSet(analyzer["indice"])
    for papa in sancocho:
        if oms.contains(rank,papa["company"])==True:
            new=oms.get(rank,papa["company"])
            nueva=lt.newList(new.values())
            lt.addLast(nueva,papa["taxi_id"])
            oms.put(rank,str(new.keys()),nueva)
            if papa["company"]=="" and oms.contains(rank,"Independent Owner")==True:
                news=oms.get(rank,"Independent Owner")
                nuevas=lt.newList(news.values())
                lt.addLast(nuevas,papa["taxi_id"])
                oms.put(rank,str(news.keys()),nuevas)
        else:
            if papa["company"]=="":
                oms.put(rank,"Independent Owner",1)
            oms.put(rank,papa["company"],1)

    for com in list(rank):
        oms.put(rankp,lt.size(set(list(com.values()))),str(com.keys()))

    ranki=lt.newList()
    for puesto in range(M):
        p=oms.maxKey(rankp)
        lt.addLast(ranki,dict(om.keySet(rank)[om.valueSet(rank).index(p)],p))
        oms.deleteMax(rankp)
    return ranki
Ejemplo n.º 3
0
def updateDateOmap(omap, occurredDate, SevKey, stateKey):
    """

    Args:
        omap: omap de date
        occurredDate: datetime con el dia en que sucedio, en formato YY-MM-dd
        SevKey: str con el nivel de severidad
        stateKey: str con el estado de ocurrencia

    Returns:

    """
    dateRoot = om.get(omap, occurredDate)

    if dateRoot:
        dateValue = dateRoot[
            'value']  # lo correcto es me.getValue(entry), se usa para optimizar de aqui en adelante
    else:
        dateValue = {
            'SeverityIndex': MakeMapFormat(2, ints=True),
            'StateIndex': MakeMapFormat(23, 'CHAINING'),
            'numAccidents': 0
        }
        om.put(omap, occurredDate, dateValue)

    dateValue['numAccidents'] += 1
    updateIndex(dateValue['SeverityIndex'], SevKey)
    updateIndex(dateValue['StateIndex'], stateKey)

    return omap
Ejemplo n.º 4
0
def updateTimeOmap(omap, occurredTime, SevKey):
    """

    Args:
        omap: omap de time
        occurredTime: datetime con el la Hora con minutos en que sucedio, en formato HH:MM
        SevKey: str con el nivel de severidad

    Returns:

    """

    timeRoot = om.get(omap, occurredTime)
    if timeRoot:
        timeValue = timeRoot['value']
    else:
        timeValue = {
            'SeverityIndex': MakeMapFormat(2, ints=True),
            'numAccidents': 0
        }
        om.put(omap, occurredTime, timeValue)

    timeValue['numAccidents'] += 1
    updateIndex(timeValue['SeverityIndex'], SevKey)

    return omap
Ejemplo n.º 5
0
def get(map, key):
    """
    Retorna la pareja lleve-valor con llave igual a key
    Args:
        map: La tabla de simbolos
        key: La llave asociada a la pareja
    Returns:
        La tabla de simbolos con la nueva pareja
    Raises:
        Exception
    """
    return om.get(map, key)
Ejemplo n.º 6
0
def getDateInfo(dateOmap, date):
    """
    Para una fecha devuelve una lista de la cantidad de
    accidentes por severidad y el total de accidentes
    Args:
        dateOmap: Order map organizado por fechas
        date: datetime de la fecha

    Returns:
        Entry con la lista y el total
    """
    dateRoot = om.get(dateOmap, date)
    if dateRoot is None:
        return None
    dateEntry = dateRoot['value']
    severityList = Op.operationSetMap(dateEntry['SeverityIndex'],
                                      Aux.makeListMp, newList('ARRAY_LIST'))
    severityListAndTotal = {
        'list': severityList,
        'total': dateEntry['numAccidents']
    }
    return severityListAndTotal
Ejemplo n.º 7
0
def updateZoneOmap(ZoneOmap, zoneTuple, weekday):
    """
    Args:
        zoneTuple: tupla con cordenada Latitud, cordenada Longitud
        ZoneOmap: entry con un omap y un conteo de cordenadas
        weekday: dia del la semana representado del 1 al 7
    Returns:

    """
    zoneRoot = om.get(ZoneOmap, zoneTuple)

    if zoneRoot:
        zoneValue = zoneRoot['value']
    else:
        zoneValue = {
            'weekdayIndex': MakeMapFormat(1, 'CHAINING', True),
            'numAccidents': 0
        }
        om.put(ZoneOmap, zoneTuple, zoneValue)

    zoneValue['numAccidents'] += 1
    updateIndex(zoneValue['weekdayIndex'], weekday)
    return zoneRoot