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

get_by_id(host_id)

Retrieve a single Host by ID

Parameters

host_id – ID of Host

Returns

Host matching the given ID

Return type

Host

server.repositories.layer_repository module

class server.repositories.layer_repository.Layer(strategy)

Bases: server.repositories.base_repository.Repository

Repository for Layer object access

get_all()

Retrieve all Layer information to be used for Heatmaps

Returns

Layer containing Heatmap data

Return type

Layer

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

Listing

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

get_all_by_listing_id(listing_id)

Retrieve all Reviews for a given Listing ID

Parameters

listing_id – ID of a Listing

Returns

all reviews for a given Listing

Return type

List[Review]

Module contents