def generate_summary_file(): """ We need this function in order to test the real generate_summary_file function. Its name has been changed to __... :return: the time necessary to execute this function """ start_time = time() # Read configuration config = DITICConfig() # List of emails list_emails = set(config.get_email_to_user().keys()) # List of possible status list_status = config.get_list_status() # Let use system config list system = config.get_system() rt_object = RTApi(system['server'], system['username'], system['password']) summary = __generate_summary_file(rt_object, list_emails, list_status) # The summary of all files will be flushed to this file. try: with open( summary_filename(system['working_dir'], system['summary_file']), 'w') as file_handler: dump(summary, file_handler) except IOError as e: raise IOError('Error:' + str(e)) return '%0.2f seconds' % (time() - start_time)
def stats_update_json_file(number_of_days=1): """ Reads old json file, if it exists, get new information, update statistics, write back to file There is a known bug: the number_of_days MUST not overlap a month If it does, there will be a problem ;) :param number_of_days: Number of days to analyze :return: time took to execute """ # TODO: guarantee that the data is written in the correct filename, if number_of_days overlap a month start_time = time() config = DITICConfig() system = config.get_system() rt_object = RTApi(system['server'], system['username'], system['password']) # result = read_statistics_file(config) for this_day in range(0, number_of_days): current_date = get_date(this_day) current_year_month = current_date[:7] result = stats_read_json_file(current_year_month[:4], current_year_month[5:7]) result[get_date(this_day)] = full_list_of_tickets_on_a_date( rt_object, config, current_date) write_statistics_file(config, result, current_year_month[:4], current_year_month[5:7]) return '%0.2f seconds' % (time() - start_time)
def check_password(self, email, pwd): if email not in self.config.get_email_to_user().keys(): raise ValueError('Unknown email') # Get system configurations system = self.config.get_system() # To check the password, we will try to check if user has any new ticket email_rt_api = RTApi(system['server'], email, pwd) data_dict = {'query': 'Owner = "%s" and Status = "new"' % email} response = email_rt_api.get_data_from_rest('/search/ticket', data_dict) if 'your username or password is incorrect' in response: raise ValueError('Password is incorrect') self.ids[self.__get_new_id()] = { 'email': email, 'rt_object': email_rt_api, } return True
#!/usr/bin/env python from ditic_kanban.config import DITICConfig from ditic_kanban.rt_api import get_list_of_tickets from ditic_kanban.rt_api import RTApi myconfig = DITICConfig() system = myconfig.get_system() email_rt_api = RTApi(system['server'], system['username'], system['password']) #query = 'Owner = "*****@*****.**" and Status = "rejected"' query = '"cf.{is - informatica e sistemas}" not like "dir" and "cf.{is - informatica e sistemas}" not like "dir-inbox"' response = get_list_of_tickets(email_rt_api, query) print response print len(response)
from ditic_kanban.tools import search_tickets from ditic_kanban.tools import get_urgent_tickets from ditic_kanban.rt_api import RTApi, modify_ticket from ditic_kanban.statistics import get_date from ditic_kanban.statistics import get_statistics from subprocess import call emailGlobal = '' # My first global variable... user_auth = UserAuth() # Only used by the URGENT tickets search my_config = DITICConfig() system = my_config.get_system() rt_object = RTApi(system['server'], system['username'], system['password']) # This part is necessary in order to get access to sound files # Static dir is in the parent directory STATIC_PATH = os.path.abspath( os.path.join(os.path.dirname(__file__), "../static")) print STATIC_PATH def create_default_result(): # Default header configuration result = {'title': 'Dashboard'} call(['update_statistics']) call(["generate_summary_file"])