Esempio n. 1
0
 def post(self):
     out = self.response.write
     try:
         param = self.request.get('json')
         json = simplejson.loads(param)
         user = json['user']
         sender = Listener.all().filter("mail", json['from']).get()
         msg = urllib.unquote(json['message'])
         if '@' in user:
             taskqueue.add(url='/notify',
                           params={'from': sender.mail,
                                   'user': user,
                                   'message': msg},
                           queue_name='notify')
         else:
             users = Listener.all().filter("groups",
                                           user.upper()).fetch(limit=None)
             for u in users:
                 if sender.mute == 0 and u.mail != sender.mail:
                     taskqueue.add(url='/notify',
                                   params={'from': sender.mail,
                                           'user': u.talk,
                                           'message': msg},
                                   queue_name='notify')
         out('{"success":true}')
     except Exception, e:
         out('{"success": false, "msg":"' + str(e) + '"}')
Esempio n. 2
0
 def get(self):
     usuario = users.get_current_user().email()
     user = Listener.all().filter("mail", usuario).get()
     if user is None:
         user = Listener(mail=usuario, talk=usuario, groups=[], mute=0)
         user.put()
         taskqueue.add(url='/invite',
                       params={'mail': usuario},
                       queue_name='invite')
     todos = list(buscar_grupos().difference(user.groups))
     self.render('index.html',
                 usuario=usuario,
                 user_groups=user.groups,
                 all_groups=todos)
Esempio n. 3
0
 def get(self):
     usuario = users.get_current_user().email()
     user = Listener.all().filter("mail", usuario).get()
     if user is None:
         user = Listener(mail=usuario, talk=usuario, groups=[], mute=0)
         user.put()
         taskqueue.add(url='/invite',
                       params={'mail': usuario},
                       queue_name='invite')
     todos = list(buscar_grupos().difference(user.groups))
     self.render('index.html',
                 usuario=usuario,
                 user_groups=user.groups,
                 all_groups=todos)
Esempio n. 4
0
def buscar_grupos():
    users = Listener.all().fetch(limit=None)
    grupos = Set([])
    for u in users:
        for g in u.groups:
            grupos.add(g)
    return grupos
Esempio n. 5
0
def buscar_grupos():
    users = Listener.all().fetch(limit=None)
    grupos = Set([])
    for u in users:
        for g in u.groups:
            grupos.add(g)
    return grupos
Esempio n. 6
0
 def post(self):
     param = self.request.get('json', '{"mail":"None"}')
     json = simplejson.loads(param)
     user = Listener.all().filter("mail", json['mail']).get()
     if not user is None:
         user.groups = user.groups + json['grupos']
         user.put()
Esempio n. 7
0
 def parse_message(self, fields, sender):
     if '@' in fields[0]:
         usu = Listener.all().filter("mail", fields[0]).fetch(1)[0]
         if len(fields) == 3:
             self.notify(sender, usu, fields[1], fields[2])
         else:
             self.notify(sender, usu, 'talk', fields[1])
     else:
         users = Listener.all().filter("groups",
                                       fields[0].upper()).fetch(limit=None)
         for user in users:
             if user.talk != sender:
                 if len(fields) == 3:
                     self.notify(sender, user, fields[1],
                                 '[' + fields[0].upper() + '] ' + fields[2])
                 else:
                     self.notify(sender, user, 'talk',
                                 '[' + fields[0].upper() + ']' + fields[1])
Esempio n. 8
0
 def parse_message(self, fields, sender):
     if '@' in fields[0]:
         usu = Listener.all().filter("mail", fields[0]).fetch(1)[0]
         if len(fields) == 3:
             self.notify(sender, usu, fields[1], fields[2])
         else:
             self.notify(sender, usu, 'talk', fields[1])
     else:
         users = Listener.all().filter("groups",
                                       fields[0].upper()).fetch(limit=None)
         for user in users:
             if user.talk != sender:
                 if len(fields) == 3:
                     self.notify(sender, user, fields[1],
                                 '[' + fields[0].upper() + '] ' + fields[2])
                 else:
                     self.notify(sender, user, 'talk',
                                 '[' + fields[0].upper() + ']' + fields[1])
Esempio n. 9
0
 def post(self):
     out = self.response.write
     try:
         param = self.request.get('json')
         json = simplejson.loads(param)
         for user in json['notify']:
             exists = Listener.all().filter("mail", user['mail']).get()
             if exists is None:
                 listener = Listener(mail=user['mail'],
                                     talk=user.get('talk', user['mail']),
                                     groups=user['groups'],
                                     mute=0)
                 listener.put()
                 taskqueue.add(url='/invite',
                               params={'mail': user['mail']},
                               queue_name='invite')
     except Exception, e:
         out('Erro no gae ' + str(e))
Esempio n. 10
0
 def get(self):
     out = self.response.write
     users = Listener.all().fetch(limit=None)
     grupos = Set([])
     for u in users:
         for g in u.groups:
             grupos.add(g)
     resp = {'mail': '*****@*****.**'}
     resp['grupos'] = list(grupos)
     out(json.encode(resp))
Esempio n. 11
0
    def receive(self, mail_message):
        log.warn("Receiving mail " + mail_message.sender)
        sender = ''
        if '<' in mail_message.sender:
            init = mail_message.sender.index('<')
            end = mail_message.sender.index('>')
            sender = mail_message.sender[init + 1:end]
        else:
            sender = mail_message.sender

        usu = Listener.all().filter("mail", sender).fetch(1)[0]
        if not usu is None:
            acao = mail_message.subject
            if acao == 'enable':
                usu.mute = 1
            elif acao == 'disable':
                usu.mute = 0
            usu.put()
Esempio n. 12
0
    def receive(self, mail_message):
        log.warn("Receiving mail " + mail_message.sender)
        sender = ''
        if '<' in mail_message.sender:
            init = mail_message.sender.index('<')
            end = mail_message.sender.index('>')
            sender = mail_message.sender[init + 1:end]
        else:
            sender = mail_message.sender

        usu = Listener.all().filter("mail", sender).fetch(1)[0]
        if not usu is None:
            acao = mail_message.subject
            if acao == 'enable':
                usu.mute = 1
            elif acao == 'disable':
                usu.mute = 0
            usu.put()
Esempio n. 13
0
 def get(self):
     users = Listener.all().fetch(limit=None)
     self.render('usuarios.html', usuarios=users)
Esempio n. 14
0
 def get(self):
     users = Listener.all().fetch(limit=None)
     self.render('usuarios.html', usuarios=users)