Utils methods

olx.utils.city_name(city)[source]

Creates valid OLX url city name

OLX city name can’t include polish characters, upper case letters. It also should replace white spaces with dashes.

Parameters:city (str) – City name not in OLX url format
Returns:Valid OLX url city name
Return type:str
Example:

>> city_name(“Ruda Śląska”) “ruda-slaska”

olx.utils.flatten(container)[source]

Flatten a list

Parameters:container (list) – list with nested lists
Returns:list with elements that were nested in container
Return type:list
olx.utils.get_content_for_url(url)[source]

Connects with given url

If environmental variable DEBUG is True it will cache response for url in /var/temp directory

Parameters:url (str) – Website url
Returns:Response for requested url
olx.utils.get_search_filter(filter_name, filter_value)[source]

Generates url search filter

Parameters:
  • filter_name (str) – Filter name in OLX format. See :meth:’olx.get_category’ for reference
  • filter_value – Correct value for filter
Returns:

Percent-encoded url search filter

:rtype str

Example:

>> get_search_filter([filter_float_price:from], 2000) “search%5Bfilter_float_price%3Afrom%5D=2000”

olx.utils.get_url(main_category, sub_category, detail_category, region, page=None, **filters)[source]

Creates url for given parameters

Parameters:
  • main_category (str) – Main category
  • sub_category (str) – Sub category
  • detail_category (str) – Detail category
  • region (str) – Region of search
  • page (int) – Page number
  • filters (dict) – Dictionary with additional filters. See :meth:’olx.get_category’ for reference
Returns:

Url for given parameters

Return type:

str

olx.utils.replace_all(text, input_dict)[source]

Replace specific strings in string

Parameters:
  • text (str) – string with strings to be replaced
  • input_dict (dict) – dictionary with elements in format string: string to be replaced with
Returns:

String with replaced strings

Return type:

str