def getNeighbourgFromDirection(idArea, direction): """ area.model.getNeighbourgFromDirection(idArea, direction) -> dict() Returns the neighbourg of the area given in arguments from a given direction. @param idArea integer id of the reference area @direction string direction (from the reference area) of the area to return, must be a value of area.directions. @return dict informations of the found area, empty dict if not found. """ if direction not in (directions): raise exception('Unknown direction') query = "\ SELECT\ ad.id_area,\ ad.id_region,\ ad.id_next_area_north,\ ad.id_next_area_east,\ ad.id_next_area_south,\ ad.id_next_area_west\ FROM\ area AS ad\ JOIN area AS ap ON ad.id_area = ap.id_next_area_%s\ WHERE\ ap.id_area = ?\ " % direction return Model.fetchOneRow(query, [idArea])
def getSurroundingAreas(idArea): """ area.getSurroundingAreas(idArea) -> dict() Return the available neighbourg areas of the area given in argument. @param idArea integer id of the reference area @return dict a list of directions, with for each direction, True if there is an area in this direction, False else. """ query = "\ SELECT\ id_next_area_north IS NOT NULL AS north,\ id_next_area_south IS NOT NULL AS south,\ id_next_area_east IS NOT NULL AS east,\ id_next_area_west IS NOT NULL AS west\ FROM\ area\ WHERE\ id_area = ?\ " return Model.fetchOneRow(query, [idArea])