示例#1
0
    def friend(self):
        """Friend the user.

        :returns: The json response from the server.

        """
        _request.evict([self.reddit_session.config['friends']])
        return _modify_relationship('friend')(self.reddit_session.user, self)
示例#2
0
文件: objects.py 项目: logan/praw
 def approve(self):
     """Give approval to object."""
     url = self.reddit_session.config['approve']
     params = {'id': self.content_id}
     response = self.reddit_session.request_json(url, params)
     urls = [self.reddit_session.config[x] for x in ['modqueue', 'spam']]
     _request.evict(urls)  # pylint: disable-msg=E1101
     return response
示例#3
0
 def remove(self, spam=False):
     """Remove approval from object."""
     url = self.reddit_session.config['remove']
     params = {'id': self.content_id, 'spam': 'True' if spam else 'False'}
     response = self.reddit_session.request_json(url, params)
     urls = [self.reddit_session.config[x] for x in ['modqueue', 'spam']]
     _request.evict(urls)  # pylint: disable-msg=E1101
     return response
示例#4
0
文件: objects.py 项目: logan/praw
 def delete(self):
     """Delete this object."""
     url = self.reddit_session.config['del']
     params = {'id': self.content_id}
     response = self.reddit_session.request_json(url, params)
     # pylint: disable-msg=E1101
     _request.evict([self.reddit_session.config['user']])
     return response
示例#5
0
 def report(self):
     """Report this object to the moderators."""
     url = self.reddit_session.config['report']
     params = {'id': self.content_id}
     response = self.reddit_session.request_json(url, params)
     # pylint: disable-msg=E1101
     _request.evict([self.reddit_session.config['user']])
     return response
示例#6
0
文件: objects.py 项目: logan/praw
 def report(self):
     """Report this object to the moderators."""
     url = self.reddit_session.config['report']
     params = {'id': self.content_id}
     response = self.reddit_session.request_json(url, params)
     # pylint: disable-msg=E1101
     _request.evict([self.reddit_session.config['user']])
     return response
示例#7
0
 def delete(self):
     """Delete this object."""
     url = self.reddit_session.config['del']
     params = {'id': self.content_id}
     response = self.reddit_session.request_json(url, params)
     # pylint: disable-msg=E1101
     _request.evict([self.reddit_session.config['user']])
     return response
示例#8
0
文件: objects.py 项目: emaag/praw
    def unfriend(self):
        """Unfriend the user.

        :returns: The json response from the server.

        """
        _request.evict([self.reddit_session.config["friends"]])
        return _modify_relationship("friend", unlink=True)(self.reddit_session.user, self)
示例#9
0
 def approve(self):
     """Give approval to object."""
     url = self.reddit_session.config['approve']
     params = {'id': self.content_id}
     response = self.reddit_session.request_json(url, params)
     urls = [self.reddit_session.config[x] for x in ['modqueue', 'spam']]
     _request.evict(urls)  # pylint: disable-msg=E1101
     return response
示例#10
0
文件: objects.py 项目: logan/praw
 def remove(self, spam=False):
     """Remove approval from object."""
     url = self.reddit_session.config['remove']
     params = {'id': self.content_id,
               'spam': 'True' if spam else 'False'}
     response = self.reddit_session.request_json(url, params)
     urls = [self.reddit_session.config[x] for x in ['modqueue', 'spam']]
     _request.evict(urls)  # pylint: disable-msg=E1101
     return response
示例#11
0
文件: objects.py 项目: logan/praw
 def save(self, unsave=False):
     """Save the object."""
     url = self.reddit_session.config['unsave' if unsave else 'save']
     params = {'id': self.content_id,
               'executed': 'unsaved' if unsave else 'saved'}
     response = self.reddit_session.request_json(url, params)
     # pylint: disable-msg=E1101
     _request.evict([self.reddit_session.config['saved']])
     return response
示例#12
0
 def edit(self, text):
     """Edit the object to `text`"""
     url = self.reddit_session.config['edit']
     params = {'thing_id': self.content_id, 'text': text}
     response = self.reddit_session.request_json(url, params)
     # pylint: disable-msg=E1101
     _request.evict([self.reddit_session.config['user']])
     # REDDIT: reddit's end should only ever return a single comment
     return response['data']['things'][0]
示例#13
0
文件: objects.py 项目: dulichan/praw
 def hide(self, unhide=False):
     """Hide object in the context of the logged in user."""
     url = self.reddit_session.config['unhide' if unhide else 'hide']
     params = {'id': self.content_id,
               'executed': 'unhide' if unhide else 'hide'}
     response = self.reddit_session.request_json(url, params)
     # pylint: disable-msg=W0212
     urls = [urljoin(self.reddit_session.user._url, 'hidden')]
     _request.evict(urls)
     return response
