server.repositories package¶
Submodules¶
server.repositories.base_repository module¶
- class server.repositories.base_repository.Repository¶
Bases:
object
Repository base class defining common methods
- ROW_LIMIT = 1000¶
- hosts = Table('hosts')¶
- listings = Table('listings')¶
- map_rt(room_type)¶
Method to map room_type field in a query
- Parameters
room_type – room_type string to map
- Returns
numerical encoding of room_type
server.repositories.host_repository module¶
- class server.repositories.host_repository.Host¶
Bases:
server.repositories.base_repository.Repository
Repository for Host object access
server.repositories.layer_repository module¶
- class server.repositories.layer_repository.Layer(strategy)¶
Bases:
server.repositories.base_repository.Repository
Repository for Layer object access
server.repositories.layer_strategy module¶
- class server.repositories.layer_strategy.ComplaintLayerStrategy¶
Bases:
server.repositories.layer_strategy.LayerStrategy
Implement the complaint layer using the Strategy interface.
- class server.repositories.layer_strategy.CrimeLayerStrategy¶
Bases:
server.repositories.layer_strategy.LayerStrategy
Implement the crime layer using the Strategy interface.
- class server.repositories.layer_strategy.HealthLayerStrategy¶
Bases:
server.repositories.layer_strategy.LayerStrategy
Implement health layer using the Strategy interface.
- class server.repositories.layer_strategy.LayerStrategy¶
Bases:
object
Declare an interface common to all supported layers. Context uses this interface to call the layer defined by a LayerStrategy.
server.repositories.listing_repsotory module¶
- class server.repositories.listing_repsotory.Listing¶
Bases:
server.repositories.base_repository.Repository
Repository for Listing object access
- add_where_clauses(query, filter)¶
Construct SQL WHERE clauses based on the given filter criteria
- Parameters
query – a given SQL query to be enhanced
filter – Listing filter criteria
- Returns
SQL query ready to be executed
- get_all(listings_filter)¶
Retrieve all Listings based on the provided filter criteria
- Parameters
listings_filter – filter criteria for Listings
- Returns
all Listings matching the given filter criteria
- Return type
List[Listing]
- get_all_by_id(id_list)¶
Retrieve all Listings by the given IDs
- Parameters
id_list – list of Listing IDs
- Returns
all Listings matching the given IDs
- Return type
List[Listing]
- get_by_id(listing_id)¶
Retrieve a single Listing by its ID
- Parameters
listing_id – ID of Listing
- Returns
the Listing matching the given ID
- Return type
- get_metadata()¶
Retrieve Listing metadata (min values, max values, enums, etc.)
- Returns
Listing metadata
server.repositories.recommendations_repository module¶
- class server.repositories.recommendations_repository.RecommendationsRepository¶
Bases:
server.repositories.base_repository.Repository
Repository to compute Recommendations
- recommend_n_listings(listing_id, request_filter, n=5)¶
Recommend n Listings factoring in the provided filter criteria
- Parameters
listing_id – Listing ID of target
request_filter – filter criteria
n – number of recommendations to compute
- Returns
recommended Listings
- Raises
ValueError – if no ID or filter was provided or n < 1
server.repositories.review_repsotory module¶
- class server.repositories.review_repsotory.Review¶
Bases:
server.repositories.base_repository.Repository
Repository for Review object access