def vote(self, direction=0): """Vote for the given item in the direction specified.""" url = self.reddit_session.config['vote'] params = {'id': self.content_id, 'dir': six.text_type(direction)} # pylint: disable-msg=W0212 urls = [urljoin(self.reddit_session.user._url, 'disliked'), urljoin(self.reddit_session.user._url, 'liked')] _request.evict(urls) return self.reddit_session.request_json(url, params)
def get_submission(self, url=None, submission_id=None): """Return a Submission object for the given url or submission_id.""" if bool(url) == bool(submission_id): raise TypeError('One (and only one) of id or url is required!') if submission_id: url = urljoin(self.config['comments'], submission_id) return objects.Submission.get_info(self, url)
def get_captcha(reddit_session, captcha_id): url = urljoin(reddit_session.config['captcha'], captcha_id + '.png') sys.stdout.write('Captcha URL: %s\nCaptcha: ' % url) sys.stdout.flush() captcha = sys.stdin.readline().strip() return {'iden': captcha_id, 'captcha': captcha}
def short_link(self): """ Return a short link to the submission. The short link points to a page on the short_domain that redirects to the main. http://redd.it/y3r8u is a short link for reddit.com. """ return urljoin(self.reddit_session.config.short_domain, self.id)
def __init__(self, reddit_session, json_dict): super(Submission, self).__init__(reddit_session, json_dict) self.permalink = urljoin(reddit_session.config['reddit_url'], self.permalink) self._comments_by_id = {} self._all_comments = False self._comments = None self._comments_flat = None self._orphaned = {}
def _section(self, sort='new', time='all', *args, **kwargs): if 'url_data' in kwargs and kwargs['url_data']: url_data = kwargs['url_data'] else: url_data = kwargs['url_data'] = {} url_data.setdefault('sort', sort) url_data.setdefault('t', time) url = urljoin(self._url, subpath) # pylint: disable-msg=W0212 return self.reddit_session.get_content(url, *args, **kwargs)
def _sorted(self, *args, **kwargs): if 'url_data' in kwargs and kwargs['url_data']: url_data = kwargs['url_data'] else: url_data = kwargs['url_data'] = {} for key, value in six.iteritems(defaults): url_data.setdefault(key, value) url = urljoin(self._url, subpath) # pylint: disable-msg=W0212 return self.reddit_session.get_content(url, *args, **kwargs)
def url(self, path): # pylint: disable-msg=W0212 return urljoin(self.r.config._site_url, path)
def permalink(self): """Return a permalink to the comment.""" return urljoin(self.submission.permalink, self.id)
def __getitem__(self, key): """Return the URL for key.""" if self._ssl_url and key in self.SSL_PATHS: return urljoin(self._ssl_url, self.API_PATHS[key]) return urljoin(self._site_url, self.API_PATHS[key])