Skip to content

Commit 9379791

Browse files
committed
Merge branch '36_py39_support'
2 parents 7526198 + 5c93e48 commit 9379791

File tree

4 files changed

+28
-18
lines changed

4 files changed

+28
-18
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,5 @@
33
.DS_Store
44
*.sublime-project
55
*.sublime-workspace
6+
.idea/
7+
*.iml

MayaSublime.py

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
# ST2/ST3 compat
22
from __future__ import print_function
33

4-
import os
54
import re
65
import sys
76
import time
87
import uuid
9-
import errno
108
import socket
11-
import os.path
129
import textwrap
1310
import threading
1411
import traceback
@@ -92,11 +89,9 @@ def run(self, edit):
9289
print('No Maya-Recognized Language Found')
9390
return
9491

95-
isPython = (lang=='python')
96-
9792
# Apparently ST3 doesn't always sync up its latest
9893
# plugin settings?
99-
if _settings['host'] is None:
94+
if not _settings['host']:
10095
sync_settings()
10196

10297
# Check the current selection size to determine
@@ -183,7 +178,7 @@ def _send_to_maya(cmd, lang='python', wrap=True, quiet=False):
183178
"""
184179
Send stringified Python code to Maya, to be executed.
185180
"""
186-
if _settings['host'] is None:
181+
if not _settings['host']:
187182
sync_settings()
188183

189184
host = _settings['host']
@@ -250,14 +245,14 @@ def sync_settings():
250245
def _sync_settings():
251246
so = settings_obj()
252247

253-
_settings['host'] = so.get('maya_hostname')
254-
_settings['py_port'] = so.get('python_command_port')
255-
_settings['mel_port'] = so.get('mel_command_port')
256-
_settings['strip_comments'] = so.get('strip_sending_comments')
257-
_settings['no_collisions'] = so.get('no_collisions')
258-
_settings['maya_output'] = so.get('receive_maya_output')
259-
_settings['undo'] = so.get('create_undo')
260-
248+
_settings['host'] = so.get('maya_hostname', _settings['host'])
249+
_settings['py_port'] = so.get('python_command_port', _settings['py_port'])
250+
_settings['mel_port'] = so.get('mel_command_port', _settings['mel_port'] )
251+
_settings['strip_comments'] = so.get('strip_sending_comments', _settings['strip_comments'])
252+
_settings['no_collisions'] = so.get('no_collisions', _settings['no_collisions'])
253+
_settings['maya_output'] = so.get('receive_maya_output', _settings['maya_output'])
254+
_settings['undo'] = so.get('create_undo', _settings['undo'] )
255+
261256
MayaReader._st2_remove_reader()
262257

263258
if _settings['maya_output'] is not None:
@@ -287,9 +282,17 @@ def _sync_settings():
287282
288283
if {ns}:
289284
namespace['__file__'] = {fp!r}
290-
{xtype}({cmd!r}, namespace, namespace)
291285
else:
292-
{xtype}({cmd!r}, __main__.__dict__, __main__.__dict__)
286+
namespace = __main__.__dict__
287+
288+
if {xtype!r} == "exec":
289+
exec({cmd!r}, namespace, namespace)
290+
291+
else:
292+
with open({fp!r}) as _fp:
293+
_code = compile(_fp.read(), {fp!r}, 'exec')
294+
exec(_code, namespace, namespace)
295+
293296
except:
294297
traceback.print_exc()
295298
finally:

messages.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,6 @@
88
"3.0.1": "messages/3.0.1.md",
99
"3.0.2": "messages/3.0.2.md",
1010
"3.0.3": "messages/3.0.3.md",
11-
"3.0.4": "messages/3.0.4.md"
11+
"3.0.4": "messages/3.0.4.md",
12+
"3.1.0": "messages/3.1.0.md"
1213
}

messages/3.1.0.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
MayaSublime 3.1.0 change log:
2+
3+
- [#36]: Update to support python >= 3.7 (refactor lack of `execfile`)
4+
- Improve settings sync and handling of default values

0 commit comments

Comments
 (0)