Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
187 changes: 65 additions & 122 deletions python/MDSplus/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,133 +26,76 @@
import sys
import os

if 'pip-egg-info' in sys.argv:
print("When using pip to install MDSplus use 'pip install -e <dir>'")
sys.exit(1)

try:
version = ()
mod_dir = os.path.dirname(os.path.abspath(__file__))
with open(os.path.join(mod_dir, '_version.py')) as f:
exec(f.read())
release = "%d.%d.%d" % version
except Exception:
release = '0.0.0'
release_tag = 'Unknown'

pth_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
setupkw = {
'name': 'MDSplus',
'extra_path': ('mdsplus', pth_dir),
'version': release,
'description': 'MDSplus Python Objectsi - '+release_tag,
'long_description': """
This module provides all of the functionality of MDSplus TDI natively in python.
All of the MDSplus data types such as signal are represented as python classes.
""",
'author': 'MDSplus Development Team',
'author_email': 'twf@www.mdsplus.org',
'url': 'http://www.mdsplus.org/',
'license': 'MIT',
'classifiers': [
'Programming Language :: Python',
'Intended Audience :: Science/Research',
'Environment :: Console',
'Topic :: Scientific/Engineering',
],
'keywords': ['physics', 'mdsplus', ],
}


def remove():
import shutil
"Remove installed MDSplus package"
oldpath = list(sys.path)
def setupkw():
try:
pypath = os.getenv("PYTHONPATH", "")
for p in pypath.split(";"):
if len(p) > 0 and p in sys.path:
sys.path.remove(p)
if "" in sys.path:
sys.path.remove("")
try:
import MDSplus
except ImportError:
print("Error removing MDSplus: package not found")
return False
_f = MDSplus.__file__.split(os.sep)
while len(_f) > 1 and _f[-1] != 'MDSplus':
_f = _f[:-1]
if len(_f) <= 1 and _f[-2].endswith('.egg'):
_f = _f[:-1]
if len(_f) == 0:
print("Error removing MDSplus: invalid package path\n '%s'" %
(MDSplus.__file__,))
return False
packagedir = os.sep.join(_f)
sys.stdout.write("Removing '%s' ..." % packagedir)
try:
if os.path.islink(packagedir):
os.remove(packagedir)
else:
shutil.rmtree(packagedir)
_f[-1] = "mdsplus-*.egg-info"
import glob
egginfos = glob.glob(os.sep.join(_f))
for egginfo in egginfos:
if os.path.isdir(egginfo):
shutil.rmtree(egginfo)
except Exception as exc:
print(" error: %s" % (exc,))
return False
else:
print(" ok")
return True
finally:
sys.path = oldpath
version = ()
mod_dir = os.path.dirname(os.path.abspath(__file__))
with open(os.path.join(mod_dir, '_version.py')) as f:
exec(f.read())
release = "%d.%d.%d" % version
except Exception:
release = '0.0.0'
release_tag = 'Unknown'
pth_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
return dict(
name='MDSplus',
extra_path=('mdsplus', pth_dir),
version=release,
description='MDSplus Python Objects - '+release_tag,
long_description=(
"This module provides all of the functionality of MDSplus TDI natively in python.\n"
"All of the MDSplus data types such as signal are represented as python classes.\n"
),
author='MDSplus Development Team',
author_email='twf@www.mdsplus.org',
url='http://www.mdsplus.org/',
license='MIT',
classifiers=[
'Programming Language :: Python',
'Intended Audience :: Science/Research',
'Environment :: Console',
'Topic :: Scientific/Engineering',
],
keywords=['physics', 'mdsplus', ],
)


def use_distutils():
from distutils.core import setup
from distutils.cmd import Command

class TestCommand(Command):
user_options = []

def initialize_options(self):
"""nothing to do."""

def finalize_options(self):
"""nothing to do."""

def run(self):
import subprocess
raise SystemExit(
subprocess.call([sys.executable, '-m', 'tests.__init__']))

setup(cmdclass={'test': TestCommand}, **setupkw())


def use_setuptools():
from setuptools import setup
setup(
include_package_data=True,
test_suite='tests.test_all',
zip_safe=False,
**setupkw()
)


if __name__ == '__main__':
def use_distutils():
from distutils.core import setup
from distutils.cmd import Command

class TestCommand(Command):
user_options = []

def initialize_options(self):
"""nothing to do."""

def finalize_options(self):
"""nothing to do."""

def run(self):
import sys
import subprocess
raise SystemExit(
subprocess.call([sys.executable, '-m', 'tests.__init__']))

class RemoveCommand(Command):
user_options = []

def initialize_options(self):
"""nothing to do."""

def finalize_options(self):
"""nothing to do."""

def run(self):
remove()
setup(cmdclass={'test': TestCommand, 'remove': RemoveCommand})

def use_setuptools():
from setuptools import setup
setup(
include_package_data=True,
test_suite='tests.test_all',
zip_safe=False,
)

if 'pip-egg-info' in sys.argv:
print("When using pip to install MDSplus use 'pip install -e <dir>'")
sys.exit(1)
try:
use_setuptools()
except ImportError:
Expand Down