all the project copy
This commit is contained in:
104
telepot/ticketToday.py
Normal file
104
telepot/ticketToday.py
Normal file
@@ -0,0 +1,104 @@
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
ROOT_DIR = Path(__file__).resolve().parents[1]
|
||||
for path in (ROOT_DIR / "api", ROOT_DIR / "conn"):
|
||||
if str(path) not in sys.path:
|
||||
sys.path.insert(0, str(path))
|
||||
|
||||
import phrase_similarity
|
||||
import detailTicket
|
||||
import filters
|
||||
import tickets
|
||||
import mysql5
|
||||
|
||||
|
||||
HIGH_GRAVITY_WORDS = ("alta", "urgente", "critica", "critico", "bloccante", "grave", "high")
|
||||
|
||||
|
||||
def _is_high_gravity(value):
|
||||
text = str(value or "").strip().lower()
|
||||
return any(word in text for word in HIGH_GRAVITY_WORDS)
|
||||
|
||||
|
||||
|
||||
def getTicketToday(teleId):
|
||||
|
||||
listOfStrings = []
|
||||
listFilters = filters.getFilters(teleId)
|
||||
ticketAsString = ""
|
||||
for j in listFilters:
|
||||
|
||||
docList = mysql5.getTicket(j[2], j[3])
|
||||
ticketAsString = ""
|
||||
for i in docList:
|
||||
ticketAsString += "🎫 /Ticket_dettaglio_"+ str(i[0]) + "\n" +"🏢 Cliente: "+ str(i[1]) + "\n" +"🔎 Oggetto: "+ str(i[2])+ "\n" +"🎨 Gravita': "+ str(i[3])+ "\n" + "🧑 Competenza': "+ str(i[4])+ "\n" + "📅 Apertura': "+ str(i[6]) + "\n\n"
|
||||
if len(docList):
|
||||
# max char 4096
|
||||
listOfStrings.append(str(ticketAsString))
|
||||
return listOfStrings
|
||||
|
||||
|
||||
|
||||
def getTicketTodayForNotification(teleId, high_gravity_only=False):
|
||||
|
||||
listOfStrings = []
|
||||
listFilters = filters.getFilters(teleId)
|
||||
|
||||
# print("Lista di filtri: ",listFilters)
|
||||
# print("\n\n\n")
|
||||
|
||||
ticketTodayList = mysql5.getTicketsByFilterSet(listFilters)
|
||||
for i in ticketTodayList:
|
||||
if high_gravity_only and not _is_high_gravity(i[3]):
|
||||
continue
|
||||
|
||||
ticket_id = int(i[0])
|
||||
if len(tickets.getTicketForTid(teleId, ticket_id)) > 0:
|
||||
continue
|
||||
|
||||
object_ = str(i[2])
|
||||
if len(object_) > 250:
|
||||
object_ = object_[:250] + "..."
|
||||
ticketAsStringSingle = "🎫 /Ticket_dettaglio_"+ str(i[0]) + "\n https://tsnew.sanmarcoweb.com/it/ticket/index/index/operation/view/id/"+ str(i[0]) + "\n" +"🏢 Cliente: "+ str(i[1]) + "\n" +"🔎 Oggetto: "+ str(object_) + "\n" +"🎨 Gravita': "+ str(i[3])+ "\n" + "🧑 Competenza: "+ str(i[4])+ "\n" + "📦 Prodotto:" + str(i[5])+ "\n" + "💜/preferito_"+ str(i[0]) + "\n\n"
|
||||
for j in listFilters:
|
||||
if len(tickets.getTickets(int(j[0]), ticket_id)) == 0:
|
||||
tickets.insertTicket(int(j[0]), ticket_id)
|
||||
listOfStrings.append(str(ticketAsStringSingle))
|
||||
# print("Lista ticket finale:: ",len(listOfStrings))
|
||||
# print("\n\n\n")
|
||||
return listOfStrings
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
def getDetailTicket(ticketId):
|
||||
downloaded = detailTicket.getDetail(str(ticketId))
|
||||
return downloaded
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# newTicketList = getTicketTodayForNotification(145645559)
|
||||
|
||||
# for ticket in newTicketList:
|
||||
# hole_message = ticket
|
||||
# # print("Messaggio: ", ticket)
|
||||
# # Guessing from other ticket
|
||||
# prefix = "🎫 /Ticket_dettaglio_"
|
||||
# ticket_value = ticket.split(prefix, 1)[-1].split("\n", 1)[0].strip()
|
||||
|
||||
# best_matches_indices = phrase_similarity.start_guessing_new(ticket_value)
|
||||
# for ticket_info in best_matches_indices:
|
||||
# # print("Gesing Ticket: ", str(ticket_info))
|
||||
# hole_message += str(ticket_info)
|
||||
|
||||
# hole_message += "\n\n\n\n"
|
||||
# print(hole_message)
|
||||
Reference in New Issue
Block a user