示例#14
0
文件: objects.py 项目: sandrum/praw
    def add_comment(self, text):
        """Comment on the submission using the specified text.

        :returns: A Comment object for the newly created comment.

        """
        # pylint: disable-msg=E1101, W0212
        response = self.reddit_session._add_comment(self.fullname, text)
        _request.evict([self.permalink])
        return response
示例#15
0
文件: objects.py 项目: dulichan/praw
 def report(self):
     """Report this object to the moderators."""
     url = self.reddit_session.config['report']
     params = {'id': self.content_id}
     response = self.reddit_session.request_json(url, params)
     # Reported objects are automatically hidden as well
     # pylint: disable-msg=E1101
     _request.evict([self.reddit_session.config['user'],
                     urljoin(self.reddit_session.user._url, 'hidden')])
     return response
示例#16
0
文件: objects.py 项目: logan/praw
 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)
示例#17
0
文件: objects.py 项目: logan/praw
 def edit(self, text):
     """Edit the object to `text`"""
     url = self.reddit_session.config['edit']
     params = {'thing_id': self.content_id,
               'text': text}
     response = self.reddit_session.request_json(url, params)
     # pylint: disable-msg=E1101
     _request.evict([self.reddit_session.config['user']])
     # REDDIT: reddit's end should only ever return a single comment
     return response['data']['things'][0]
示例#18
0
文件: objects.py 项目: logan/praw
 def reply(self, text):
     """Reply to object with the specified text."""
     # pylint: disable-msg=E1101,W0212
     response = self.reddit_session._add_comment(self.content_id, text)
     if isinstance(self, Comment):
         _request.evict([self.reddit_session.config['inbox'],
                            self.submission.permalink])
     elif isinstance(self, Message):
         _request.evict([self.reddit_session.config['inbox'],
                            self.reddit_session.config['sent']])
     return response
示例#19
0
 def save(self, unsave=False):
     """Save the object."""
     url = self.reddit_session.config['unsave' if unsave else 'save']
     params = {
         'id': self.content_id,
         'executed': 'unsaved' if unsave else 'saved'
     }
     response = self.reddit_session.request_json(url, params)
     # pylint: disable-msg=E1101
     _request.evict([self.reddit_session.config['saved']])
     return response
示例#20
0
文件: objects.py 项目: sandrum/praw
    def delete(self):
        """Delete this object.

        :returns: The json response from the server.

        """
        url = self.reddit_session.config['del']
        data = {'id': self.fullname}
        response = self.reddit_session.request_json(url, data=data)
        # pylint: disable-msg=E1101
        _request.evict([self.reddit_session.config['user']])
        return response
示例#21
0
文件: objects.py 项目: emaag/praw
    def save(self, unsave=False):
        """Save the object.

        :returns: The json response from the server.

        """
        url = self.reddit_session.config["unsave" if unsave else "save"]
        data = {"id": self.fullname, "executed": "unsaved" if unsave else "saved"}
        response = self.reddit_session.request_json(url, data=data)
        # pylint: disable-msg=E1101
        _request.evict([self.reddit_session.config["saved"]])
        return response
示例#22
0
文件: objects.py 项目: emaag/praw
    def edit(self, text):
        """Replace the body of the object with `text`.

        :returns: The updated object.

        """
        url = self.reddit_session.config["edit"]
        data = {"thing_id": self.fullname, "text": text}
        response = self.reddit_session.request_json(url, data=data)
        # pylint: disable-msg=E1101
        _request.evict([self.reddit_session.config["user"]])
        # REDDIT: reddit's end should only ever return a single comment
        return response["data"]["things"][0]
示例#23
0
文件: objects.py 项目: emaag/praw
    def vote(self, direction=0):
        """Vote for the given item in the direction specified.

        :returns: The json response from the server.

        """
        url = self.reddit_session.config["vote"]
        data = {"id": self.fullname, "dir": six.text_type(direction)}
        if self.reddit_session.user:
            # 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, data=data)
示例#24
0
文件: objects.py 项目: emaag/praw
    def hide(self, unhide=False):
        """Hide object in the context of the logged in user.

        :returns: The json response from the server.

        """
        url = self.reddit_session.config["unhide" if unhide else "hide"]
        data = {"id": self.fullname, "executed": "unhide" if unhide else "hide"}
        response = self.reddit_session.request_json(url, data=data)
        # pylint: disable-msg=W0212
        urls = [urljoin(self.reddit_session.user._url, "hidden")]
        _request.evict(urls)
        return response
示例#25
0
文件: objects.py 项目: emaag/praw
    def reply(self, text):
        """Reply to object with the specified text.

        :returns: A Comment object for the newly created comment (reply).

        """
        # pylint: disable-msg=E1101,W0212
        response = self.reddit_session._add_comment(self.fullname, text)
        if isinstance(self, Comment):
            _request.evict([self.reddit_session.config["inbox"], self.submission.permalink])
        elif isinstance(self, Message):
            _request.evict([self.reddit_session.config["inbox"], self.reddit_session.config["sent"]])
        return response
