Moved Custom Server Scripts to custom_scripts/doctype_name.py

This commit is contained in:
Anand Doshi 2013-10-14 15:48:57 +05:30
parent 56bc5c0ea6
commit 6bc48070a1
2 changed files with 36 additions and 0 deletions

View 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

View File

@ -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",
] ]