Exemple #1
0
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)
Exemple #2
0
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)
Exemple #3
0
    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
Exemple #4
0
    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
Exemple #5
0
#!/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)
Exemple #6
0
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"])