示例#26
0
文件: objects.py 项目: emaag/praw
    def report(self):
        """Report this object to the moderators.

        :returns: The json response from the server.

        """
        url = self.reddit_session.config["report"]
        data = {"id": self.fullname}
        response = self.reddit_session.request_json(url, data=data)
        # Reported objects are automatically hidden as well
        # pylint: disable-msg=E1101,W0212
        _request.evict([self.reddit_session.config["user"], urljoin(self.reddit_session.user._url, "hidden")])
        return response
示例#27
0
文件: objects.py 项目: sandrum/praw
    def save(self, unsave=False):
        """Save the object.

        :returns: The json response from the server.

        """
        url = self.reddit_session.config['unsave' if unsave else 'save']
        data = {'id': self.fullname,
                'executed': 'unsaved' if unsave else 'saved'}
        response = self.reddit_session.request_json(url, data=data)
        # pylint: disable-msg=E1101
        _request.evict([self.reddit_session.config['saved']])
        return response
示例#28
0
 def reply(self, text):
     """Reply to object with the specified text."""
     # pylint: disable-msg=E1101,W0212
     response = self.reddit_session._add_comment(self.content_id, text)
     if isinstance(self, Comment):
         _request.evict([
             self.reddit_session.config['inbox'], self.submission.permalink
         ])
     elif isinstance(self, Message):
         _request.evict([
             self.reddit_session.config['inbox'],
             self.reddit_session.config['sent']
         ])
     return response
示例#29
0
文件: objects.py 项目: sandrum/praw
    def edit(self, text):
        """Replace the body of the object with `text`.

        :returns: The updated object.

        """
        url = self.reddit_session.config['edit']
        data = {'thing_id': self.fullname,
                'text': text}
        response = self.reddit_session.request_json(url, data=data)
        # pylint: disable-msg=E1101
        _request.evict([self.reddit_session.config['user']])
        # REDDIT: reddit's end should only ever return a single comment
        return response['data']['things'][0]
示例#30
0
文件: objects.py 项目: sandrum/praw
    def hide(self, unhide=False):
        """Hide object in the context of the logged in user.

        :returns: The json response from the server.

        """
        url = self.reddit_session.config['unhide' if unhide else 'hide']
        data = {'id': self.fullname,
                'executed': 'unhide' if unhide else 'hide'}
        response = self.reddit_session.request_json(url, data=data)
        # pylint: disable-msg=W0212
        urls = [urljoin(self.reddit_session.user._url, 'hidden')]
        _request.evict(urls)
        return response
示例#31
0
文件: objects.py 项目: sandrum/praw
    def approve(self):
        """Approve object.

        This reverts a removal, resets the report counter, marks it with a
        green checkmark (only visible to other moderators) on the webend and
        sets the approved_by attribute to the logged in user.

        :returns: The json response from the server.

        """
        url = self.reddit_session.config['approve']
        data = {'id': self.fullname}
        response = self.reddit_session.request_json(url, data=data)
        urls = [self.reddit_session.config[x] for x in ['modqueue', 'spam']]
        if isinstance(self, Submission):
            urls += self.subreddit._listing_urls  # pylint: disable-msg=W0212
        _request.evict(urls)  # pylint: disable-msg=E1101
        return response
示例#32
0
文件: objects.py 项目: emaag/praw
    def remove(self, spam=False):
        """Remove object. This is the moderator version of delete.

        The object is removed from the subreddit listings and placed into the
        spam listing. If spam is set to True, then the automatic spam filter
        will try to remove objects with similair attributes in the future.

        :returns: The json response from the server.

        """
        url = self.reddit_session.config["remove"]
        data = {"id": self.fullname, "spam": "True" if spam else "False"}
        response = self.reddit_session.request_json(url, data=data)
        urls = [self.reddit_session.config[x] for x in ["modqueue", "spam"]]
        if isinstance(self, Submission) and hasattr(self, "subreddit"):
            urls += self.subreddit._listing_urls  # pylint: disable-msg=W0212
        _request.evict(urls)  # pylint: disable-msg=E1101
        return response
示例#33
0
文件: objects.py 项目: logan/praw
 def add_comment(self, text):
     """If logged in, comment on the submission using the specified text."""
     # pylint: disable-msg=E1101, W0212
     response = self.reddit_session._add_comment(self.content_id, text)
     _request.evict([self.permalink])
     return response
示例#34
0
 def add_comment(self, text):
     """If logged in, comment on the submission using the specified text."""
     # pylint: disable-msg=E1101, W0212
     response = self.reddit_session._add_comment(self.content_id, text)
     _request.evict([self.permalink])
     return response