Ejemplo n.º 1
0
 def next(self, readonly=True, search='NEW'):
     for folder in self.folders:
         self.con.select(folder, readonly=readonly)
         for (uid, msg, flags) in get_messages(self.con, folder,
                                               "UNSEEN %s" % search):
             self.con.store(uid, "-FLAGS", '\Seen')
             log.info('%s %s %s', folder, uid, msg['Subject'])
             yield uid, flags, process_message(msg, self.porter, None)
         for (uid, msg, flags) in get_messages(self.con, folder,
                                               "SEEN %s" % search):
             log.info('%s %s %s', folder, uid, msg['Subject'])
             yield uid, flags, process_message(msg, self.porter, None)
Ejemplo n.º 2
0
def index():
    headers = {'Content-Type': 'text/html'}
    messages = get_messages()
    return make_response(
        render_template('index.html',
                        title="Welcome to the Palindrome Checker",
                        messages=messages), 200, headers)
Ejemplo n.º 3
0
async def mood_chat_bot_handler(event):
    _mood = mood()
    if event.is_private or event.is_group and config["!DEFAULT!"][
            "bot_name"] in event.raw_text.lower():
        available_keys = ({
            **get_messages("normal", "mood_chat_bot"),
            **get_messages("groups_auto", "mood_chat_bot")
        } if event.mentioned is False else {
            **get_messages("normal", "mood_chat_bot"),
            **get_messages("reply"),
            **get_messages("groups_auto", "mood_chat_bot")
        })
        time_key = get_messages("exceptions",
                                "mood_chat_bot")["time"][mood_to_words(_mood)]
        for word in time_key:
            if word in event.raw_text.lower():
                await event.reply(time_key[word][randrange(
                    0, len(time_key[word]))])
                return
        for word in available_keys:
            if word in event.raw_text.lower():
                if len(available_keys[word]) != 3:
                    _mood = 0
                (await (event.reply(available_keys[word][_mood]))
                 if available_keys[word][_mood] != "" else None)
                return
        if config["!DEFAULT!"]["bot_name"] in event.raw_text.lower().replace(
                " ", "") or event.is_private:
            await event.reply(time_key["other"][randrange(
                0, len(time_key["other"]))])
            return
    if event.is_group:
        available_keys = (get_messages("groups_auto", "mood_chat_bot")
                          if event.mentioned is False else {
                              **get_messages("normal", "mood_chat_bot"),
                              **get_messages("reply", "mood_chat_bot"),
                              **get_messages("groups_auto", "mood_chat_bot")
                          })
        for word in available_keys:
            if word in event.raw_text.lower():
                if len(available_keys[word]) != 3:
                    _mood = 0
                await event.reply(available_keys[word][_mood])
Ejemplo n.º 4
0
    def get(self):

        context = {
            'urls': models.Url.all(),
            'dashboards': models.Dashboard.all(),
            'error': self.request.get('e'),
            'messages': get_messages()
        }

        self.response.out.write(template.render('templates/admin/urls.html', context))
Ejemplo n.º 5
0
    def post(self):

        if self.request.get('method') == 'delete':
            self.delete()

        else:

            context = {
                'urls': models.Url.all(),
                'dashboards': models.Dashboard.all(),
                'adding': self.request.get('model'),
                'fields': {
                    'name': self.request.get('name'),
                    'url': self.request.get('url'),
                    'dashboard': self.request.get('dashboard'),
                    'dashboardname': self.request.get('dashboard-name'),
                    'dashboardid': self.request.get('dashboard-id')
                }
            }

            if context['adding'] == 'url':

                link = 'http://' + self.request.get('url').replace('http://', '')

                if check_http_200(link):
                    try:
                        url = models.Url(
                            name=self.request.get('name'),
                            url=link,
                            dashboard=self.request.get('dashboard'))
                        url.put()
                        add_message('URL added successfully.')
                        return self.redirect('/admin/urls')
                    except BadValueError:
                        context['error'] = "BadValueError"
                else:
                    context['error'] = '200'

            elif context['adding'] == 'dashboard':
                try:
                    dashboard = models.Dashboard(
                                name=self.request.get('dashboard-name'),
                                id=self.request.get('dashboard-id'))
                    dashboard.put()
                    add_message('Dashboard added successfully. Now add some test URLs.')
                    return self.redirect('/admin/urls')


                except BadValueError:
                    context['error'] = "BadValueError"

            context['messages'] = get_messages()
            logging.debug(context['messages'])
    
            self.response.out.write(template.render('templates/admin/urls.html', context))
