Example #1
0
    def project_search(self, *args, **kwargs):
        """Search for projects on Behance. 
        Takes any number of text search terms, as well as key/value filters.

        Valid filters: [valid values]
            sort: [featured_date, appreciations, views, comments, published_date]
            time: [all, today, week, month]
            field: [URL-encoded field name from Behance list of defined creative fields]
            country: [2-letter FIPS country code]
            state: [State or province name]
            page: [page number of results, 1-indexed]
            tags: [single tag name or pipe separated list of tags]
        """
        if len(args) == 0:
            #Make sure user provides search terms...
            return None
        else:
            #Build the URL
            _base_url = url_join(ENDPOINTS['api'], ENDPOINTS['project'])
            _terms = "+".join(urllib.quote(arg) for arg in args)
            _filters = urllib.urlencode(kwargs)
            _url = '%s?api_key=%s&q=%s&%s' % (_base_url, self.auth_key, _terms, _filters)

            #Get results from API
            return [Behance(data=proj) for proj in self._do_api_search(_url)['projects']]
Example #2
0
    def __init__(self, project_id, auth_key):
        Behance.__init__(self, auth_key)
        self.project_id = project_id
        self.base_url = url_join(ENDPOINTS["api"], ENDPOINTS["project"])

        # Call behance API and populate data
        self._get_project_details()
Example #3
0
    def __init__(self, wip_id, auth_key):
        #super(Behance, self).__init__(auth_key)
        Behance.__init__(self, auth_key)
        self.wip_id = wip_id
        self.base_url = url_join(ENDPOINTS['api'], ENDPOINTS['wip'])

        self._get_wip_details()
Example #4
0
 def _get_project_details(self):
     """Internal function to call Behance API and parse data."""
     # Build the URL
     _url = url_join(self.base_url, str(self.project_id))
     _url = "%s?api_key=%s" % (_url, self.auth_key)
     # Call the API
     _results = self._get_api_data(_url)["project"]
     self.set_data(_results)
Example #5
0
    def _get_user_details(self):
        #Build the URL
        _url = url_join(self.base_url, str(self.user_id))
        _url = "%s?api_key=%s" % (_url, self.auth_key)

        #Call the API
        _results = self._get_api_data(_url)['user']
        self.set_data(_results)
Example #6
0
    def get_following(self, **kwargs):
        _base_url = url_join(self.base_url, self.user_id, 'following')
        if len(kwargs) > 0:
            _filters = urllib.urlencode(kwargs)
            _url = '%s?api_key=%s&%s' % (_base_url, self.auth_key, _filters)
        else:
            _url = '%s?api_key=%s' % (_base_url, self.auth_key)

        return self._parse_data(self._get_api_data(_url)['following'])
    def get_projects(self, **kwargs):
        _base_url = url_join(self.base_url, self.collection_id, 'projects')
        if len(kwargs) > 0:
            _filters = urllib.urlencode(kwargs)
            _url = '%s?api_key=%s&%s' % (_base_url, self.auth_key, _filters)
        else:
            _url = '%s?api_key=%s' % (_base_url, self.auth_key)

        return self._parse_data(self._get_api_data(_url)['projects'])
Example #8
0
    def get_revision_comments(self, revision_id, **kwargs):
        _base_url = url_join(self.base_url, self.wip_id, str(revision_id), '/comments')
        if len(kwargs) > 0:
            _filters = urllib.urlencode(kwargs)
            _url = '%s?api_key=%s&%s' % (_base_url, self.auth_key, _filters)
        else:
            _url = '%s?api_key=%s' % (_base_url, self.auth_key)

        return self._parse_data(self._get_api_data(_url)['comments'])
Example #9
0
    def wip_search(self, *args, **kwargs):
        if len(args) == 0:
            return None
        else:
            _base_url = url_join(ENDPOINTS['api'], ENDPOINTS['wip'])
            _terms = "+".join(urllib.quote(arg) for arg in args)
            _filters = urllib.urlencode(kwargs)
            _url = '%s?api_key=%s&q=%s&%s' % (_base_url, self.auth_key, _terms, _filters)

            #Get results from API
            return [Behance(data=wip) for wip in self._do_api_search(_url)['wips']]
Example #10
0
    def collection_search(self, *args, **kwargs):
        if len(args) == 0:
            return None
        else:
            _base_url = url_join(ENDPOINTS['api'], ENDPOINTS['collection'])
            _terms = "+".join(urllib.parse.quote(arg) for arg in args)
            _filters = urllib.parse.urlencode(kwargs)
            _url = '%s?api_key=%s&q=%s&%s' % (_base_url, self.auth_key, _terms, _filters)

            #Get results from API
            return [Behance(data=collection) for collection in self._do_api_search(_url)['collections']]
