Gets the resource requested in the arguments

def get_resource(self, arguments):
        """ Gets the resource requested in the arguments """
        attribute_name = arguments['<attribute_name>']
        limit = arguments['--limit']
        page = arguments['--page']
        date_min = arguments['--date_min']
        date_max = arguments['--date_max']

        # feed in the config we have, and let the Exist class figure out the best
        # way to authenticate
        exist = Exist(self.client_id, self.client_secret, self.access_token)

        # TODO: Tidy this up since we are repeating ourselves a lot below
        if arguments['user']:
            result = exist.user()
        elif arguments['attributes']:
            result = exist.attributes(attribute_name, limit, page, date_min, date_max)
        elif arguments['insights']:
            result = exist.insights(attribute_name, limit, page, date_min, date_max)
        elif arguments['averages']:
            result = exist.averages(attribute_name, limit, page, date_min, date_max)
        elif arguments['correlations']:
            result = exist.correlations(attribute_name, limit, page, date_min, date_max)
        elif arguments['acquire_attributes']:
            attributes_dict = [{'name': x.split(':')[0], 'active': x.split(':')[1]} for x in arguments['<attribute:value>']]
            result = exist.arquire_attributes(attributes_dict)
        elif arguments['release_attributes']:
            attributes_dict = [{'name': x} for x in arguments['<attribute_name>']]
            result = exist.release_attributes(attributes_dict)
        elif arguments['owned_attributes']:
            result = exist.owned_attributes()
        elif arguments['update_attributes']:
            attributes_dict = [{'name': x.split(':')[0], 'date': x.split(':')[1], 'value': x.split(':')[2]} for x in arguments['<attribute:date:value>']]
            result = exist.update_attributes(attributes_dict)

        pp = PrettyPrinter(indent=4)
        if isinstance(result, list):
            pp.pprint([res.data for res in result])
        else:
            pp.pprint(result.data)