Skip to content

Commit 7e969ab

Browse files
authored
add edit_script arg to install*Models()
1 parent 26c90f5 commit 7e969ab

File tree

2 files changed

+24
-18
lines changed

2 files changed

+24
-18
lines changed

Funz/install.py

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,11 @@ def availableModels(refresh_repo = False):
6060

6161
import zipfile
6262
from .inst.Funz import Funz
63-
def install_fileModel(model_zip, force=False):
63+
def install_fileModel(model_zip, force=False, edit_script=False):
6464
""" Install Funz model plugin from local zip file.
6565
@param model_zip zip file of plugin. Usually plugin-XYZ.zip
6666
@param force if already installed, reinstall.
67+
@param edit_script open installed script for customization.
6768
@param ... optional parameters to pass to unzip()
6869
@export
6970
"""
@@ -88,12 +89,13 @@ def install_fileModel(model_zip, force=False):
8889
print("Installed Funz model "+model)
8990

9091
# .. in the end, configure model script
91-
setupModel(model=model)
92+
setupModel(model=model, edit_script=edit_script)
9293

9394
import xml.etree.ElementTree as ElementTree
94-
def setupModel(model):
95+
def setupModel(model, edit_script=False):
9596
""" Configure model calculation entry point
9697
@param model Name of model corresponding to given script
98+
@param edit_script open installed script for customization.
9799
@export
98100
"""
99101
# Setup script file
@@ -113,16 +115,18 @@ def setupModel(model):
113115
except:
114116
pass
115117
os.chmod(script,int(0o644))
116-
print("The script used to launch "+model+" is now opened in the editor.")
117-
if sys.platform.startswith("win"):
118-
os.system("start "+'"'+script+'"')
119-
elif sys.platform.startswith("dar"):
120-
subprocess.call(["open", '"'+script+'"'])
121-
else:
122-
if not os.getenv('EDITOR') is None:
123-
os.system('%s %s' % (os.getenv('EDITOR'), '"'+script+'"'))
118+
119+
if edit_script:
120+
print("The script used to launch "+model+" is now opened in the editor.")
121+
if sys.platform.startswith("win"):
122+
os.system("start "+'"'+script+'"')
123+
elif sys.platform.startswith("dar"):
124+
subprocess.call(["open", '"'+script+'"'])
124125
else:
125-
subprocess.call(["xdg-open", '"'+script+'"'])
126+
if not os.getenv('EDITOR') is None:
127+
os.system('%s %s' % (os.getenv('EDITOR'), '"'+script+'"'))
128+
else:
129+
subprocess.call(["xdg-open", '"'+script+'"'])
126130
os.chmod(script,int(0o755))
127131

128132
# Update calculator_xml
@@ -157,10 +161,11 @@ def setupModel(model):
157161
print("Funz model "+model+" already setup.")
158162

159163
import tempfile, pkg_resources
160-
def install_githubModel(model,force=False):
164+
def install_githubModel(model,force=False, edit_script=False):
161165
""" Install Funz model plugin from central GitHub repository.
162166
@param model model to install.
163167
@param force if already installed, reinstall.
168+
@param edit_script open installed script for customization.
164169
@export
165170
@examples
166171
\dontrun{
@@ -179,23 +184,24 @@ def install_githubModel(model,force=False):
179184

180185
if not z.ok: raise Exception("Could not download model "+model)
181186

182-
install_fileModel(model_zip=model_zip, force=force)
187+
install_fileModel(model_zip=model_zip, force=force, edit_script=edit_script)
183188

184-
def installModel(model,force=False):
189+
def installModel(model, force=False, edit_script=False):
185190
""" Install Funz model from local file or GitHub central repository
186191
@param model model to install.
187192
@param force if already installed, reinstall.
193+
@param edit_script open installed script for customization.
188194
@export
189195
@examples
190196
\dontrun{
191197
installModel('Modelica')
192198
}
193199
"""
194200
if os.path.isfile(model):
195-
install_fileModel(model_zip=model, force=force)
201+
install_fileModel(model_zip=model, force=force, edit_script=edit_script)
196202
else:
197203
if model in availableModels():
198-
install_githubModel(model, force=force)
204+
install_githubModel(model, force=force, edit_script=edit_script)
199205
else:
200206
raise Exception("Model "+model+" is not available.")
201207

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
setuptools.setup(
44
name='Funz',
5-
version='1.15-5',
5+
version='1.15-6',
66
scripts=['Funz/client.py','Funz/calculator.py','Funz/install.py','Funz/inst/Funz/Funz.py'] ,
77
author="Yann Richet",
88
author_email="[email protected]",

0 commit comments

Comments
 (0)