Moved Custom Server Scripts to custom_scripts/doctype_name.py
This commit is contained in:
		
							parent
							
								
									56bc5c0ea6
								
							
						
					
					
						commit
						6bc48070a1
					
				
							
								
								
									
										35
									
								
								patches/october_2013/p05_server_custom_script_to_file.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								patches/october_2013/p05_server_custom_script_to_file.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,35 @@ | ||||
| # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. | ||||
| # License: GNU General Public License v3. See license.txt | ||||
| 
 | ||||
| from __future__ import unicode_literals | ||||
| import webnotes | ||||
| 
 | ||||
| def execute(): | ||||
| 	""" | ||||
| 		Assuming that some kind of indentation exists: | ||||
| 		- Find indentation of server custom script | ||||
| 		- replace indentation with tabs | ||||
| 		- Add line: | ||||
| 			class CustomDocType(DocType): | ||||
| 		- Add tab indented code after this line | ||||
| 		- Write to file | ||||
| 		- Delete custom script record | ||||
| 	""" | ||||
| 	from core.doctype.custom_script.custom_script import make_custom_server_script_file | ||||
| 	for name, dt, script in webnotes.conn.sql("""select name, dt, script from `tabCustom Script` | ||||
| 		where script_type='Server'"""): | ||||
| 			if script.strip(): | ||||
| 				script = indent_using_tabs(script) | ||||
| 				make_custom_server_script_file(dt, script) | ||||
| 				webnotes.delete_doc("Custom Script", name) | ||||
| 			 | ||||
| def indent_using_tabs(script): | ||||
| 	for line in script.split("\n"): | ||||
| 		try: | ||||
| 			indentation_used = line[:line.index("def ")] | ||||
| 			script = script.replace(indentation_used, "\t") | ||||
| 			break | ||||
| 		except ValueError: | ||||
| 			pass | ||||
| 	 | ||||
| 	return script | ||||
| @ -225,4 +225,5 @@ patch_list = [ | ||||
| 	"patches.october_2013.p03_crm_update_status", | ||||
| 	"execute:webnotes.delete_doc('DocType', 'Setup Control')", | ||||
| 	"patches.october_2013.p04_wsgi_migration", | ||||
| 	"patches.october_2013.p05_server_custom_script_to_file", | ||||
| ] | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user