Example #1
0
    def add_projects(self, arguments, messageInfo):
        message = arguments.split(" ")
        try:
            name = message[0]
            language = message[1]
            link = message[2]
            message.pop(0)
            message.pop(0)
            message.pop(0)
            description = ' '.join(message)
        except IndexError:
            ircHelpers.privateMessage(
                messageInfo['user'],
                "Correct usage is: !!addproject [name] [language] [link] [description]"
            )
            return False

        proj_id = binascii.b2a_hex(os.urandom(3)).decode()
        proj_dict = {
            "name": name,
            "language": language,
            "link": link,
            "description": description.strip("\r"),
            "id": proj_id
        }
        if DB().db_add_data("projects", proj_dict):
            ircHelpers.pmInChannel(
                messageInfo['user'],
                "Added project %s. Thank's for taking part!" % name)
            ircHelpers.sayInChannel("Added new project: %s" % name)
        else:
            ircHelpers.privateMessage(messageInfo['user'],
                                      "Error trying to add project %s" % name)
Example #2
0
 def delete_mail(self, arguments, messageInfo):
     if DB().db_delete_data("mail","id",arguments.strip('\r')):
         ircHelpers.pmInChannel(messageInfo["user"], "Deleted message (if available)")
         return True
     else:
         ircHelpers.pmInChannel(messageInfo["user"], "Error while deleting message")
         return False
Example #3
0
 def notify(self, user):
     data = DB().db_get_data("mail", "recipient", user)
     if data == None:
         print("!! Error attempting to notify user of mail.")
         return False
     elif len(data) != 0:
         ircHelpers.pmInChannel(user, "You have mail! You can check it with mymail and delete it with delmail <id>")
         return True
Example #4
0
 def delete_mail(self, arguments, messageInfo):
     if DB().db_delete_data("mail", "id", arguments.strip('\r')):
         ircHelpers.pmInChannel(messageInfo["user"],
                                "Deleted message (if available)")
         return True
     else:
         ircHelpers.pmInChannel(messageInfo["user"],
                                "Error while deleting message")
         return False
Example #5
0
 def delete_projects(self, arguments, messageInfo):
     if not arguments.strip("\r").strip():
         ircHelpers.pmInChannel(messageInfo["user"], "Correct usage is: !!delproject [project_id]")
         return False
     if DB().db_delete_data("projects", "id", arguments.strip("\r")):
         ircHelpers.sayInChannel("Deleted project (if available)")
         return True
     else:
         ircHelpers.sayInChannel("Error trying to delete project")
         return False
Example #6
0
 def notify(self, user):
     data = DB().db_get_data("mail", "recipient", user)
     if data == None:
         print("!! Error attempting to notify user of mail.")
         return False
     elif len(data) != 0:
         ircHelpers.pmInChannel(
             user,
             "You have mail! You can check it with mymail and delete it with delmail <id>"
         )
         return True
Example #7
0
 def delete_projects(self, arguments, messageInfo):
     if not arguments.strip('\r').strip():
         ircHelpers.pmInChannel(
             messageInfo['user'],
             "Correct usage is: !!delproject [project_id]")
         return False
     if DB().db_delete_data("projects", "id", arguments.strip('\r')):
         ircHelpers.sayInChannel("Deleted project (if available)")
         return True
     else:
         ircHelpers.sayInChannel("Error trying to delete project")
         return False
Example #8
0
 def get_mail(self, arguments, messageInfo):
     recipient = messageInfo["user"]
     data = DB().db_get_data("mail", "recipient", recipient)
     if data == None:
         ircHelpers.pmInChannel(messageInfo["user"], "Error retrieving mail")
         return False
     elif len(data) == 0:
         ircHelpers.pmInChannel(messageInfo["user"], "You have no messages")
         return True
     else:
         for mail_tuple in data:
             ircHelpers.privateMessage(mail_tuple[1], "[ %s ] <%s>: %s" % (mail_tuple[3],mail_tuple[0],mail_tuple[2]))
         return True
