Beispiel #1
0
 def search_things_inactives_by_location(self, loca_id):
     try:
         conn = Connection()
         cursor = conn.execute_sql(
             "SELECT pabe_id, pabe_num_patr1, pabe_num_patr2, pabe_descricao,"
             " pabe_situacao, pabe_valor, pabe_dt_cadastro, pabe_estado,"
             " loca_1.loca_id AS pabe_location_id, loca_1.loca_sala AS pabe_location_sala,"
             " pabe_observacao, pabe_etiqueta_ativa, loca_2.loca_id AS pblo_location_id,"
             " loca_2.loca_sala AS pblo_location_sala FROM patr_bens "
             " LEFT JOIN patr_bens_x_localizacao ON pabe_id = pblo_pabe_id"
             " INNER JOIN localizacao AS loca_1 ON loca_1.loca_id = pabe_loca_id"
             " LEFT JOIN localizacao AS loca_2 ON loca_2.loca_id = pblo_loca_id"
             " WHERE pabe_etiqueta_ativa = 0 AND pabe_loca_id ='" +
             str(loca_id) + "'")
         # print("SELECT pabe_id, pabe_num_patr1, pabe_num_patr2, pabe_descricao,"
         #                           " pabe_situacao, pabe_valor, pabe_dt_cadastro, pabe_estado,"
         #                           " loca_1.loca_id AS pabe_location_id, loca_1.loca_sala AS pabe_location_sala,"
         #                           " pabe_observacao, pabe_etiqueta_ativa, loca_2.loca_id AS pblo_location_id,"
         #                           " loca_2.loca_sala AS pblo_location_sala FROM patr_bens "
         #                           " LEFT JOIN patr_bens_x_localizacao ON pabe_id = pblo_pabe_id"
         #                           " INNER JOIN localizacao AS loca_1 ON loca_1.loca_id = pabe_loca_id"
         #                           " LEFT JOIN localizacao AS loca_2 ON loca_2.loca_id = pblo_loca_id"
         #                           " WHERE pabe_etiqueta_ativa = 0 AND pabe_loca_id ='" + str(loca_id) + "'")
         if cursor.rowcount == 0:
             return False
         listThings = []
         for data in cursor.fetchall():
             location = LocationModel(
                 loca_id=str("0" if data[8] == None else data[8]),
                 loca_room=str("" if data[9] == None else data[9]))
             location_current = LocationModel(
                 loca_id=str("0" if data[12] == None else data[12]),
                 loca_room=str("" if data[13] == None else data[13]))
             thingsModel = ThingsModel(
                 code_things=str(data[0]),
                 nr_things1=str("0" if data[1] == None else data[1]),
                 nr_things2=str("0" if data[2] == None else data[2]),
                 description=str("" if data[3] == None else data[3]),
                 situation=str("" if data[4] == None else data[4]),
                 value=str("0" if data[5] == None else data[5]),
                 date_registre=str("" if data[6] == None else data[6]),
                 state=str("" if data[7] == None else data[7]),
                 location=location,
                 note=str("" if data[10] == None else data[10]),
                 tag_activated=str("0" if data[11] == None else data[11]),
                 location_current=location_current)
             listThings.append(thingsModel)
             print(thingsModel.nr_things2)
         return listThings
     except Exception as e:
         print(e)
         return 'ERRO'
     finally:
         conn.close_connection()
Beispiel #2
0
    def search_things_by_num2(self, nr_things1):
        try:
            conn = Connection()
            cursor = conn.execute_sql(
                "SELECT pabe_id, pabe_num_patr1, pabe_num_patr2, pabe_descricao, pabe_situacao, pabe_valor, pabe_dt_cadastro, pabe_estado, loca_1.loca_id AS pabe_location_id, loca_1.loca_sala AS pabe_location_sala, pabe_observacao, pabe_etiqueta_ativa, loca_2.loca_id AS pblo_location_id, loca_2.loca_sala AS pblo_location_sala "
                "FROM patr_bens "
                "LEFT JOIN patr_bens_x_localizacao "
                "     ON pabe_id = pblo_pabe_id "
                "LEFT JOIN localizacao AS loca_1 "
                "     ON loca_1.loca_id = pabe_loca_id "
                "LEFT JOIN localizacao AS loca_2 "
                "     ON loca_2.loca_id = pblo_loca_id "
                "WHERE patr_bens.pabe_etiqueta_ativa = 1 "
                "     AND pabe_num_patr1 = '" + str(nr_things1) + "'")

            if cursor.rowcount == 0:
                return False
            data = cursor.fetchone()
            location = LocationModel(
                loca_id=str("0" if data[8] == None else data[8]),
                loca_room=str("" if data[9] == None else data[9]))
            location_current = LocationModel(
                loca_id=str("0" if data[12] == None else data[12]),
                loca_room=str("" if data[13] == None else data[13]))
            thingsModel = ThingsModel(
                code_things=str(data[0]),
                nr_things1=str("0" if data[1] == None else data[1]),
                nr_things2=str("0" if data[2] == None else data[2]),
                description=str("" if data[3] == None else data[3]),
                situation=str("" if data[4] == None else data[4]),
                value=str("0" if data[5] == None else data[5]),
                date_registre=str("" if data[6] == None else data[6]),
                state=str("" if data[7] == None else data[7]),
                location=location,
                note=str("" if data[10] == None else data[10]),
                tag_activated=str("0" if data[11] == None else data[11]),
                location_current=location_current)
            return thingsModel
        except Exception as e:
            print(e)
            return 'ERRO'
        finally:
            conn.close_connection()
