diff options
-rw-r--r-- | pyparallel/parallel/parallelppdev.py | 16 | ||||
-rw-r--r-- | pyparallel/setup.py | 38 |
2 files changed, 46 insertions, 8 deletions
diff --git a/pyparallel/parallel/parallelppdev.py b/pyparallel/parallel/parallelppdev.py index 98e1e84..df9cf2d 100644 --- a/pyparallel/parallel/parallelppdev.py +++ b/pyparallel/parallel/parallelppdev.py @@ -183,15 +183,21 @@ class Parallel: self.device = port else: self.device = "/dev/parport%d" % port + self._fd = None self._fd = os.open(self.device, os.O_RDWR) - #~ self.PPEXCL() - self.PPCLAIM() - self.setDataDir(1) - self.setData(0) + try: + self.PPEXCL() + self.PPCLAIM() + self.setDataDir(1) + self.setData(0) + except IOError: + os.close(self._fd) + self._fd = None + raise def __del__(self): - self.PPRELEASE() if self._fd is not None: + self.PPRELEASE() os.close(self._fd) def timevalToFloat(self, timeval): diff --git a/pyparallel/setup.py b/pyparallel/setup.py index d4c3c4b..937923f 100644 --- a/pyparallel/setup.py +++ b/pyparallel/setup.py @@ -1,13 +1,34 @@ #!/usr/bin/env python -from distutils.core import setup +# setup.py +try: + from setuptools import setup +except ImportError: + print "standart distutils" + from distutils.core import setup +else: + print "setuptools" +import sys + +#windows installer: +# python setup.py bdist_wininst + +# patch distutils if it can't cope with the "classifiers" or +# "download_url" keywords +if sys.version < '2.2.3': + from distutils.dist import DistributionMetadata + DistributionMetadata.classifiers = None + DistributionMetadata.download_url = None import os if os.name == 'nt': + print "# set dependedcies for windows version" data_files = {'parallel': ['simpleio.dll']} else: + print "# no dependedcies" data_files = {} -setup (name = "pyparallel", +setup( + name = "pyparallel", description="Python Parallel Port Extension", version="0.2", author="Chris Liechti", @@ -16,5 +37,16 @@ setup (name = "pyparallel", packages=['parallel'], license="Python", long_description="Python Parallel Port Extension for Win32, Linux, BSD", - package_data = {} + classifiers = [ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', + 'License :: OSI Approved :: Python Software Foundation License', + 'Natural Language :: English', + 'Operating System :: POSIX', + 'Operating System :: Microsoft :: Windows', + 'Programming Language :: Python', + 'Topic :: Communications', + 'Topic :: Software Development :: Libraries', + ], + package_data = data_files ) |