Example #9
0
    def list_projects(self, arguments, messageInfo):
        user = messageInfo["user"]
        if not DB().db_check_table("projects"):
            DB().db_add_table("projects", "name text, language text, link text, description text, id text")
        if arguments:
            data = DB().db_get_data("projects", "language", arguments.replace("\r", ""))
        else:
            data = DB().db_get_all_data("projects")
        if data == None:
            ircHelpers.pmInChannel(user, "Error while trying to retrieve Projects")
        if len(data) == 0:
            ircHelpers.pmInChannel(user, "There are no listed projects")
        else:
            max_name = len("name")
            max_lang = len("language")
            max_desc = len("description")
            max_link = 0
            for proj_tuple in data:
                if len(proj_tuple[1]) > max_lang:
                    max_lang = len(proj_tuple[1])
                if len(proj_tuple[0]) > max_name:
                    max_name = len(proj_tuple[0])
                if len(proj_tuple[3]) > max_desc:
                    max_desc = len(proj_tuple[3])
                if len(proj_tuple[2]) > max_link:
                    max_link = len(proj_tuple[2])
            title_row = "(%s)  %s [[ %s ]]  %s  (( %s ))" % (
                "  id  ",
                "language".ljust(max_lang),
                "name".ljust(max_name),
                "description".ljust(max_desc),
                "   link".ljust(max_link),
            )

            ircHelpers.sayInChannel(title_row)
            ircHelpers.sayInChannel("-" * len(title_row))

            for proj_tuple in data:
                ircHelpers.sayInChannel(
                    # (id) lang [[ name ]]  desc  << link >>
                    "(%s)  %s [[ %s ]]  %s  (( %s ))"
                    % (
                        proj_tuple[4],  # id
                        proj_tuple[1].ljust(max_lang),  # lang
                        proj_tuple[0].ljust(max_name),  # name
                        proj_tuple[3].ljust(max_desc),  # desc
                        proj_tuple[2].ljust(max_link),
                    )
                )  # link
Example #10
0
 def get_mail(self, arguments, messageInfo):
     recipient = messageInfo["user"]
     data = DB().db_get_data("mail", "recipient", recipient)
     if data == None:
         ircHelpers.pmInChannel(messageInfo["user"],
                                "Error retrieving mail")
         return False
     elif len(data) == 0:
         ircHelpers.pmInChannel(messageInfo["user"], "You have no messages")
         return True
     else:
         for mail_tuple in data:
             ircHelpers.privateMessage(
                 mail_tuple[1], "[ %s ] <%s>: %s" %
                 (mail_tuple[3], mail_tuple[0], mail_tuple[2]))
         return True
Example #11
0
    def list_projects(self, arguments, messageInfo):
        user = messageInfo['user']
        if not DB().db_check_table("projects"):
            DB().db_add_table(
                "projects",
                "name text, language text, link text, description text, id text"
            )
        if (arguments):
            data = DB().db_get_data("projects", "language",
                                    arguments.replace('\r', ''))
        else:
            data = DB().db_get_all_data("projects")
        if data == None:
            ircHelpers.pmInChannel(user,
                                   "Error while trying to retrieve Projects")
        if len(data) == 0:
            ircHelpers.pmInChannel(user, "There are no listed projects")
        else:
            max_name = len("name")
            max_lang = len("language")
            max_desc = len("description")
            max_link = 0
            for proj_tuple in data:
                if len(proj_tuple[1]) > max_lang:
                    max_lang = len(proj_tuple[1])
                if len(proj_tuple[0]) > max_name:
                    max_name = len(proj_tuple[0])
                if len(proj_tuple[3]) > max_desc:
                    max_desc = len(proj_tuple[3])
                if len(proj_tuple[2]) > max_link:
                    max_link = len(proj_tuple[2])
            title_row = "(%s)  %s [[ %s ]]  %s  (( %s ))" % (
                "  id  ", "language".ljust(max_lang), "name".ljust(max_name),
                "description".ljust(max_desc), "   link".ljust(max_link))

            ircHelpers.sayInChannel(title_row)
            ircHelpers.sayInChannel('-' * len(title_row))

            for proj_tuple in data:
                ircHelpers.sayInChannel(
                    #(id) lang [[ name ]]  desc  << link >>
                    "(%s)  %s [[ %s ]]  %s  (( %s ))" % (
                        proj_tuple[4],  # id
                        proj_tuple[1].ljust(max_lang),  # lang
                        proj_tuple[0].ljust(max_name),  # name
                        proj_tuple[3].ljust(max_desc),  # desc
                        proj_tuple[2].ljust(max_link)))  # link
