@ -15,7 +15,7 @@ sys.tracebacklimit = 0
site_name = cstr ( frappe . local . site )
base_url = os . path . expanduser (
" ~ " ) + " /frappe-bench/sites/ " + site_name + " /public " + " /files " + " /json_files " + " /Other_Module "
" ~ " ) + " /frappe-bench/sites/ " + site_name + " /public " + " /files " + " /json_files " + " /phase2 "
frappe . utils . logger . set_log_level ( " DEBUG " )
success_reponse = { " status " : 1 , " data " : " " , " message " : " " }
@ -54,13 +54,15 @@ class Publish(Document):
self . language , self . publish_type ,
self . release_description , self . variant ,
self . repair_checksheet_publish )
# update_publish_status = frappe.db.sql (
# """update `tabPublish` set publish_status='Published' where name='{0}'""".format(self.name) )
update_publish_status = frappe . db . sql (
""" update `tabPublish` set publish_status= ' Published ' where name= ' {0} ' """ . format ( self . name ) )
if self . docstatus == 1 and self . publish_status == ' To Publish ' and self . publish_module == ' Feature Finder ' and self . publish_type == ' Internal ' and self . feature_finder_publish :
feature_finder_publish ( self . vehicle , self . vehicle_id ,
self . language , self . publish_type ,
self . release_description , self . feature_finder_publish , self . variant )
update_publish_status = frappe . db . sql (
""" update `tabPublish` set publish_status= ' Published ' where name= ' {0} ' """ . format ( self . name ) )
if self . docstatus == 1 and self . publish_module == ' Feature Finder ' and self . publish_type == ' Global ' :
feature_finder_publish ( self . vehicle , self . vehicle_id ,
@ -70,7 +72,7 @@ class Publish(Document):
update_feature_published_docs ( self )
update_publish_status = frappe . db . sql (
""" update `tabPublish` set publish_status= ' Published ' where name= ' {0} ' """ . format ( self . name ) )
if self . docstatus == 1 and self . publish_status == ' To Publish ' and self . publish_module == ' Repair service ' and self . publish_type == ' Global ' :
if self . docstatus == 1 and self . publish_status == ' To Publish ' and self . publish_module == ' Repair service ' and self . publish_type == ' Global ' and self . repair_checksheet_publish :
repair_checksheet_publish ( self . vehicle , self . vehicle_id ,
self . language , self . publish_type ,
self . release_description , self . variant ,
@ -78,6 +80,7 @@ class Publish(Document):
update_repair_published_docs ( self )
update_publish_status = frappe . db . sql (
""" update `tabPublish` set publish_status= ' Published ' where name= ' {0} ' """ . format ( self . name ) )
def onload1 ( self ) :
current_db_name = frappe . conf . get ( " db_name " )
# To validate updated procedure status
@ -244,7 +247,7 @@ def global_publish(doc):
publish_record . vehicle = doc . vehicle
publish_record . vehicle_id = doc . vehicle_id
publish_record . variant_mapping = doc . variant_mapping
publish_record . publish_module = doc . publish_module
publish_record . publish_module = ' Automotive System '
publish_record . variant_mapping_status = doc . variant_mapping_status
publish_record . kilometer_mapping = doc . kilometer_mapping
publish_record . km_active_status = doc . km_active_status
@ -278,17 +281,19 @@ def global_publish(doc):
def generate_global_publish ( name ) :
try :
res = frappe . get_doc ( " Publish " , name )
ret = frappe . get_doc ( {
" doctype " : " Publish " ,
" vehicle " : res . vehicle ,
" publish_type " : " Global " ,
" language " : res . language ,
" publish_status " : " To Publish " ,
" release_description " : res . release_description ,
" publish_module " : res . publish_module ,
" feature_finder_publish " : res . feature_finder_publish ,
" repair_checksheet_publish " : res . repair_checksheet_publish
} )
ret . in sert ( )
ret . sav e ( )
return { " status " : " success " , " message " : ret . name , " url " : frappe . utils . get_url ( ) }
except Exception as e :
frappe . throw ( str ( e ) )
@ -457,6 +462,7 @@ def update_procedure_value(name, file_path):
" Publish " , self . name , " published_by " , str ( name ) )
frappe . db . commit ( )
def update_feature_published_docs ( self ) :
try :
@ -468,6 +474,8 @@ def update_feature_published_docs(self):
except Exception as e :
frappe . throw ( str ( e ) )
def update_repair_published_docs ( self ) :
try :
@ -498,6 +506,7 @@ def create_publish_folders(folder_url):
''' New Module Publish Section '''
@frappe . whitelist ( )
def get_service_repair ( vehicle ,
language_label , publish_type ) :
@ -506,10 +515,12 @@ def get_service_repair(vehicle,
''' , as_dict=1)
return data
@frappe . whitelist ( )
def get_feature_finder ( vehicle , variant , language_label ) :
try :
data = frappe . db . sql ( f """ select * from `tabFeature Finder` where vehicle= ' { vehicle } ' and variant_id= ' { variant } ' and language= ' { language_label } ' and is_published=0 """ , as_dict = 1 )
data = frappe . db . sql (
f """ select * from `tabFeature Finder` where vehicle= ' { vehicle } ' and variant_id= ' { variant } ' and language= ' { language_label } ' and is_published=0 """ , as_dict = 1 )
return data
except Exception as e :
return str ( e )
@ -560,7 +571,8 @@ def repair_checksheet_publish(vehicle, vehicle_id,
repair_checksheet_tmp . append (
repair_checksheet [ ' data ' ] [ 0 ] )
repair_checksheet_tmp = get_latest_data ( { ' data ' : published_data [ ' data ' ] } , { ' data ' : repair_checksheet_tmp } )
repair_checksheet_tmp = get_latest_data ( { ' data ' : published_data [ ' data ' ] } , {
' data ' : repair_checksheet_tmp } )
else :
for i in parent :
@ -573,7 +585,8 @@ def repair_checksheet_publish(vehicle, vehicle_id,
repair_checksheet_tmp . append (
repair_checksheet [ ' data ' ] [ 0 ] )
# frappe.msgprint(str(repair_checksheet['data'][0]))
repair_checksheet_tmp = get_latest_data ( { ' data ' : repair_checksheet_tmp } , { ' data ' : [ ] } )
repair_checksheet_tmp = get_latest_data (
{ ' data ' : repair_checksheet_tmp } , { ' data ' : [ ] } )
if publish_repair_checksheet == 1 :
""" Save publish file """
@ -589,6 +602,7 @@ def repair_checksheet_publish(vehicle, vehicle_id,
f ' { vehicle } - { language } - { publish_type } error in json creation ' + str ( e ) )
frappe . throw ( ' Failed To Publish ' )
def feature_finder_publish ( vehicle = None , vehicle_id = None ,
language = None , publish_type = None ,
release_description = None , parent = None ,
@ -637,7 +651,8 @@ def feature_finder_publish(vehicle=None,vehicle_id=None,
feature_finder_tmp . append (
feature_finder [ ' data ' ] [ 0 ] )
repair_checksheet_tmp = get_latest_data ( { ' data ' : published_data [ ' data ' ] } , { ' data ' : feature_finder_tmp } )
repair_checksheet_tmp = get_latest_data (
{ ' data ' : published_data [ ' data ' ] } , { ' data ' : feature_finder_tmp } )
else :
@ -653,28 +668,26 @@ def feature_finder_publish(vehicle=None,vehicle_id=None,
else :
frappe . throw ( ' failed to publish ' )
feature_finder_tmp = get_latest_data ( { ' data ' : feature_finder_tmp } , { ' data ' : [ ] } )
feature_finder_tmp = get_latest_data (
{ ' data ' : feature_finder_tmp } , { ' data ' : [ ] } )
# if publish_feature_finder == 1:
""" Save publish file """
vehicle_data [ ' data ' ] = feature_finder_tmp
with open ( file_path , ' w ' ) as outfile :
outfile . write ( json . dumps ( vehicle_data , indent = 4 , default = str ) )
logger . info (
f ' Repair Checksheet Data Append Start:: { vehicle } - { language } - { publish_type } ' )
return 1 , file_path
except Exception as e :
logger . info (
f ' { vehicle } - { language } - { publish_type } - { module_name } error in json creation ' + str ( e ) )
frappe . throw ( ' Failed To Publish ' )
def get_key_value_data ( data ) :
module_dic = { }
for d in data [ ' data ' ] :
@ -819,35 +832,37 @@ def feature_finder_data(vehicle=None, language=None,
logger . error ( ' error in repair checksheet ' + str ( e ) )
return failure_reponse
@frappe . whitelist ( )
def max_publish_new_module ( doc ) :
doc = frappe . get_doc ( " Publish " , doc )
ver = frappe . db . sql ( """ select max(creat ion) from {0} .tabPublish where vehicle = " {1} " and language = " {2} " ; """ . format (
ver = frappe . db . sql ( """ select max(vers ion) from {0} .tabPublish where vehicle = " {1} " and language = " {2} " and publish_module!= " Automotive System " ; """ . format (
current_db_name , doc . vehicle , doc . language ) )
if ver :
return ver
# @frappe.whitelist()
# def cal_ver_new_module(vehicle, lang, publish_type, doc):
# current_db_name = frappe.conf.get("db_name")
# doc = frappe.get_doc("Publish", doc)
# ver = frappe.db.sql(f"""select max(creation) from `tabPublish` where vehicle = "{vehicle}" and language = "{lang}";""",as_dict=1)
# v = 0.0
# if publish_type == 'Global':
# if ver[0][0] == None:
# v = 1.0
# else:
# v = int(float(ver[0][0])) + 1.0
@frappe . whitelist ( )
def cal_ver_new_module ( vehicle , lang , publish_type , doc ) :
current_db_name = frappe . conf . get ( " db_name " )
doc = frappe . get_doc ( " Publish " , doc )
ver = frappe . db . sql ( """ select max(version) from `tabPublish` where vehicle = " {vehi} " and language = " {lang} " and publish_module!= " Automotive System " ; """
. format ( vehi = vehicle , lang = lang ) )
v = 0.0
if publish_type == ' Global ' :
if ver [ 0 ] [ 0 ] == None :
v = 1.0
else :
v = int ( float ( ver [ 0 ] [ 0 ] ) ) + 1.0
# elif publish_type == 'Internal' :
# if ver[0][0] == None :
# v = 0.01
# else :
# v = float(ver[0][0]) + 0.01
# v = "{:.2f}".format(v )
# doc.version = v
# frappe.db.sql("""update {0}.`tabPublish` set version = "{1}" where name = "{2}";""".format (
# current_db_name, v, doc.name) )
# frappe.db.commit( )
# return v
elif publish_type == ' Internal ' :
if ver [ 0 ] [ 0 ] == None :
v = 0.01
else :
v = float ( ver [ 0 ] [ 0 ] ) + 0.01
v = " {:.2f} " . format ( v )
doc . version = v
frappe . db . sql ( """ update {0} .`tabPublish` set version = " {1} " where name = " {2} " ; """ . format (
current_db_name , v , doc . name ) )
frappe . db . commit ( )
return v