Models¶
-
class
TheNounProjectAPI.models.Model¶ Model is a base class to be used as a superclass for conveniently accessing data. All of the json returned by the API is parsed through this model, and stored under the
jsonattribute.Let’s assume the json looks like this:
{ "author": { "location": "US", "name": "mnmly", "permalink": "/mnmly", "username": "mnmly" }, "author_id": "1", "date_created": "2012-02-22 13:32:49", "date_updated": "2012-02-22 13:33:00", "description": "", "icon_count": "3", "id": "7", "is_collaborative": "", "is_featured": "0", "is_published": "0", "is_store_item": "1", "name": "Bicycle", "permalink": "/mnmly/collection/bicycle", "slug": "bicycle", "sponsor": {}, "sponsor_campaign_link": "", "sponsor_id": "", "tags": [], "template": "24" }
This data may then be accessed in any of the following ways:
# (A) Standard way for accessing a dict model.json["author"]["username"] # This standard way may also be applied directly to the model object. model["author"]["username"] # Dot notation may also be used, both on the json attribute, or on the model object. model.json.author.username model.author.username
-
response¶ The requests.Response object returned by sending the request.
-
classmethod
parse(data, response=None)¶ Constructs and returns an instance of (sub)class, with the json attribute set to a conveniently accessible DotDict object, filled with data.
-
-
class
TheNounProjectAPI.models.ModelList¶ Bases:
listModelList is a base class to be used as a superclass for conveniently accessing lists of Model objects.
-
classmethod
parse(data, instance_class, main_keys, response=None)¶ Constructs and returns a list of instances of instance_class, a subclass of Model. In addition, this list has some additional attributes based on the data dictionary.
-
classmethod
-
class
TheNounProjectAPI.models.CollectionModel¶ Bases:
TheNounProjectAPI.models.ModelCollectionModel is a subclass of Model, with different attributes displayed when printed. See Collection for more information regarding what attributes comes with this object.
-
classmethod
parse(data, response=None)¶ Constructs and returns an instance of (sub)class, with the json attribute set to a conveniently accessible DotDict object, filled with data.
-
classmethod
-
class
TheNounProjectAPI.models.CollectionsModel¶ Bases:
TheNounProjectAPI.models.ModelListCollectionsModel is a subclass of ModelList, which focuses on turning CollectionModel objects into a list. See Collections for more information regarding what attributes comes with this object.
-
classmethod
parse(data, response=None)¶ Constructs and returns a list of CollectionModel objects. In addition, this list may have some additional attributes like generated_at based on the data dictionary.
-
classmethod
-
class
TheNounProjectAPI.models.IconModel¶ Bases:
TheNounProjectAPI.models.ModelIconModel is a subclass of Model, with different attributes displayed when printed. See Icon for more information regarding what attributes comes with this object.
-
classmethod
parse(data, response=None)¶ Constructs and returns an instance of (sub)class, with the json attribute set to a conveniently accessible DotDict object, filled with data.
-
classmethod
-
class
TheNounProjectAPI.models.IconsModel¶ Bases:
TheNounProjectAPI.models.ModelListIconsModel is a subclass of ModelList, which focuses on turning IconModel objects into a list. See Icons for more information regarding what attributes comes with this object.
-
classmethod
parse(data, response=None)¶ Constructs and returns a list of IconModel objects. In addition, this list may have some additional attributes like generated_at based on the data dictionary.
-
classmethod
-
class
TheNounProjectAPI.models.UsageModel¶ Bases:
TheNounProjectAPI.models.ModelUsageModel is a subclass of Model, with different attributes displayed when printed. See Usage for more information regarding what attributes comes with this object.
-
class
TheNounProjectAPI.models.EnterpriseModel¶ Bases:
TheNounProjectAPI.models.ModelEnterpriseModel is a subclass of Model, with different attributes displayed when printed. See Enterprise for more information regarding what attributes comes with this object.
-
class
TheNounProjectAPI.models.OutputKeys(key, title=None)¶ Bases:
objectClass to store key and title value, used for outputting attributes.
Constructs a ‘OutputKeys’ object, with a key and a title.
-
class
TheNounProjectAPI.models.DotDict¶ Bases:
dictSubclass of dict allowing dot notation for items in the dict:
1 2 3
dot_dict.author.username # is equivalent to: dot_dict["author"]["username"]
-
class
TheNounProjectAPI.models.DotList¶ Bases:
listSubclass of list allowing dot notation for dicts that might be in the list.
-
TheNounProjectAPI.models.sequence_to_dot(val)¶ Returns DotDict of val if val is a dict. Returns DotList of val if val is a list. Otherwise returns val.
- Return type
Any