Ejemplo n.º 6
0
def time_range_analysis(data, start, end):
    num_messages = {}
    for user in get_participants(data):
        num_messages[user] = 0
        for message in get_messages(data, user):
            hour = datetime.datetime.fromtimestamp(
                message["timestamp_ms"] / 1000.0).strftime(
                    '%Y-%m-%d %H:%M:%S.%f').split()[1].split(":")[0]
            if int(hour) >= start and int(hour) <= (end - 1):
                num_messages[user] += 1
    return num_messages
Ejemplo n.º 7
0
def main(pulse_opts):
    global pulse_cfg
    pulse_cfg.update(pulse_opts)
    publisher = BugzillaPublisher(**pulse_cfg)

    count = 0
    for msg in get_messages():
        bug_data = extract_bug_info(msg)
        publish_message(publisher, bug_data, "org.mozilla.bugzilla.exchange")
        count += 1
    print "Synced %d bug(s) from email" % count
Ejemplo n.º 8
0
def clean(con):
    folders = [
        'INBOX/train/important',
        'INBOX/test/important',
        'INBOX/train/not-important',
        'INBOX/test/not-important',
    ]
    for folder in folders:
        con.select(folder)
        for (uid, msg, flags) in get_messages(con, folder, 'ALL'):
            result = con.store(uid, "+FLAGS", '\\Deleted')
            log.info('{} {}'.format(uid, result))
    con.expunge()
Ejemplo n.º 9
0
	def get(self, username):
		self.api_calls = []
		context = self.get_from_api('/users/%s' % username)
		data = self.get_from_api('/users/%s/questions' % username)
		logging.debug(data)
		context['answered_questions'] = data['answered_questions']
		context['unanswered_questions'] = data['unanswered_questions']
		context['api_calls'] = self.api_calls

		context['messages'] = utils.get_messages()
		context['remaining'] = 100 - context['comparisons']['mp']['politmus_score']

		t = template.render('templates/users_user.html', context)

		self.response.out.write(t)
Ejemplo n.º 10
0
def write_all_messages(data, user):

    f = open("./../text/%s_words.txt" % user, "w+", encoding="utf-8")

    for message in get_messages(data, user):
        if "content" in message.keys() and "joined the" not in message[
                'content'] and " sent a live location" not in message[
                    'content'] and "set the emoji to" not in message[
                        'content'] and "changed the" not in message[
                            'content'] and "voted for" not in message[
                                'content'] and "set your nickname" not in message[
                                    'content'] and "set the nickname" not in message[
                                        'content'] and "created a poll" not in message[
                                            'content']:
            f.write(message["content"])
    f.close()
Ejemplo n.º 11
0
    def get(self, username):
        self.api_calls = []
        context = self.get_from_api('/users/%s' % username)
        data = self.get_from_api('/users/%s/questions' % username)
        logging.debug(data)
        context['answered_questions'] = data['answered_questions']
        context['unanswered_questions'] = data['unanswered_questions']
        context['api_calls'] = self.api_calls

        context['messages'] = utils.get_messages()
        context[
            'remaining'] = 100 - context['comparisons']['mp']['politmus_score']

        t = template.render('templates/users_user.html', context)

        self.response.out.write(t)
Ejemplo n.º 12
0
def messages_script():

    chat_id = 100
    nmessages = 3000

    messages = utils.get_messages(api, chat_id=chat_id, nmessages=nmessages)

    msg_stats, = utils.data_to_dict(
        handler_list=[handlers.user_messages_count], data=messages)

    users = utils.get_chat_users(api, chat_id)
    utils.get_users(api, user_ids=msg_stats, user_dict=users)

    names = utils.get_full_names(users)

    views.dict_view(view_method=views.plotly_hist,
                    keys=sorted(list(msg_stats.keys()),
                                key=lambda item: msg_stats[item]),
                    label_dict=names,
                    data_dict=msg_stats,
                    rate=False)
Ejemplo n.º 13
0
 def _get(self, *args, **kwargs):
     if not self.request.user.is_authenticated():
         return [], False
     return (map(lambda m: m.as_message(), get_messages(self.request.user)),
             True)
Ejemplo n.º 14
0
 def get_queryset(self):
     return get_messages(self.request.user)
Ejemplo n.º 15
0
# -*- coding: utf-8 -*-
import manage
from kyuuyaku.models import *
from utils import get_messages

