support options in py3dmol for view with data argument

This commit is contained in:
David Koes
2025-01-23 21:49:46 -05:00
parent 34a0b1d088
commit 4e10aca789
3 changed files with 183 additions and 276 deletions

File diff suppressed because one or more lines are too long

View File

@@ -63,7 +63,7 @@ class view(object):
data -- molecular data to provide to addModel, with viewer grid can be indexed (r,c)
format -- format of provided data
style -- style to apply, with viewer grid can be indexed (r,c)
options -- optional options to provide to $3Dmol.download
options -- optional options to provide to $3Dmol.download or addModel
js -- url for 3Dmol.js'''
divid = "3dmolviewer_UNIQUEID"
warnid = "3dmolwarning_UNIQUEID"
@@ -159,7 +159,7 @@ if(warn) {
f = format[r][c]
except:
f = format
self.startjs += f"viewergrid_UNIQUEID[{r}][{c}].addModel({json.dumps(d)}{','+json.dumps(f) if f else ''});\n"
self.startjs += f"viewergrid_UNIQUEID[{r}][{c}].addModel({json.dumps(d)},{json.dumps(f) if f else 'undefined'},{json.dumps(options) if options else 'undefined'});\n"
if style:
try:
s = style[r][c]
@@ -171,7 +171,7 @@ if(warn) {
else:
cmds = ''
if data:
cmds = f"viewer_UNIQUEID.addModel({json.dumps(data)}{','+json.dumps(format) if format else ''});\n"
cmds = f"viewer_UNIQUEID.addModel({json.dumps(data)},{json.dumps(format) if format else 'undefined'},{json.dumps(options) if options else 'undefined'});\n"
if style:
cmds += "viewer_UNIQUEID.setStyle(%s);\n"%json.dumps(style)
self.startjs += cmds + "viewer_UNIQUEID.zoomTo();\n"

View File

@@ -24,7 +24,7 @@ setup(
# the version across setup.py and the project code, see
# https://packaging.python.org/en/latest/single_source_version.html
# Keep version in synce with 3Dmol.js version. Use "postX" suffix if needed
version='2.4.2',
version='2.4.2post1',
description='An IPython interface for embedding 3Dmol.js views in Jupyter notebooks',
long_description=long_description,