Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 
 
 
 
 

42 Zeilen
1.2 KiB

  1. # patch manager
  2. def run(log_exception=1):
  3. import webnotes
  4. from patches import patch
  5. from webnotes.utils import cint
  6. if webnotes.conn.cur_db_name=='accounts':
  7. # no patches on accounts
  8. return
  9. next_patch = cint(webnotes.conn.get_global('next_patch'))
  10. if next_patch <= patch.last_patch:
  11. for i in range(next_patch, patch.last_patch+1):
  12. webnotes.conn.begin()
  13. if log_exception:
  14. try:
  15. patch.execute(i)
  16. except Exception, e:
  17. write_log()
  18. return
  19. else:
  20. patch.execute(i)
  21. webnotes.conn.set_global('next_patch', str(i+1))
  22. webnotes.conn.commit()
  23. def write_log():
  24. import os
  25. import webnotes.defs
  26. import webnotes
  27. patch_log = open(os.path.join(webnotes.defs.modules_path, 'patches', 'patch.log'), 'a')
  28. patch_log.write(('\n\nError in %s:\n' % webnotes.conn.cur_db_name) + webnotes.getTraceback())
  29. patch_log.close()
  30. from webnotes.utils import sendmail
  31. subj = 'Error in running patches in %s' % webnotes.conn.cur_db_name
  32. msg = subj + '<br><br>Login User: ' + webnotes.user.name + '<br><br>' + webnotes.getTraceback()
  33. sendmail(['developer@erpnext.com'], sender='automail@erpnext.com', subject= subj, parts=[['text/plain', msg]])