pyowm.abstractions package¶
Submodules¶
pyowm.abstractions.jsonparser module¶
Module containing an abstract base class for JSON OWM Weather API responses parsing
-
class
pyowm.abstractions.jsonparser.
JSONParser
[source]¶ Bases:
object
A global abstract class representing a JSON to object parser.
-
parse_JSON
(JSON_string)[source]¶ Returns a proper object parsed from the input JSON_string. Subclasses know from their specific type which object is to be parsed and returned
Parameters: JSON_string (str) – a JSON text string Returns: an object Raises: ParseResponseError if it is impossible to find or parse the data needed to build the resulting object
-
pyowm.abstractions.linkedlist module¶
Module containing abstractions for defining a linked list data structure
-
class
pyowm.abstractions.linkedlist.
LinkedList
[source]¶ Bases:
object
An abstract class representing a Linked List data structure. Each element in the list should contain data and a reference to the next element in the list.
-
add
(data)[source]¶ Adds a new node to the list. Implementations should decide where to put this new element (at the top, in the middle or at the end of the list) and should therefore update pointers to next elements and the list’s size.
Parameters: data (object) – the data to be inserted in the new list node
-
contains
(data)[source]¶ Checks if the provided data is stored in at least one node of the list.
Parameters: data (object) – data of the seeked node Returns: a boolean
-
index_of
(data)[source]¶ Finds the position of a node in the list. The index of the first occurrence of the data is returned (indexes start at 0)
Parameters: data – data of the seeked node Type: object Returns: the int index or -1 if the node is not in the list
-
pop
()[source]¶ Removes the last node from the list
Returns: the object data that was stored in the last node
-
remove
(data)[source]¶ Removes a node from the list. Implementations should decide the policy to be followed when list items having the same data are to be removed, and should therefore update pointers to next elements and the list’s size.
Parameters: data (object) – the data to be removed in the new list node
-
pyowm.abstractions.owm module¶
Module containing the abstract PyOWM library main entry point interface
-
class
pyowm.abstractions.owm.
OWM
[source]¶ Bases:
object
A global abstract class representing the OWM Weather API. Every query to the API is done programmatically via a concrete instance of this class. Subclasses should provide a method for every OWM Weather API endpoint.
-
get_API_version
()[source]¶ Returns the currently supported OWM Weather API version
Returns: the OWM Weather API version string
-
get_version
()[source]¶ Returns the current version of the PyOWM library
Returns: the current PyOWM library version string
-
pyowm.abstractions.owmcache module¶
Module containing the abstract PyOWM cache provider
-
class
pyowm.abstractions.owmcache.
OWMCache
[source]¶ Bases:
object
A global abstract class representing a caching provider which can be used to lookup the JSON responses to the most recently or most frequently issued OWM Weather API requests. The purpose of the caching mechanism is to avoid OWM Weather API requests and therefore network traffic: the implementations should be adapted to the time/memory requirements of the OWM data clients (i.e: a “slimmer” cache with lower lookup times but higher miss rates or a “fatter” cache with higher memory consumption and higher hit rates?). Subclasses should implement a proper caching algorithms bearing in mind that different weather data types may have different change rates: in example, observed weather can change very frequently while long-period weather forecasts change less frequently. External caching mechanisms (eg: memcached, redis, etc..) can be used by extending this class into a proper decorator for the correspondent Python bindings.
-
get
(request_url)[source]¶ In case of a hit, returns the JSON string which represents the OWM web API response to the request being identified by a specific string URL.
Parameters: request_url (str) – an URL that uniquely identifies the request whose response is to be looked up Returns: a JSON str in case of cache hit or None
otherwise
-