Skip to content

Commit

Permalink
Merge pull request #65 from Galvant/py3_support_work
Browse files Browse the repository at this point in the history
Py3 support work
  • Loading branch information
scasagrande committed Jan 27, 2016
2 parents b5a6468 + 415f1fc commit 928874c
Show file tree
Hide file tree
Showing 93 changed files with 419 additions and 290 deletions.
2 changes: 2 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,10 @@ install:
- pip install python-coveralls
- pip install coverage
- pip install nose
- pip install pylint
# command to run tests
script:
- nosetests --with-coverage -w instruments
- cd instruments && pylint --py3k instruments/
after_success:
- coveralls
File renamed without changes.
4 changes: 3 additions & 1 deletion instruments/instruments/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
##

from __future__ import absolute_import

## VERSION METADATA ###########################################################
# In keeping with PEP-396, we define a version number of the form
# {major}.{minor}[.{postrelease}]{prerelease-tag}
Expand All @@ -40,7 +42,7 @@ def __check_versions():
'flufl.enum': StrictVersion('4.0')
}

for module_name, version in VERSIONS_NEEDED.iteritems():
for module_name, version in VERSIONS_NEEDED.items():
module = __import__(module_name, fromlist=['__version__'])
if StrictVersion(module.__version__) < version:
raise ImportError("Module {} is version {}, but we need version {}.".format(module_name, module.__version__, version))
Expand Down
5 changes: 5 additions & 0 deletions instruments/instruments/abstract_instruments/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-

from __future__ import absolute_import

from instruments.abstract_instruments.instrument import Instrument
from instruments.abstract_instruments.multimeter import Multimeter
from instruments.abstract_instruments.electrometer import Electrometer
Expand Down
5 changes: 5 additions & 0 deletions instruments/instruments/abstract_instruments/comm/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-

from __future__ import absolute_import

from instruments.abstract_instruments.comm.abstract_comm import AbstractCommunicator

from instruments.abstract_instruments.comm.socket_communicator import SocketCommunicator
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,19 +22,18 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
##

## FEATURES ###################################################################
## IMPORTS ####################################################################

from __future__ import absolute_import
from __future__ import division

## IMPORTS ####################################################################
from future.utils import with_metaclass

import abc
import logging

## CLASSES ####################################################################

class AbstractCommunicator(object):
__metaclass__ = abc.ABCMeta
class AbstractCommunicator(with_metaclass(abc.ABCMeta, object)):

## INITIALIZER ##

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@

## IMPORTS #####################################################################

from __future__ import absolute_import
from __future__ import division

import errno
import io
import time
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@

## IMPORTS #####################################################################

from __future__ import absolute_import
from __future__ import division
from builtins import chr

import io
import time

Expand Down Expand Up @@ -165,7 +169,7 @@ def eos(self, newval):
self._eos = newval
elif self._version >= 5:
if isinstance(newval, int):
newval = str(unichr(newval))
newval = str(chr(newval))
if newval == "\r\n":
self._eos = newval
newval = 0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,11 @@

# IMPORTS #####################################################################

from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
from builtins import input

import io
from instruments.abstract_instruments.comm import AbstractCommunicator
import sys
Expand Down Expand Up @@ -110,14 +115,14 @@ def read(self, size=-1):
else:
raise ValueError('Must read a positive value of characters.')
else:
input_var = raw_input("Desired Response: ")
input_var = input("Desired Response: ")
return input_var

def write(self, msg):
if self._stdout is not None:
self._stdout.write(msg)
else:
print " <- {} ".format(repr(msg))
print(" <- {} ".format(repr(msg)))

def seek(self, offset):
return NotImplemented
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@

## IMPORTS #####################################################################

from __future__ import absolute_import
from __future__ import division

import io
import serial

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@

## IMPORTS #####################################################################

from __future__ import absolute_import
from __future__ import division

import serial

from instruments.abstract_instruments.comm import SerialCommunicator
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@

## IMPORTS #####################################################################

from __future__ import absolute_import
from __future__ import division

import io
import socket

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@

## IMPORTS #####################################################################

from __future__ import absolute_import
from __future__ import division

import io

import numpy as np
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@

## IMPORTS #####################################################################

from __future__ import absolute_import
from __future__ import division

import io

from instruments.abstract_instruments.comm.abstract_comm import AbstractCommunicator
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@

## IMPORTS #####################################################################

from __future__ import absolute_import
from __future__ import division

import io

# Trick to conditionally ignore the NameError caused by catching WindowsError.
Expand Down
9 changes: 4 additions & 5 deletions instruments/instruments/abstract_instruments/electrometer.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,20 +23,19 @@
##
##

## FEATURES ####################################################################
## IMPORTS #####################################################################

from __future__ import absolute_import
from __future__ import division

## IMPORTS #####################################################################
from future.utils import with_metaclass

import abc

from instruments.abstract_instruments import Instrument

