Example #1
0
    def update_status_ticket(self, **kwargs):
        self._dict_database["session"] = cherrypy.request.db
        input_json = cherrypy.request.json

        persistent_controller = PersistentController(
            dict_database=self._dict_database)
        return persistent_controller.update_status_ticket(input_json)
Example #2
0
    def linking_tickets(self, **kwargs):
        self._dict_database["session"] = cherrypy.request.db
        input_json = cherrypy.request.json

        persistent_controller = PersistentController(
            dict_database=self._dict_database)
        return persistent_controller.linking_tickets(input_json)
Example #3
0
    def process_ticket_library(self, **kwargs):
        self._dict_database["session"] = cherrypy.request.db
        input_json = cherrypy.request.json

        persistent_controller = PersistentController(
            dict_database=self._dict_database)
        return persistent_controller.process_library_ticket(input_json)
Example #4
0
    def process_ticket(self, **kwargs):
        self._dict_database["session"] = cherrypy.request.db
        input_json = cherrypy.request.json

        persistent_controller = PersistentController(dict_database=self._dict_database)
        json_result = persistent_controller.process_ticket_artifact(input_json)

        return json_result
Example #5
0
    def process_ticket(self, **kwargs):
        self._dict_database["session"] = cherrypy.request.db
        input_json = cherrypy.request.json

        persistent_controller = PersistentController(
            dict_database=self._dict_database)
        json_result = persistent_controller.process_ticket_artifact(input_json)

        return json_result
Example #6
0
    def test_04(self):
        driver = PersistentController("../board.cfg")
        dict_branch = {
            "feature2": [{
                "id_artifact": 1,
                "email": "*****@*****.**",
                "id_type_tech": 1
            }]
        }
        dict_result = driver.process_ticket_db(dict_branch, 2)

        self.assertEqual(dict_result["result"], "OK")
Example #7
0
    def listen_email(self):
        persistent_controller = PersistentController(self.config_file)
        mail = imaplib.IMAP4_SSL(self.imap_server)
        mail.login(self.email_account, self.email_password)
        mail.list()
        mail.select('inbox')
        email_parser = EmailParser()

        subject_defect = self.config.get('SettingEmail', 'subject.defect')
        substring_start = self.config.get('SettingEmail', 'substring.to.start')
        typ, data = mail.search(None, '(UNSEEN SUBJECT "%s")' % subject_defect)
        messages = data[0].split()
        for message_uid in messages:
            result, data = mail.uid('fetch', message_uid, '(RFC822)')
            raw_body = data[0][1]
            email_message = self.get_decoded_email_body(raw_body)
            # print ("result: %s" % result)
            # print ("body_email: %s" % email_message)
            dict_defect = email_parser.parse_mail_defect(email_message)
            if dict_defect:
                logger.info("dict_defect: %s" % dict_defect)
                persistent_controller.process_library_ticket(dict_defect)
Example #8
0
    def listen_email(self):
        persistent_controller = PersistentController(self.config_file)
        mail = imaplib.IMAP4_SSL(self.imap_server)
        mail.login(self.email_account, self.email_password)
        mail.list()
        mail.select('inbox')
        email_parser = EmailParser()

        subject_defect = self.config.get('SettingEmail', 'subject.defect')
        substring_start = self.config.get('SettingEmail', 'substring.to.start')
        typ, data = mail.search(None, '(UNSEEN SUBJECT "%s")' % subject_defect)
        messages = data[0].split()
        for message_uid in messages:
            result, data = mail.uid('fetch', message_uid, '(RFC822)')
            raw_body = data[0][1]
            email_message = self.get_decoded_email_body(raw_body)
            # print ("result: %s" % result)
            # print ("body_email: %s" % email_message)
            dict_defect = email_parser.parse_mail_defect(email_message)
            if dict_defect:
                logger.info("dict_defect: %s" % dict_defect)
                persistent_controller.process_library_ticket(dict_defect)
