diff options
Diffstat (limited to 'plugins/mam.py')
-rw-r--r-- | plugins/mam.py | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/plugins/mam.py b/plugins/mam.py deleted file mode 100644 index 1335bfd0..00000000 --- a/plugins/mam.py +++ /dev/null @@ -1,64 +0,0 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# vim:fenc=utf-8 -# -# Copyright © 2019 Madhur Garg - -""" - Query and control an archive of messages stored on a server using - XEP-0313: Message Archive Management(MAM). -""" - -import re -import slixmpp - -from datetime import datetime -from datetime import timedelta -from poezio.plugin import BasePlugin -from poezio.decorators import command_args_parser -from poezio import tabs -from poezio.mam import MAM -from poezio.text_buffer import Message, TextBuffer - - -class Plugin(BasePlugin): - """MAM Plugin""" - - def init(self): - for tab in tabs.ConversationTab, tabs.PrivateTab, tabs.MucTab: - self.api.add_tab_command( - tab, - 'mam', - self.command_mam, - usage='[start_timestamp] [end_timestamp]', - help='Query and control an archive of messages using MAM') - - @command_args_parser.quoted(0, 2) - def command_mam(self, args): - """Define mam command""" - - tab = self.api.current_tab() - remote_jid = tab.jid - end = datetime.now() - end = datetime.strftime(end, '%Y-%m-%dT%H:%M:%SZ') - start = datetime.strptime(end, '%Y-%m-%dT%H:%M:%SZ') - # Default start date is 10 days past the current day. - start = start + timedelta(days=-10) - start = datetime.strftime(start, '%Y-%m-%dT%H:%M:%SZ') - # Format for start and end timestamp is [dd:mm:yyyy] - if len(args) == 1: - try: - start = datetime.strptime(args[0], '%d:%m:%Y') - start = datetime.strftime(start, '%Y-%m-%dT%H:%M:%SZ') - except ValueError: - pass - elif len(args) == 2: - try: - start = datetime.strptime(args[0], '%d:%m:%Y') - start = datetime.strftime(start, '%Y-%m-%dT%H:%M:%SZ') - end = datetime.strptime(args[1], '%d:%m:%Y') - end = datetime.strftime(end, '%Y-%m-%dT%H:%M:%SZ') - except ValueError: - pass - - MAM(remote_jid, start, end, tab) |