Exemplo n.º 1
0
    def submit_company_share(self, company_id, comment=None, title=None, description=None,
                             submitted_url=None, submitted_image_url=None,
                             visibility_code='anyone'):

        post = {
            'visibility': {
                'code': visibility_code,
            },
        }
        if comment is not None:
            post['comment'] = comment
        if title is not None and submitted_url is not None:
            post['content'] = {
                'title': title,
                'submitted-url': submitted_url,
                'description': description,
            }
        if submitted_image_url:
            post['content']['submitted-image-url'] = submitted_image_url

        url = '%s/%s/shares' % (ENDPOINTS.COMPANIES, company_id)

        response = self.make_request('POST', url, data=json.dumps(post))
        raise_for_error(response)
        return response.json()
Exemplo n.º 2
0
 def send_message(self, message):
     assert type(message) == LinkedInMessage, 'LinkedInInvitation required'
     url = '%s/~/mailbox' % ENDPOINTS.PEOPLE
     response = self.make_request('POST', url,
                                  data=json.dumps(message.json))
     raise_for_error(response)
     return True
Exemplo n.º 3
0
    def get_post_comments(self, post_id, selectors=None, params=None, headers=None):
        url = '%s/%s/comments' % (ENDPOINTS.POSTS, post_id)
        if selectors:
            url = '%s:(%s)' % (url, LinkedInSelector.parse(selectors))

        response = self.make_request('GET', url, params=params, headers=headers)
        raise_for_error(response)
        return response.json()
Exemplo n.º 4
0
    def get_job_bookmarks(self, selectors=None, params=None, headers=None):
        url = '%s/~/job-bookmarks' % ENDPOINTS.PEOPLE
        if selectors:
            url = '%s:(%s)' % (url, LinkedInSelector.parse(selectors))

        response = self.make_request('GET', url, params=params, headers=headers)
        raise_for_error(response)
        return response.json()
Exemplo n.º 5
0
    def search_job(self, selectors=None, params=None, headers=None):
        url = ENDPOINTS.JOB_SEARCH
        if selectors:
            url = '%s:(%s)' % (url, LinkedInSelector.parse(selectors))

        response = self.make_request('GET', url, params=params, headers=headers)
        raise_for_error(response)
        return response.json()
Exemplo n.º 6
0
 def get_company_products(self, company_id, selectors=None, params=None,
                          headers=None):
     url = '%s/%s/products' % (ENDPOINTS.COMPANIES, str(company_id))
     if selectors:
         url = '%s:(%s)' % (url, LinkedInSelector.parse(selectors))
     response = self.make_request('GET', url, params=params, headers=headers)
     raise_for_error(response)
     return response.json()
Exemplo n.º 7
0
 def search_profile(self, selectors=None, params=None, headers=None):
     if selectors:
         url = '%s:(%s)' % (ENDPOINTS.PEOPLE_SEARCH,
                            LinkedInSelector.parse(selectors))
     else:
         url = ENDPOINTS.PEOPLE_SEARCH
     response = self.make_request('GET', url, params=params, headers=headers)
     raise_for_error(response)
     return response.json()
Exemplo n.º 8
0
    def get_posts(self, group_id, post_ids=None, selectors=None, params=None,
                  headers=None):
        url = '%s/%s/posts' % (ENDPOINTS.GROUPS, str(group_id))
        if post_ids:
            url = '%s::(%s)' % (url, ','.join(map(str, post_ids)))
        if selectors:
            url = '%s:(%s)' % (url, LinkedInSelector.parse(selectors))

        response = self.make_request('GET', url, params=params, headers=headers)
        raise_for_error(response)
        return response.json()
Exemplo n.º 9
0
 def get_access_token(self, timeout=60):
     assert self.authorization_code, 'You must first get the authorization code'
     qd = {'grant_type': 'authorization_code',
           'code': self.authorization_code,
           'redirect_uri': self.redirect_uri,
           'client_id': self.key,
           'client_secret': self.secret}
     response = requests.post(self.ACCESS_TOKEN_URL, data=qd, timeout=timeout)
     raise_for_error(response)
     response = response.json()
     self.token = AccessToken(response['access_token'], response['expires_in'])
     return self.token
