# Path: mapmyfitness/objects/base.py
# class BaseObject(object):
#     def __init__(self, dict_):
#         self.original_dict = dict_
# 
#         if hasattr(self, 'simple_properties'):
#             for property_key, property_name in self.simple_properties.items():
#                 if property_key in self.original_dict:
#                     if property_name is None:
#                         property_name = property_key
#                     setattr(self, property_name, self.original_dict[property_key])
# 
#         if hasattr(self, 'datetime_properties'):
#             for property_key, property_name in self.datetime_properties.items():
#                 if property_key in self.original_dict:
#                     if property_name is None:
#                         property_name = property_key
#                     setattr(self, property_name, iso_format_to_datetime(self.original_dict[property_key]))
# 
# Path: mapmyfitness/exceptions.py
# class AttributeNotFoundException(Exception):
#     """The attribute you requested does not exist."""
# 
# class InvalidSizeException(Exception):
#     """Invalid size."""


import datetime
import inspect
from .base import BaseObject
from ..exceptions import AttributeNotFoundException, InvalidSizeException
        from mapmyfitness import MapMyFitness
        from mapmyfitness import MapMyFitness
        from mapmyfitness import MapMyFitness
            return self.original_dict['email']

    @property
    def display_measurement_system(self):
        if 'display_measurement_system' in self.original_dict:
            return self.original_dict['display_measurement_system']

    @property
    def weight(self):
        if 'weight' in self.original_dict:
            return self.original_dict['weight']

    @property
    def height(self):
        if 'height' in self.original_dict:
            return self.original_dict['height']

    def get_profile_photo(self, size='medium'):
        if size not in ('small', 'medium', 'large'):
            raise InvalidSizeException('User get_profile_photo size must one of "small", "medium" or "large".')
        instance = MapMyFitness.instance()
        user_profile_photo = instance._user_profile_photo.find(self.id)
        return getattr(user_profile_photo, size)

    def get_friends(self):
        instance = MapMyFitness.instance()
        friends = instance.user.search(friends_with=self.id)
        return friends



# Path: mapmyfitness/objects/base.py
# class BaseObject(object):
#     def __init__(self, dict_):
#         self.original_dict = dict_
# 
#         if hasattr(self, 'simple_properties'):
#             for property_key, property_name in self.simple_properties.items():
#                 if property_key in self.original_dict:
#                     if property_name is None:
#                         property_name = property_key
#                     setattr(self, property_name, self.original_dict[property_key])
# 
#         if hasattr(self, 'datetime_properties'):
#             for property_key, property_name in self.datetime_properties.items():
#                 if property_key in self.original_dict:
#                     if property_name is None:
#                         property_name = property_key
#                     setattr(self, property_name, iso_format_to_datetime(self.original_dict[property_key]))
# 
# Path: mapmyfitness/exceptions.py
# class AttributeNotFoundException(Exception):
#     """The attribute you requested does not exist."""
# 
# class InvalidSizeException(Exception):
#     """Invalid size."""


# Path: mapmyfitness/objects/user.py
import datetime
import inspect
from .base import BaseObject
from ..exceptions import AttributeNotFoundException, InvalidSizeException
        from mapmyfitness import MapMyFitness
        from mapmyfitness import MapMyFitness
        from mapmyfitness import MapMyFitness

            return self.original_dict['email']

    @property
    def display_measurement_system(self):
        if 'display_measurement_system' in self.original_dict:
            return self.original_dict['display_measurement_system']

    @property
    def weight(self):
        if 'weight' in self.original_dict:
            return self.original_dict['weight']

    @property
    def height(self):
        if 'height' in self.original_dict:
            return self.original_dict['height']

    def get_profile_photo(self, size='medium'):
        if size not in ('small', 'medium', 'large'):
            raise InvalidSizeException('User get_profile_photo size must one of "small", "medium" or "large".')
        instance = MapMyFitness.instance()
        user_profile_photo = instance._user_profile_photo.find(self.id)
        return getattr(user_profile_photo, size)

    def get_friends(self):
        instance = MapMyFitness.instance()
        friends = instance.user.search(friends_with=self.id)
        return friends



class UserProfilePhotoObject(BaseObject):