Example #11
0
    def user_search(self, *args, **kwargs):
        """Search for users on Behance.
        Takes any number of text search terms, as well as key/value filters
        as supported by Behance API."""
        if len(args) == 0:
            return None
        else:
            _base_url = url_join(ENDPOINTS['api'], ENDPOINTS['user'])
            _terms = "+".join(urllib.quote(arg) for arg in args)
            _filters = urllib.urlencode(kwargs)
            _url = '%s?api_key=%s&q=%s&%s' % (_base_url, self.auth_key, _terms, _filters)

            #Get results from API
            return [Behance(data=user) for user  in self._do_api_search(_url)['users']]
Example #12
0
    def user_search(self, *args, **kwargs):
        """Search for users on Behance.
        Takes any number of text search terms, as well as key/value filters
        as supported by Behance API."""
        if len(args) == 0:
            return None
        else:
            _base_url = url_join(ENDPOINTS['api'], ENDPOINTS['user'])
            _terms = "+".join(urllib.parse.quote(arg) for arg in args)
            _filters = urllib.parse.urlencode(kwargs)
            _url = '%s?api_key=%s&q=%s&%s' % (_base_url, self.auth_key, _terms, _filters)

            #Get results from API
            return [Behance(data=user) for user  in self._do_api_search(_url)['users']]
Example #13
0
 def get_revision(self, revision_id):
     _url = url_join(self.base_url, self.wip_id, str(revision_id))
     _url = '%s?api_key=%s' % (_url, self.auth_key)
     return self._parse_data(self._get_api_data(_url)['revision'])
Example #14
0
 def _get_wip_details(self):
     _url = url_join(self.base_url, self.wip_id)
     _url = '%s?api_key=%s' % (_url, self.auth_key)
     _results = self._get_api_data(_url)['wip']
     self.set_data(_results)
Example #15
0
    def __init__(self, collection_id, auth_key):
        Behance.__init__(self, auth_key)
        self.collection_id = collection_id
        self.base_url = url_join(ENDPOINTS['api'], ENDPOINTS['collection'])

        self._get_collection_details()
Example #16
0
    def _get_collection_details(self):
        _url = url_join(self.base_url, str(self.collection_id))
        _url = "%s?api_key=%s" % (_url, self.auth_key)

        _results = self._get_api_data(_url)['collection']
        self.set_data(_results)
Example #17
0
 def get_comments(self):
     """Returns comments for a project as an attribute. If called more than
     once, will store the value to prevent repeatedly calling the API."""
     _url = url_join(self.base_url, str(self.project_id), "comments")
     _url = "%s?api_key=%s" % (_url, self.auth_key)
     return self._parse_data(self._get_api_data(_url)["comments"])
Example #18
0
    def _get_collection_details(self):
        _url = url_join(self.base_url, str(self.collection_id))
        _url = "%s?api_key=%s" % (_url, self.auth_key)

        _results = self._get_api_data(_url)['collection']
        self.set_data(_results)
Example #19
0
    def __init__(self, user_id, auth_key):
        Behance.__init__(self, auth_key)
        self.user_id = user_id
        self.base_url = url_join(ENDPOINTS['api'], ENDPOINTS['user'])

        self._get_user_details()
Example #20
0
    def get_stats(self):
        _base_url = url_join(self.base_url, self.user_id, 'stats')
        _url = "%s?api_key=%s" % (_base_url, self.auth_key)

        return self._parse_data(self._get_api_data(_url)['stats'])
Example #21
0
 def get_feedback(self):
     _base_url = url_join(self.base_url, self.user_id, 'feedback')
     _url = "%s?api_key=%s" % (_base_url, self.auth_key)
     
     return self._parse_data(self._get_api_data(_url)['feedback_circle'])
Example #22
0
    def get_work_experience(self):
        _base_url = url_join(self.base_url, self.user_id, 'work_experience')
        _url = "%s?api_key=%s" % (_base_url, self.auth_key)

        return self._parse_data(self._get_api_data(_url)['work_experience'])
Example #23
0
 def get_comments(self):
     """Returns comments for a project as an attribute. If called more than
     once, will store the value to prevent repeatedly calling the API."""
     _url = url_join(self.base_url, str(self.project_id), 'comments')
     _url = "%s?api_key=%s" % (_url, self.auth_key)
     return self._parse_data(self._get_api_data(_url)['comments'])
Example #24
0
    def __init__(self, collection_id, auth_key):
        Behance.__init__(self, auth_key)
        self.collection_id = collection_id
        self.base_url = url_join(ENDPOINTS['api'], ENDPOINTS['collection'])

        self._get_collection_details()
Example #25
0
    def get_feedback(self):
        _base_url = url_join(self.base_url, self.user_id, 'feedback')
        _url = "%s?api_key=%s" % (_base_url, self.auth_key)

        return self._parse_data(self._get_api_data(_url)['feedback_circle'])