summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcliechti <cliechti@f19166aa-fa4f-0410-85c2-fa1106f25c8a>2008-06-20 23:11:57 +0000
committercliechti <cliechti@f19166aa-fa4f-0410-85c2-fa1106f25c8a>2008-06-20 23:11:57 +0000
commit8e778b1d35f8ee890b787c11d7a648cdbf7ab481 (patch)
tree5431c57e5b0984daa474d8131dcb766359868649
parent7e06301544fc61ede3cdbd91da4821bb7e895808 (diff)
downloadpyserial-git-8e778b1d35f8ee890b787c11d7a648cdbf7ab481.tar.gz
- updated setup script
- improve behavior when opening nonexostend or ports with errors
-rw-r--r--pyparallel/parallel/parallelppdev.py16
-rw-r--r--pyparallel/setup.py38
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
)