-
Notifications
You must be signed in to change notification settings - Fork 0
/
install.py
78 lines (61 loc) · 1.86 KB
/
install.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
Note: This is only for drag and drop installation to viewport on top shelf or using import method
Python command:
from IBK import install
If above code doesn't works. Please delete prsfxTools shelf if any.
Then use Pythoncommand:
from IBK import install
reload(install)
"""
import os
import sys
import platform
import getpass
try:
import maya.mel as mel
import maya.cmds as cmds
isMaya = True
except ImportError:
isMaya = False
Ver = int(cmds.about(api=True))
CheckOS = platform.system()
CheckUser = getpass.getuser()
CheckPyVer = sys.version
def MayaApiVersion():
return int(cmds.about(api=True))
def onMayaDroppedPythonFile(*args, **kwargs):
pass
def onMayaDropped():
if MayaApiVersion() <= 20200500:
SourcePath = os.path.dirname(__file__)
IconPath = SourcePath + "/icons/ibk_icon.png"
#SourcePath = os.path.normpath(SourcePath)
#IconPath = os.path.normpath(IconPath)
if not os.path.exists(IconPath):
raise IOError("Can't find " + IconPath)
for path in sys.path:
if os.path.exists(path):
print("IBK already installed at: " + SourcePath)
pass
command = """
from IBK import ibk
reload(ibk)
ibk.main()
""".format(path=SourcePath)
shelf = mel.eval('$gShelfTopLevel=$gShelfTopLevel')
parent = cmds.tabLayout(shelf, query=True, selectTab=True)
cmds.shelfButton(
command = command,
iol = "I.B.K.",
annotation = "In-Between Key",
sourceType = "Python",
image = IconPath,
image1 = IconPath,
parent = parent
)
else:
print("Is it ready for python3?")
if isMaya:
onMayaDropped()