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