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", | 	"patches.october_2013.p03_crm_update_status", | ||||||
| 	"execute:webnotes.delete_doc('DocType', 'Setup Control')", | 	"execute:webnotes.delete_doc('DocType', 'Setup Control')", | ||||||
| 	"patches.october_2013.p04_wsgi_migration", | 	"patches.october_2013.p04_wsgi_migration", | ||||||
|  | 	"patches.october_2013.p05_server_custom_script_to_file", | ||||||
| ] | ] | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user