Example #9
0
def monitor_repository():
    connected_trello = False
    task_manager = None
    if TaskManager.validate_connection():
        task_manager = TaskManager(config_file)
        connected_trello = True

    repository_listener = RepositoryListener(config_file)
    is_branch_behind = repository_listener.is_behind()
    branch_repository = repository_listener.get_current_branch()
    logger.info("is behind: %s ", is_branch_behind)

    if is_branch_behind:
        persistent_controller = PersistentController(config_file)
        dict_branch, id_branch = repository_listener.get_branch_ticket(
            branch_repository, persistent_controller)

        logger.info("after get_branch_ticket, dict_branch: %s" % dict_branch)
        dict_board_result = persistent_controller.process_ticket_db(
            dict_branch, id_branch)

        if dict_board_result['result'] == 'OK':
            list_board_ticket = dict_board_result['board_ticket']
            email_tracker = EmailTracker(config_file)
            # get each ticket at board
            for board_ticket in list_board_ticket:

                if connected_trello:
                    dict_result = task_manager.send_ticket_card(board_ticket)
                    if dict_result["result"] == "OK":
                        dict_board = board_ticket['dict_board']
                        m_card = dict_result['result_card']
                        dict_board['id_card_tracker'] = m_card.id
                        persistent_controller.update_ticket_db(dict_board)
                    else:
                        logger.error("error send to trello: %s",
                                     dict_result["description"])

                # dict_board_code = board_ticket['dict_board']
                logger.info("board_ticket: %s" % board_ticket)
                message_email = email_tracker.get_email_ticket_request(
                    board_ticket)
                logger.info("sending email...")
                email_tracker.send_email(message_email)

            #result_pull = repository_listener.update_local_repository()
        else:
            logger.error("error at process_ticket_db: %s" %
                         dict_board_result["description"])
        persistent_controller.close_session()
Example #10
0
def monitor_repository():
    connected_trello = False
    task_manager = None
    if TaskManager.validate_connection():
        task_manager = TaskManager(config_file)
        connected_trello = True

    repository_listener = RepositoryListener(config_file)
    is_branch_behind = repository_listener.is_behind()
    branch_repository = repository_listener.get_current_branch()
    logger.info("is behind: %s ", is_branch_behind)

    if is_branch_behind:
        persistent_controller = PersistentController(config_file)
        dict_branch, id_branch = repository_listener.get_branch_ticket(branch_repository, persistent_controller)

        logger.info("after get_branch_ticket, dict_branch: %s" % dict_branch)
        dict_board_result = persistent_controller.process_ticket_db(dict_branch, id_branch)

        if dict_board_result["result"] == "OK":
            list_board_ticket = dict_board_result["board_ticket"]
            email_tracker = EmailTracker(config_file)
            # get each ticket at board
            for board_ticket in list_board_ticket:

                if connected_trello:
                    dict_result = task_manager.send_ticket_card(board_ticket)
                    if dict_result["result"] == "OK":
                        dict_board = board_ticket["dict_board"]
                        m_card = dict_result["result_card"]
                        dict_board["id_card_tracker"] = m_card.id
                        persistent_controller.update_ticket_db(dict_board)
                    else:
                        logger.error("error send to trello: %s", dict_result["description"])

                # dict_board_code = board_ticket['dict_board']
                logger.info("board_ticket: %s" % board_ticket)
                message_email = email_tracker.get_email_ticket_request(board_ticket)
                logger.info("sending email...")
                email_tracker.send_email(message_email)

            # result_pull = repository_listener.update_local_repository()
        else:
            logger.error("error at process_ticket_db: %s" % dict_board_result["description"])
        persistent_controller.close_session()
 def test_02(self):
     driver = PersistentController("../board.cfg")
     row = driver.get_ticket_board('noticket')
     print row
     self.assertFalse(row, 'test fail')
Example #12
0
    def linking_tickets(self, **kwargs):
        self._dict_database["session"] = cherrypy.request.db
        input_json = cherrypy.request.json

        persistent_controller = PersistentController(dict_database=self._dict_database)
        return persistent_controller.linking_tickets(input_json)