Beispiel #3
0
    def search_location_by_id(self, id):
        try:
            sql = "SELECT * FROM localizacao WHERE loca_id =" + str(id)
            conn = Connection()
            cursor = conn.execute_sql(sql)
            if cursor.rowcount == 0:
                return False
            data = cursor.fetchone()

            location = LocationModel(loca_id=str(data[0]), loca_room=data[1])

            return location
        except Exception as e:
            print(e)
            return 'ERRO'
        finally:
            conn.close_connection()
Beispiel #4
0
 def search_locations(self):
     try:
         sql = "SELECT * FROM localizacao  ORDER BY loca_sala ASC"
         conn = Connection()
         cursor = conn.execute_sql(sql)
         if cursor.rowcount == 0:
             return False
         listLocations = []
         for data in cursor.fetchall():
             listLocations.append(
                 LocationModel(loca_id=str(data[0]), loca_room=data[1]))
         return listLocations
     except Exception as e:
         print(e)
         return 'ERRO'
     finally:
         conn.close_connection()
    def data_organizerForecast(self, raw_api_dict):

        city_dict = raw_api_dict["city"]
        coordinates = city_dict["coord"]

        location_of_the_forecast = LocationModel(coordinates["lat"],
                                                 coordinates["lon"])

        total_elements = raw_api_dict["cnt"]

        element_list = raw_api_dict["list"]

        data = []
        for element in element_list:

            date_string = element["dt_txt"]

            # '2018-07-01 09:00:00'
            #datetime.strptime('Jun 1 2005  1:33PM', '%b %d %Y %I:%M%p')
            date = datetime.strptime(date_string, '%Y-%m-%d %H:%M:%S')

            wind_dict = element["wind"]

            wind_speed = wind_dict["speed"]
            wind_degree = wind_dict["deg"]

            rain_dict = element["rain"]

            rain_chance = rain_dict.get("3h", 0)

            weather_dict = element["weather"][0]

            weather_description = weather_dict["description"]
            # I believe we don't need much from here...

            main_dict = element["main"]

            pressure = main_dict['pressure']
            ground_level = main_dict['grnd_level']
            sea_level = main_dict['sea_level']

            temp_kf = main_dict['temp_kf']
            temp_max = main_dict["temp_max"]
            temp_min = main_dict['temp_min']
            temp = main_dict['temp']

            humidity = main_dict['humidity']

            cloud_dict = element["clouds"]

            cloud_coverage = cloud_dict["all"]

            # temp = raw_api_dict['list'][elements]['main'].get('temp'),
            # temp_max = raw_api_dict['list'][elements]['main'].get('temp_max'),
            # temp_min = raw_api_dict['list'][elements]['main'].get('temp_min'),
            # humidity = raw_api_dict['list'][elements]['main'].get('humidity'),
            # pressure = raw_api_dict['list'][elements]['main'].get('pressure'),
            # sky = raw_api_dict['list'][elements]['weather'][0]['main'],
            # wind = raw_api_dict['list'][elements]['wind'].get('speed'),
            # wind_deg = raw_api_dict['list'][elements]['wind'].get('deg'),
            # dt_txt = raw_api_dict['list'][elements]['dt_txt'],
            # cloudiness=raw_api_dict['list'][elements]['clouds'].get('all'),
            # rain=raw_api_dict['list'][elements]['rain'],
            # typeid=raw_api_dict['list'][elements]['weather'][0]['id'],
            # wtype=raw_api_dict['list'][elements]['weather'][0]['description']

            sat_count = 0
            visibility = 0
            #TODO fill date time as well
            #TODO integrate sat count as well
            new_weather_model = WeatherModel(location_of_the_forecast,
                                             date,
                                             rain_chance,
                                             temp,
                                             temp_max,
                                             temp_min,
                                             humidity,
                                             wind_speed,
                                             cloud_coverage,
                                             sat_count,
                                             visibility,
                                             pressure,
                                             wind_degree=wind_degree)
            data.append(new_weather_model)
        # These can be placed inside the weather model, but as a coordinate, we are mostly interested in weather
        # conditions at spesific coords, (wont fly drones over a city wide area)
        # data['city'] = raw_api_dict.get('city').get('name')
        # data['country'] = raw_api_dict.get('city').get('country'),

        return data