def do_delete(self, argument): if argument == 'last': posts = Post.get_last(1) if len(posts) > 0: status_id = posts[0].status_id else: reply = "%s, I don't know any posts." % self._get_nick() if self.event.target() in self.bot.channels.keys(): self.conn.privmsg(self.event.target(), reply) else: conn.privmsg(nick, reply) return elif re.match('^[0-9]+$', argument): status_id = int(argument) else: raise CommandHandler.UsageError('remove') try: self.bot.posting_api.DestroyStatus( self.event.source(), status_id ) reply = "Status %d deleted" % status_id except IdenticaError, e: if str(e).find('Status deleted') >= 0: reply = "Status %d already deleted." % status_id Post.mark_deleted(status_id) else: reply = str(e)
def _generate_history_replies(self, posts): shown_posts = 0 for post in posts: username = post.user.user_id try: status = self.bot.posting_api.GetStatus(post.status_id) created_at = post.created_at reply = "%s: %s (%s, id = %d)" % \ (username, status.text, created_at, status.id) self._do_private_reply(reply) shown_posts += 1 except IdenticaError, e: if str(e).find('Status deleted') >= 0: Post.mark_deleted(post.status_id, e) continue else: raise e