Example #13
0
    def update_status_ticket(self, **kwargs):
        self._dict_database["session"] = cherrypy.request.db
        input_json = cherrypy.request.json

        persistent_controller = PersistentController(dict_database=self._dict_database)
        return persistent_controller.update_status_ticket(input_json)
Example #14
0
        self.assertIsNotNone(dict, 'error getting board code')

    def test_04(self):
        driver = PersistentController("../board.cfg")
        dict_branch = {
            "feature2": [{
                "id_artifact": 1,
                "email": "*****@*****.**",
                "id_type_tech": 1
            }]
        }
        dict_result = driver.process_ticket_db(dict_branch, 2)

        self.assertEqual(dict_result["result"], "OK")


if __name__ == '__main__':
    driver = PersistentController("../board.cfg")
    print driver.get_list_artifacts()

    dict_branch = {
        "feature2": [{
            "id_artifact": 1,
            "email": "*****@*****.**",
            "id_type_tech": 1
        }]
    }
    dict_result = driver.process_ticket_db(dict_branch, 2)
    print "process_ticket_db...OK"
    print("dic_result", dict_result)
Example #15
0
    def process_ticket_library(self, **kwargs):
        self._dict_database["session"] = cherrypy.request.db
        input_json = cherrypy.request.json

        persistent_controller = PersistentController(dict_database=self._dict_database)
        return persistent_controller.process_library_ticket(input_json)
Example #16
0
 def test_03(self):
     driver = PersistentController("../board.cfg")
     dict = driver.get_dict_board_code('feature2')
     print dict
     self.assertIsNotNone(dict, 'error getting board code')
Example #17
0
 def test_02(self):
     driver = PersistentController("../board.cfg")
     row = driver.get_ticket_board('noticket')
     print row
     self.assertFalse(row, 'test fail')
 def test_01(self):
     driver = PersistentController("../board.cfg")
     row = driver.get_ticket_board('feature2')
     print row.id_ticket
     self.assertIsNotNone(row, 'error ticket does not exist')
    def test_04(self):
        driver = PersistentController("../board.cfg")
        dict_branch = {"feature2": [{"id_artifact": 1, "email": "*****@*****.**", "id_type_tech": 1}]}
        dict_result = driver.process_ticket_db(dict_branch, 2)

        self.assertEqual(dict_result["result"], "OK")
 def test_03(self):
     driver = PersistentController("../board.cfg")
     dict = driver.get_dict_board_code('feature2')
     print dict
     self.assertIsNotNone(dict, 'error getting board code')
Example #21
0
 def test_01(self):
     driver = PersistentController("../board.cfg")
     row = driver.get_ticket_board('feature2')
     print row.id_ticket
     self.assertIsNotNone(row, 'error ticket does not exist')
    def test_02(self):
        driver = PersistentController("../board.cfg")
        row = driver.get_ticket_board('noticket')
        print row
        self.assertFalse(row, 'test fail')

    def test_03(self):
        driver = PersistentController("../board.cfg")
        dict = driver.get_dict_board_code('feature2')
        print dict
        self.assertIsNotNone(dict, 'error getting board code')

    def test_04(self):
        driver = PersistentController("../board.cfg")
        dict_branch = {"feature2": [{"id_artifact": 1, "email": "*****@*****.**", "id_type_tech": 1}]}
        dict_result = driver.process_ticket_db(dict_branch, 2)

        self.assertEqual(dict_result["result"], "OK")

if __name__ == '__main__':
    driver = PersistentController("../board.cfg")
    print driver.get_list_artifacts()

    dict_branch = {"feature2": [{"id_artifact": 1, "email": "*****@*****.**", "id_type_tech": 1}]}
    dict_result = driver.process_ticket_db(dict_branch, 2)
    print "process_ticket_db...OK"
    print ("dic_result", dict_result)