Exemplo n.º 10
0
    def get_picture_urls(self, member_id=None, member_url=None,
                         params=None, headers=None):
        if member_id:
            url = '%s/id=%s/picture-urls::(original)' % (ENDPOINTS.PEOPLE, str(member_id))
        elif member_url:
            url = '%s/url=%s/picture-urls::(original)' % (ENDPOINTS.PEOPLE,
                                                          quote_plus(member_url))
        else:
            url = '%s/~/picture-urls::(original)' % ENDPOINTS.PEOPLE

        response = self.make_request('GET', url, params=params, headers=headers)
        raise_for_error(response)
        return response.json()
Exemplo n.º 11
0
    def get_connections(self, member_id=None, member_url=None, selectors=None,
                        params=None, headers=None):
        if member_id:
            url = '%s/id=%s/connections' % (ENDPOINTS.PEOPLE, str(member_id))
        elif member_url:
            url = '%s/url=%s/connections' % (ENDPOINTS.PEOPLE,
                                             quote_plus(member_url))
        else:
            url = '%s/~/connections' % ENDPOINTS.PEOPLE
        if selectors:
            url = '%s:(%s)' % (url, LinkedInSelector.parse(selectors))

        response = self.make_request('GET', url, params=params, headers=headers)
        raise_for_error(response)
        return response.json()
Exemplo n.º 12
0
    def get_network_update(self, types, update_key,
                           self_scope=True, params=None, headers=None):
        url = '%s/~/network/updates/key=%s' % (ENDPOINTS.PEOPLE, str(update_key))

        if not params:
            params = {}

        if types:
            params.update({'type': types})

        if self_scope is True:
            params.update({'scope': 'self'})

        response = self.make_request('GET', url, params=params, headers=headers)
        raise_for_error(response)
        return response.json()
Exemplo n.º 13
0
    def submit_group_post(self, group_id, title, summary, submitted_url,
                          submitted_image_url, content_title, description):
        post = {
            'title': title, 'summary': summary,
            'content': {
                'submitted-url': submitted_url,
                'title': content_title,
                'description': description
            }
        }
        if submitted_image_url:
            post['content']['submitted-image-url'] = submitted_image_url

        url = '%s/%s/posts' % (ENDPOINTS.GROUPS, str(group_id))
        response = self.make_request('POST', url, data=json.dumps(post))
        raise_for_error(response)
        return True
Exemplo n.º 14
0
    def get_companies(self, company_ids=None, universal_names=None, selectors=None,
                      params=None, headers=None):
        identifiers = []
        url = ENDPOINTS.COMPANIES
        if company_ids:
            identifiers += map(str, company_ids)

        if universal_names:
            identifiers += ['universal-name=%s' % un for un in universal_names]

        if identifiers:
            url = '%s::(%s)' % (url, ','.join(identifiers))

        if selectors:
            url = '%s:(%s)' % (url, LinkedInSelector.parse(selectors))

        response = self.make_request('GET', url, params=params, headers=headers)
        raise_for_error(response)
        return response.json()
Exemplo n.º 15
0
    def get_profile(self, member_id=None, member_url=None, selectors=None,
                    params=None, headers=None):
        if member_id:
            if type(member_id) is list:
                # Batch request, ids as CSV.
                url = '%s::(%s)' % (ENDPOINTS.PEOPLE,
                                    ','.join(member_id))
            else:
                url = '%s/id=%s' % (ENDPOINTS.PEOPLE, str(member_id))
        elif member_url:
            url = '%s/url=%s' % (ENDPOINTS.PEOPLE, quote_plus(member_url))
        else:
            url = '%s/~' % ENDPOINTS.PEOPLE
        if selectors:
            url = '%s:(%s)' % (url, LinkedInSelector.parse(selectors))

        response = self.make_request('GET', url, params=params, headers=headers)
        raise_for_error(response)
        return response.json()
