adselect.iface package¶
adselect.iface.protocol module¶
adselect.iface.protocol
adselect.iface.server module¶
-
class
adselect.iface.server.AdSelectIfaceServer[source]¶ Bases:
fastjsonrpc.server.JSONRPCServerJSON-RPC endpoint.
JSON-RPC banner_select method handler.
Parameters: impression_param_list – List of impression parameters Returns: Selected banners data in JSON.
-
jsonrpc_campaign_delete(**kwargs)[source]¶ JSON-RPC campaign_delete method handler.
Parameters: campaign_id_list – List of campaign identifiers. Returns: True
-
jsonrpc_campaign_update(**kwargs)[source]¶ JSON-RPC campaign_update method handler.
Parameters: campaign_data_list – List of campaign data. Returns: True
adselect.iface.utils module¶
-
adselect.iface.utils.FILTER_SEPARATOR= '--'¶ Filter separator, used in range filters (see protocol or api documentation).
-
adselect.iface.utils.add_impression(imobj, increment=True)[source]¶ Record the impression, by passing it to the Statistics module.
Parameters: - imobj – Impression document.
- increment – Increment views (True or False).
Returns:
-
adselect.iface.utils.create_or_update_campaign(*args, **kwargs)[source]¶ Create or update (if existing) campaign data, asynchronously. The data can contain banners.
- Add campaign data.
- Remove old banners for this campaign.
- Create or update banner data, if included with the campaign data.
Parameters: cmpobj – Campaign document. Returns: Deferred instance of pymongo.results.UpdateResult.
-
adselect.iface.utils.delete_campaign(*args, **kwargs)[source]¶ Remove campaign and banners for that campaign.
Parameters: campaign_id – Identifier of the campaign. Returns: Deferred.
-
adselect.iface.utils.merge_two_dicts(x, y)[source]¶ Merges two dicts and returns it as new dict.
Parameters: - x – dict
- y – dict
Returns: merged dict
Select_banner function should work as follow:
- Select banners which are paid a lot.
- Some percent of selected banners should be new banners without payments stats
- The same user shouldn’t take the same banners every time.
Parameters: banners_requests – Iterable of banner documents. Returns:
Make sure the banner is ok for this request.
- Does the banner exist?
- Does the campaign for this banner exist?
- Is the campaign active?
- Are banner keywords ok for this campaign?
Parameters: - banner_request –
- proposed_banner_id –
Returns:
-
adselect.iface.utils.validate_exclude_keywords(filters_dict, keywords)[source]¶ Validate required and excluded keywords.
Parameters: - filters_dict – Required and excluded keywords
- keywords – Keywords being tested.
Returns: True or False