本文整理汇总了Python中ditic_kanban.config.DITICConfig.get_email_limits方法的典型用法代码示例。如果您正苦于以下问题:Python DITICConfig.get_email_limits方法的具体用法?Python DITICConfig.get_email_limits怎么用?Python DITICConfig.get_email_limits使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ditic_kanban.config.DITICConfig
的用法示例。
在下文中一共展示了DITICConfig.get_email_limits方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: user_get_resolved_tickets
# 需要导入模块: from ditic_kanban.config import DITICConfig [as 别名]
# 或者: from ditic_kanban.config.DITICConfig import get_email_limits [as 别名]
def user_get_resolved_tickets(rt_object, email):
config = DITICConfig()
# Check if user is known...
if not config.check_if_email_exist(email):
raise ValueError("Unknown email/user:" + email)
# The search string
query = 'Owner = "%s" AND Queue = "general" AND Status = "resolved"' % (email)
# Get the information from the server.
try:
response = get_list_of_tickets(rt_object, query)
except NameError as e:
raise ValueError("Error: " + str(e))
number_tickets_per_status = {email: len(response)}
for line in response:
try:
auxiliary_date = strptime(line["lastupdated"])
auxiliary_date = "%02d/%02d" % (auxiliary_date.tm_mon, auxiliary_date.tm_mday)
except ValueError:
auxiliary_date = 0
line["auxiliary_date"] = auxiliary_date
create_ticket_possible_actions(config, line, email, number_tickets_per_status)
result = group_result_by(response, "auxiliary_date")
email_limit = config.get_email_limits(email)
return {"tickets": result}
示例2: search_tickets
# 需要导入模块: from ditic_kanban.config import DITICConfig [as 别名]
# 或者: from ditic_kanban.config.DITICConfig import get_email_limits [as 别名]
def search_tickets(rt_object, search):
"""
Search for tickets that match those criteria.
The search will focus on those fields:
- Requestors.EmailAddress
- Subject
- cf{servico}
- cc
- admincc
- Requestor.Name
- Requestor.RealName
The tickets must be under the following restrictions:
- Belongs to Queue General
- Must have "CF.{IS - Informatica e Sistemas}" equal to DIR or DIR-INBOX
- Must be created or updated on the last 90 days
:param rt_object: RTApi object
:param search: the search criteria
:return:
"""
config = DITICConfig()
# Search last 30 days.
previous_date = (date.today() - timedelta(90)).isoformat()
# The search string
query = (
'Queue = "General" AND ( "CF.{IS - Informatica e Sistemas}" = "DIR" '
'OR "CF.{IS - Informatica e Sistemas}" = "DIR-INBOX" ) AND '
'( Lastupdated > "' + previous_date + '" OR Created > "' + previous_date + '") '
'AND ( Requestor.EmailAddress LIKE "%' + search + '%" '
)
for query_items in ["Subject", "cf.{servico}", "cc", "admincc", "Requestor.Name", "Requestor.RealName"]:
query += ' OR %s LIKE "%%%s%%" ' % (query_items, search)
query += ")"
# Get the information from the server.
try:
response = get_list_of_tickets(rt_object, query)
except NameError as e:
raise ValueError("Error: " + str(e))
except ValueError:
return {"no_result": True, "number_tickets": "No results...", "tickets": {}}
number_tickets = len(response)
for line in response:
try:
auxiliary_date = strptime(line["lastupdated"])
auxiliary_date = "%02d/%02d" % (auxiliary_date.tm_mon, auxiliary_date.tm_mday)
except ValueError:
auxiliary_date = 0
line["auxiliary_date"] = auxiliary_date
result = group_result_by(response, "auxiliary_date")
email_limit = config.get_email_limits(search)
return {"no_result": False, "tickets": result, "number_tickets": number_tickets, "email_limit": email_limit}
示例3: test_get_email_limits_unknown_email
# 需要导入模块: from ditic_kanban.config import DITICConfig [as 别名]
# 或者: from ditic_kanban.config.DITICConfig import get_email_limits [as 别名]
def test_get_email_limits_unknown_email():
test_config = DITICConfig()
test_config.email_to_user = {
'[email protected]': 'Vapi',
'[email protected]': 'Alex',
}
test_config.email_limits = {
'[email protected]': {
'new': 7,
'open': 1,
'rejected': 7,
}
}
response = test_config.get_email_limits('[email protected]')
assert response == {}
示例4: user_closed_tickets
# 需要导入模块: from ditic_kanban.config import DITICConfig [as 别名]
# 或者: from ditic_kanban.config.DITICConfig import get_email_limits [as 别名]
def user_closed_tickets(rt_object, email):
"""
Get the closed tickets on the last X days. (X = 60)
:param rt_object: RTApi object
:param email: the user email (it must exist in the config)
:return:
"""
config = DITICConfig()
# Check if user is known...
if not config.check_if_email_exist(email):
raise ValueError('Unknown email/user:'+email)
# Search last 30 days.
previous_date = (date.today() - timedelta(60)).isoformat()
# The search string
query = 'Owner = "%s" AND Queue = "general" AND Status = "resolved" AND LastUpdated > "%s"' % (email,
previous_date)
# Get the information from the server.
try:
response = get_list_of_tickets(rt_object, query)
except NameError as e:
raise ValueError('Error: '+str(e))
number_tickets_per_status = {email: len(response)}
for line in response:
try:
auxiliary_date = strptime(line['lastupdated'])
auxiliary_date = '%02d/%02d' % (auxiliary_date.tm_mon, auxiliary_date.tm_mday)
except ValueError:
auxiliary_date = 0
line['auxiliary_date'] = auxiliary_date
create_ticket_possible_actions(config, line, email, number_tickets_per_status)
result = group_result_by(response, 'auxiliary_date')
email_limit = config.get_email_limits(email)
return {
'tickets': result,
'number_tickets_per_status': number_tickets_per_status,
'email_limit': email_limit,
}
示例5: user_tickets_details
# 需要导入模块: from ditic_kanban.config import DITICConfig [as 别名]
# 或者: from ditic_kanban.config.DITICConfig import get_email_limits [as 别名]
def user_tickets_details(rt_object, email):
query = 'Owner = "'+email+'" AND Queue = "general" '
config = DITICConfig()
# If the user is dir, then build the search
if email == 'dir':
query = 'Queue = "general" AND "CF.{IS - Informatica e Sistemas}" = "DIR" AND Owner = "Nobody" AND ' \
'Status != "deleted" '
# If the user is dir-inbox, then search for it
elif email == 'dir-inbox':
query = 'Queue = "general" AND "CF.{IS - Informatica e Sistemas}" = "DIR-INBOX" AND Owner = "Nobody" AND ' \
'Status != "deleted" '
# If the user is unknown, then search all users but those that we already know
elif email == 'unknown':
query = 'Queue = "general" AND "CF.{IS - Informatica e Sistemas}" LIKE "DIR%" AND ' \
'Status != "deleted" '
for user in config.get_email_to_user().keys():
query += 'AND Owner != "'+user+'" '
query += 'AND Owner != "Nobody"'
# Otherwise, check if user is not known...
elif not config.check_if_email_exist(email):
raise ValueError('Unknown email/user:'+email)
# Ok, if we got here, then the user exist
else:
query += ' AND Status != "deleted" '
# Get the information from the server.
try:
response = get_list_of_tickets(rt_object, query)
except ValueError as e:
response = []
if email == 'dir' or email == 'dir-inbox' or email == 'unknown':
number_tickets_per_status = {email: len(response)}
result = group_result_by(response, 'priority')
for priority in result:
for line in result[priority]:
create_ticket_possible_actions(config, line, email, number_tickets_per_status)
else:
# Get some statistics
response_grouped_by_status = group_result_by(response, 'status')
number_tickets_per_status = {}
for status in response_grouped_by_status:
number_tickets_per_status[status] = len(response_grouped_by_status[status])
result = {}
for status in response_grouped_by_status:
grouped_by_priority = group_result_by(response_grouped_by_status[status], 'priority')
result[status] = grouped_by_priority
for priority in grouped_by_priority:
for line in grouped_by_priority[priority]:
create_ticket_possible_actions(config, line, email, number_tickets_per_status)
# The user limits...
email_limit = config.get_email_limits(email)
return {
'tickets': result,
'number_tickets_per_status': number_tickets_per_status,
'email_limit': email_limit,
}
示例6: search_tickets
# 需要导入模块: from ditic_kanban.config import DITICConfig [as 别名]
# 或者: from ditic_kanban.config.DITICConfig import get_email_limits [as 别名]
def search_tickets(rt_object, search):
"""
Search for tickets that match those criteria.
The search will focus on those fields:
- Requestors.EmailAddress
- Subject
- cf{servico}
- cc
- admincc
- Requestor.Name
- Requestor.RealName
The tickets must be under the following restrictions:
- Belongs to Queue General
- Must have "CF.{IS - Informatica e Sistemas}" equal to DIR or DIR-INBOX
- Must be created or updated on the last 90 days
:param rt_object: RTApi object
:param search: the search criteria
:return:
"""
config = DITICConfig()
# Search last 30 days.
previous_date = (date.today() - timedelta(90)).isoformat()
# The search string
query = 'Queue = "General" AND ( "CF.{IS - Informatica e Sistemas}" = "DIR" ' \
'OR "CF.{IS - Informatica e Sistemas}" = "DIR-INBOX" ) AND ' \
'( Lastupdated > "'+previous_date+'" OR Created > "'+previous_date+'") ' \
'AND ( Requestor.EmailAddress LIKE "%'+search+'%" '
for query_items in ['Subject', 'cf.{servico}', 'cc', 'admincc', 'Requestor.Name', 'Requestor.RealName']:
query += ' OR %s LIKE "%%%s%%" ' % (query_items, search)
query += ')'
# Get the information from the server.
try:
response = get_list_of_tickets(rt_object, query)
except NameError as e:
raise ValueError('Error: '+str(e))
except ValueError:
return {
'no_result': True,
'number_tickets': 'No results...',
'tickets': {},
}
number_tickets = len(response)
for line in response:
try:
auxiliary_date = strptime(line['lastupdated'])
auxiliary_date = '%02d/%02d' % (auxiliary_date.tm_mon, auxiliary_date.tm_mday)
except ValueError:
auxiliary_date = 0
line['auxiliary_date'] = auxiliary_date
result = group_result_by(response, 'auxiliary_date')
email_limit = config.get_email_limits(search)
return {
'no_result': False,
'tickets': result,
'number_tickets': number_tickets,
'email_limit': email_limit,
}