Message.objects.all().delete()
for pointer, message in sorted(get_messages().items()):
    Message(pointer=pointer, data=message).save()
Ejemplo n.º 16
0
        'INBOX/test/not-important',
    ]
    for folder in folders:
        con.select(folder)
        for (uid, msg, flags) in get_messages(con, folder, 'ALL'):
            result = con.store(uid, "+FLAGS", '\\Deleted')
            log.info('{} {}'.format(uid, result))
    con.expunge()


if __name__ == "__main__":
    folders = ['INBOX']
    unknown_words = []

    con = get_connection()
    clean(con)

    for folder in folders:
        log.info(folder)
        con.select(folder, readonly=True)
        for (uid, msg, flags) in get_messages(con, folder, 'ALL'):
            log.info("%s %s", uid, flags)
            label = get_label(flags)
            if label is None:
                continue
            mode = 'test' if (int(uid) % 10) >= 8 else 'train'

            result = con.copy(
                uid, 'INBOX/{0}/{1}'.format(
                    mode, 'important' if label else 'not-important'))
Ejemplo n.º 17
0
def list_messages(version):
    if version.lower() == 'v1':
        if len(request.args.to_dict()) > 0:
            abort(400, 'This version does not accept additional parameters')

    return utils.get_messages(version, request.args.get('format', 'JSON'))
Ejemplo n.º 18
0
# -*- coding: utf-8 -*-
from utils import get_messages, gen_formatted
from collections import defaultdict

kanji = set([])
unknown = defaultdict(int)

f = open("output.txt", "w")
for address, message in sorted(get_messages().items()):
    if len(message) < 3:
        continue

    message = [int(m, 16) for m in message.split()]

    formatted, unk = gen_formatted(message)
    if len(formatted) < 2:
        continue

    f.write("0x%x\n--------\n" % address)
    for key, value in unk.items():
        if value:
            unknown[key] += value
    f.write(formatted.encode('utf-8'))
    f.write("\n\n--------\n")

for char, count in sorted(unknown.items(), key=lambda (x,y): y, reverse=True):
    f.write(("%x" % char).zfill(4) + " %d\n" % count)
f.write('\n')
for char, count in sorted(sorted(unknown.items(), key=lambda (x,y): y, reverse=True)[:10]):
    f.write(("%x" % char).zfill(4) + " %d\n" % count)
Ejemplo n.º 19
0
                PLAYER = None
            else:
                UNI.create_player(PLAYER)
            players = UNI.players.keys()

current_player = UNI.players[PLAYER]
p.subscribe('GAMEWORLD')
r.publish('GAMEWORLD', '{} joins the game... {}'.format(current_player.name,
                                                     uuid.uuid4()))

command = None

while command != 'Q':
    neighbors = UNI.graph.neighbors(current_player.current_node)
    print("".join(utils.get_messages(current_player.current_node,
                                     current_player,
                                     neighbors,
                                     UNI)))

    clock = datetime.now().strftime('%H:%M:%S')
    command = input("Command [TL={}]:[{}] (?=Help) : ".format(clock,
                                                              current_player.current_node)
                    )
    command = command.upper()
    if command not in ['Q', 'V', 'P', '?'] and (command.isnumeric() or utils.is_float(command)):
        try:
            target_node = int(command)
        except ValueError:
            target_node = float(command)
        if target_node in neighbors:
            current_player.current_node = target_node
            current_player.sectors_visited.update({current_player.current_node: 1})
Ejemplo n.º 20
0
import email
import datetime
from email.parser import Parser
from utils import get_messages, extract_bug_info
from mongotools import MongoConnection
from tools import classify_volunteer

with MongoConnection() as conn:
    count = 0
    for msg in get_messages():
        try:
            all_data = extract_bug_info(msg)
        except:
            continue

        who = all_data['changed_by']
        all_data.pop('changed_by')

        author_info = who
        if 'author_name' in all_data:
            author_info += " " + all_data['author_name']
            all_data.pop('author_name')
        volunteer = classify_volunteer(author_info)

        all_data['volunteer_assignee'] = classify_volunteer(all_data['assignee'])

        when_str = all_data['changed_at']
        when_tuple = email.utils.parsedate_tz(when_str)
        when = datetime.datetime.fromtimestamp(email.utils.mktime_tz(when_tuple))
        all_data.pop('changed_at')
        source = 'bugzilla'