Example #12
0
    def add_projects(self, arguments, messageInfo):
        message = arguments.split(" ")
        try:
            name = message[0]
            language = message[1]
            link = message[2]
            message.pop(0)
            message.pop(0)
            message.pop(0)
            description = ' '.join(message)
        except IndexError:
            ircHelpers.privateMessage(messageInfo['user'], "Correct usage is: !!addproject [name] [language] [link] [description]")
            return False

        proj_id = binascii.b2a_hex(os.urandom(3)).decode()
        proj_dict = { "name" : name, "language" : language, "link" : link, "description" : description.strip("\r"), "id" : proj_id }
        if DB().db_add_data("projects", proj_dict):
            ircHelpers.pmInChannel(messageInfo['user'], "Added project %s. Thank's for taking part!" % name)
            ircHelpers.sayInChannel("Added new project: %s" % name)
        else:
            ircHelpers.privateMessage(messageInfo['user'], "Error trying to add project %s" % name)
Example #13
0
 def send_mail(self, arguments, messageInfo):
     sender = messageInfo['user']
     message = arguments.split(" ", 1)
     try:
         recipient = message[0]
         message = message[1]
     except IndexError:
         ircHelpers.pmInChannel(sender, Mail.help_send)
         return False
     mail_id = binascii.b2a_hex(os.urandom(3)).decode()
     mail_dict = {
         "sender": sender,
         "recipient": recipient,
         "message": message.strip("\r"),
         "id": mail_id
     }
     if DB().db_add_data("mail", mail_dict):
         ircHelpers.pmInChannel(
             sender,
             "sent message to %s: %s" % (recipient, message.strip("\r")))
         return True
     else:
         ircHelpers.pmInChannel(sender,
                                "Failed to send message to %s" % recipient)
         return False
Example #14
0
 def send_mail(self, arguments, messageInfo):
     sender = messageInfo['user']
     message = arguments.split(" ", 1)
     try:
         recipient = message[0]
         message = message[1]
     except IndexError:
         ircHelpers.pmInChannel(sender, Mail.help_send)
         return False
     mail_id = binascii.b2a_hex(os.urandom(3)).decode()
     mail_dict = { "sender" : sender, "recipient" : recipient, "message" : message.strip("\r"), "id" : mail_id }
     if DB().db_add_data("mail", mail_dict):
         ircHelpers.pmInChannel(sender, "sent message to %s: %s" % (recipient, message.strip("\r")))
         return True
     else:
         ircHelpers.pmInChannel(sender, "Failed to send message to %s" % recipient)
         return False
Example #15
0
 def sayHello(self, user):
     if user != ircHelpers.getNick():
         ircHelpers.pmInChannel(user, "Hello %s! If you're new, try !!help" % user)
         ircHelpers.pmInChannel(user, "There may not always be a lot of activity here, just stick around. IRC use requires some patience. If you need a response quickly try ping either kzisme or paddatrapper")
Example #16
0
 def sayHello(self, user):
     if user != ircHelpers.getNick():
         ircHelpers.pmInChannel(user, "Hello %s! If you're new, try !!help" % user)
Example #17
0
 def sayHello(self, user):
     if user != ircHelpers.getNick():
         ircHelpers.pmInChannel(
             user, "Hello %s! If you're new, try !!help" % user)