Exemplo n.º 16
0
    def get_network_updates(self, types, member_id=None,
                            self_scope=True, params=None, headers=None):
        if member_id:
            url = '%s/id=%s/network/updates' % (ENDPOINTS.PEOPLE,
                                                str(member_id))
        else:
            url = '%s/~/network/updates' % ENDPOINTS.PEOPLE

        if not params:
            params = {}

        if types:
            params.update({'type': types})

        if self_scope is True:
            params.update({'scope': 'self'})

        response = self.make_request('GET', url, params=params, headers=headers)
        raise_for_error(response)
        return response.json()
Exemplo n.º 17
0
 def get_network_status(self, params=None, headers=None):
     url = '%s/~/network/network-stats' % ENDPOINTS.PEOPLE
     response = self.make_request('GET', url, params=params, headers=headers)
     raise_for_error(response)
     return response.json()
Exemplo n.º 18
0
 def get_job(self, job_id, selectors=None, params=None, headers=None):
     url = '%s/%s' % (ENDPOINTS.JOBS, str(job_id))
     url = '%s:(%s)' % (url, LinkedInSelector.parse(selectors))
     response = self.make_request('GET', url, params=params, headers=headers)
     raise_for_error(response)
     return response.json()
Exemplo n.º 19
0
    def get_group(self, group_id, selectors=None, params=None, headers=None):
        url = '%s/%s' % (ENDPOINTS.GROUPS, str(group_id))

        response = self.make_request('GET', url, params=params, headers=headers)
        raise_for_error(response)
        return response.json()
Exemplo n.º 20
0
 def unfollow_company(self, company_id):
     url = '%s/~/following/companies/id=%s' % (ENDPOINTS.PEOPLE, str(company_id))
     response = self.make_request('DELETE', url)
     raise_for_error(response)
     return True
Exemplo n.º 21
0
 def follow_company(self, company_id):
     url = '%s/~/following/companies' % ENDPOINTS.PEOPLE
     post = {'id': company_id}
     response = self.make_request('POST', url, data=json.dumps(post))
     raise_for_error(response)
     return True
Exemplo n.º 22
0
 def join_group(self, group_id):
     url = '%s/~/group-memberships/%s' % (ENDPOINTS.PEOPLE, str(group_id))
     response = self.make_request('PUT', url,
                                  data=json.dumps({'membershipState': {'code': 'member'}}))
     raise_for_error(response)
     return True
Exemplo n.º 23
0
 def comment_on_update(self, update_key, comment):
     comment = {'comment': comment}
     url = '%s/~/network/updates/key=%s/update-comments' % (ENDPOINTS.PEOPLE, update_key)
     response = self.make_request('POST', url, data=json.dumps(comment))
     raise_for_error(response)
     return True
Exemplo n.º 24
0
    def get_company_by_email_domain(self, email_domain, params=None, headers=None):
        url = '%s?email-domain=%s' % (ENDPOINTS.COMPANIES, email_domain)

        response = self.make_request('GET', url, params=params, headers=headers)
        raise_for_error(response)
        return response.json()
Exemplo n.º 25
0
 def leave_group(self, group_id):
     url = '%s/~/group-memberships/%s' % (ENDPOINTS.PEOPLE, str(group_id))
     response = self.make_request('DELETE', url)
     raise_for_error(response)
     return True
Exemplo n.º 26
0
 def like_update(self, update_key, is_liked=True):
     url = '%s/~/network/updates/key=%s/is-liked' % (ENDPOINTS.PEOPLE, update_key)
     response = self.make_request('PUT', url, data=json.dumps(is_liked))
     raise_for_error(response)
     return True
Exemplo n.º 27
0
 def get_company_updates(self, company_id, params=None, headers=None):
     url = '%s/%s/updates' % (ENDPOINTS.COMPANIES, str(company_id))
     response = self.make_request('GET', url, params=params, headers=headers)
     raise_for_error(response)
     return response.json()