## CLASSES #####################################################################

class Electrometer(Instrument):
__metaclass__ = abc.ABCMeta
class Electrometer(with_metaclass(abc.ABCMeta, Instrument)):

## PROPERTIES ##

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,11 @@
##
##

## FEATURES ####################################################################
## IMPORTS #####################################################################

from __future__ import absolute_import
from __future__ import division

## IMPORTS #####################################################################
from future.utils import with_metaclass

import abc

Expand All @@ -41,8 +41,7 @@

## CLASSES #####################################################################

class FunctionGenerator(Instrument):
__metaclass__ = abc.ABCMeta
class FunctionGenerator(with_metaclass(abc.ABCMeta, Instrument)):

## ENUMS ##

Expand Down
3 changes: 3 additions & 0 deletions instruments/instruments/abstract_instruments/instrument.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@

# IMPORTS #####################################################################

from __future__ import absolute_import
from __future__ import division

import socket
import urlparse

Expand Down
9 changes: 4 additions & 5 deletions instruments/instruments/abstract_instruments/multimeter.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,20 +23,19 @@
##
##

## FEATURES ####################################################################
## IMPORTS #####################################################################

from __future__ import absolute_import
from __future__ import division

## IMPORTS #####################################################################
from future.utils import with_metaclass

import abc

from instruments.abstract_instruments import Instrument

## CLASSES #####################################################################

class Multimeter(Instrument):
__metaclass__ = abc.ABCMeta
class Multimeter(with_metaclass(abc.ABCMeta, Instrument)):

## PROPERTIES ##

Expand Down
15 changes: 6 additions & 9 deletions instruments/instruments/abstract_instruments/oscilloscope.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,20 +23,19 @@
##
##

## FEATURES ####################################################################
## IMPORTS #####################################################################

from __future__ import absolute_import
from __future__ import division

## IMPORTS #####################################################################
from future.utils import with_metaclass

import abc

from instruments.abstract_instruments import Instrument

## CLASSES #####################################################################

class OscilloscopeDataSource(object):
__metaclass__ = abc.ABCMeta
class OscilloscopeDataSource(with_metaclass(abc.ABCMeta, object)):

## PROPERTIES ##

Expand All @@ -50,8 +49,7 @@ def name(self):
def read_waveform(self, bin_format=True):
raise NotImplementedError

class OscilloscopeChannel(object):
__metaclass__ = abc.ABCMeta
class OscilloscopeChannel(with_metaclass(abc.ABCMeta, object)):

## PROPERTIES ##

Expand All @@ -68,8 +66,7 @@ def setcoupling(self, newval):
coupling = abc.abstractproperty(getcoupling, setcoupling)


class Oscilloscope(Instrument):
__metaclass__ = abc.ABCMeta
class Oscilloscope(with_metaclass(abc.ABCMeta, Instrument)):

## PROPERTIES ##

Expand Down
12 changes: 5 additions & 7 deletions instruments/instruments/abstract_instruments/power_supply.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,20 +22,19 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
##

## FEATURES ####################################################################
## IMPORTS #####################################################################

from __future__ import absolute_import
from __future__ import division

## IMPORTS #####################################################################
from future.utils import with_metaclass

import abc

from instruments.abstract_instruments import Instrument

## CLASSES #####################################################################

class PowerSupplyChannel(object):
__metaclass__ = abc.ABCMeta
class PowerSupplyChannel(with_metaclass(abc.ABCMeta, object)):

## PROPERTIES ##

Expand Down Expand Up @@ -76,8 +75,7 @@ def setoutput(self, newval):
output = abc.abstractproperty(getoutput, setoutput)


class PowerSupply(Instrument):
__metaclass__ = abc.ABCMeta
class PowerSupply(with_metaclass(abc.ABCMeta, Instrument)):

## PROPERTIES ##

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-

from __future__ import absolute_import

from instruments.abstract_instruments.signal_generator.signal_generator import SignalGenerator
from instruments.abstract_instruments.signal_generator.single_channel_sg import SingleChannelSG
from instruments.abstract_instruments.signal_generator.channel import SGChannel
Original file line number Diff line number Diff line change
Expand Up @@ -22,27 +22,24 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
##

## FEATURES ####################################################################
## IMPORTS #####################################################################

from __future__ import absolute_import
from __future__ import division

## IMPORTS #####################################################################
from future.utils import with_metaclass

import abc

from instruments.abstract_instruments import Instrument

## CLASSES #####################################################################

class SGChannel(object):
class SGChannel(with_metaclass(abc.ABCMeta, object)):
"""
Python abstract base class representing a single channel for a signal
generator.
.. warning:: This class should NOT be manually created by the user. It is
designed to be initialized by the `~instruments.SignalGenerator` class.
"""
__metaclass__ = abc.ABCMeta

## PROPERTIES ##

Expand Down

0 comments on commit 928874c

Please sign in to comment.