from Log_View import Log_View, Log_Handler
import schema
import logging
class App_State :
user_id = None
imos_done_dir = "IMOS-Done"
imos_order_dir = "ImOrder"
sim_batches = "Batches"
pgiq_dir = "OrderXML"
L = logging.getLogger ()
Action_Kind = \
{ 1 : "Create Order"
, 2 : "Update Order"
, 10 : "Change owner"
, 15 : "Force order state"
, 20 : "IMOS CAD started"
, 25 : "IMOS CAD closed"
, 30 : "CNC generation started"
, 35 : "CNC generation finished"
, 40 : "Odoo Freigabe"
, 100 : "Article created"
, 110 : "Order Line created"
, 111 : "Order Line updated"
}
@classmethod
def Create_Action (cls, kind, text, order = None) :
if kind not in cls. Action_Kind :
raise ValueError (f"Unknow action kind {kind}")
schema.Action \
( user = cls.user_id
, date = schema.datetime.now ()
, action_kind = kind
, action = text
, order = order
)
# end def create_action
@classmethod
def Log_View (cls, level = logging.INFO, parent = None) :
cls.L.info ("Log window created")
cls._log_view = Log_View (parent)
lh = Log_Handler (cls._log_view)
#lh.setFormatter \
# ( logging.Formatter
# ('%(asctime)s '
# '%(levelname)s - %(message)s'
# , datefmt = "%Y-%m-%d %H:%M:%S"
# )
# )
lh.setLevel (level)
lh.setFormatter \
( logging.Formatter
( "%(asctime)s - %(message)s"
, datefmt = "%Y-%m-%d %H:%M:%S"
)
)
cls.L.addHandler (lh)
return cls._log_view
# end def Log_View
# end class App_State