Skip to content

Commit 7caad55

Browse files
authored
Merge pull request #308 from gordio/master
Fix getValue function description (also some PEP8 fixes)
2 parents b6260c3 + adea5fc commit 7caad55

File tree

6 files changed

+59
-51
lines changed

6 files changed

+59
-51
lines changed

examples/contrib/remote_server_context.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ def validate(self, fx, address, count=1):
7373
return not result.isError()
7474

7575
def getValues(self, fx, address, count=1):
76-
""" Validates the request to make sure it is in range
76+
""" Get `count` values from datastore
7777
7878
:param fx: The function we are working with
7979
:param address: The starting address
@@ -118,7 +118,8 @@ def __extract_result(self, fx, result):
118118
return result.bits
119119
if fx in ['h', 'i']:
120120
return result.registers
121-
else: return result
121+
else:
122+
return result
122123

123124
# -------------------------------------------------------------------------- #
124125
# Server Context
@@ -152,7 +153,7 @@ def __init__(self, client):
152153
'i': lambda a, v, s: client.write_registers(a, v, s),
153154
}
154155
self._client = client
155-
self.slaves = {} # simply a cache
156+
self.slaves = {} # simply a cache
156157

157158
def __str__(self):
158159
""" Returns a string representation of the context
@@ -187,14 +188,14 @@ def __setitem__(self, slave, context):
187188
:param slave: The slave context to set
188189
:param context: The new context to set for this slave
189190
"""
190-
raise NotImplementedException() # doesn't make sense here
191+
raise NotImplementedException() # doesn't make sense here
191192

192193
def __delitem__(self, slave):
193194
""" Wrapper used to access the slave context
194195
195196
:param slave: The slave context to remove
196197
"""
197-
raise NotImplementedException() # doesn't make sense here
198+
raise NotImplementedException() # doesn't make sense here
198199

199200
def __getitem__(self, slave):
200201
""" Used to get access to a slave context

pymodbus/datastore/context.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ def __init__(self, *args, **kwargs):
3636
self.store['c'] = kwargs.get('co', ModbusSequentialDataBlock.create())
3737
self.store['i'] = kwargs.get('ir', ModbusSequentialDataBlock.create())
3838
self.store['h'] = kwargs.get('hr', ModbusSequentialDataBlock.create())
39-
self.zero_mode = kwargs.get('zero_mode', Defaults.ZeroMode)
39+
self.zero_mode = kwargs.get('zero_mode', Defaults.ZeroMode)
4040

4141
def __str__(self):
4242
''' Returns a string representation of the context
@@ -58,19 +58,21 @@ def validate(self, fx, address, count=1):
5858
:param count: The number of values to test
5959
:returns: True if the request in within range, False otherwise
6060
'''
61-
if not self.zero_mode: address = address + 1
61+
if not self.zero_mode:
62+
address = address + 1
6263
_logger.debug("validate[%d] %d:%d" % (fx, address, count))
6364
return self.store[self.decode(fx)].validate(address, count)
6465

6566
def getValues(self, fx, address, count=1):
66-
''' Validates the request to make sure it is in range
67+
''' Get `count` values from datastore
6768
6869
:param fx: The function we are working with
6970
:param address: The starting address
7071
:param count: The number of values to retrieve
7172
:returns: The requested values from a:a+c
7273
'''
73-
if not self.zero_mode: address = address + 1
74+
if not self.zero_mode:
75+
address = address + 1
7476
_logger.debug("getValues[%d] %d:%d" % (fx, address, count))
7577
return self.store[self.decode(fx)].getValues(address, count)
7678

@@ -81,7 +83,8 @@ def setValues(self, fx, address, values):
8183
:param address: The starting address
8284
:param values: The new values to be set
8385
'''
84-
if not self.zero_mode: address = address + 1
86+
if not self.zero_mode:
87+
address = address + 1
8588
_logger.debug("setValues[%d] %d:%d" % (fx, address, len(values)))
8689
self.store[self.decode(fx)].setValues(address, values)
8790

pymodbus/datastore/database/redis_datastore.py

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
#---------------------------------------------------------------------------#
66
# Logging
77
#---------------------------------------------------------------------------#
8-
import logging;
8+
import logging
99
_logger = logging.getLogger(__name__)
1010

1111

@@ -55,7 +55,7 @@ def validate(self, fx, address, count=1):
5555
return self._val_callbacks[self.decode(fx)](address, count)
5656

5757
def getValues(self, fx, address, count=1):
58-
''' Validates the request to make sure it is in range
58+
''' Get `count` values from datastore
5959
6060
:param fx: The function we are working with
6161
:param address: The starting address
@@ -94,28 +94,28 @@ def _build_mapping(self):
9494
code mapper.
9595
'''
9696
self._val_callbacks = {
97-
'd' : lambda o, c: self._val_bit('d', o, c),
98-
'c' : lambda o, c: self._val_bit('c', o, c),
99-
'h' : lambda o, c: self._val_reg('h', o, c),
100-
'i' : lambda o, c: self._val_reg('i', o, c),
97+
'd': lambda o, c: self._val_bit('d', o, c),
98+
'c': lambda o, c: self._val_bit('c', o, c),
99+
'h': lambda o, c: self._val_reg('h', o, c),
100+
'i': lambda o, c: self._val_reg('i', o, c),
101101
}
102102
self._get_callbacks = {
103-
'd' : lambda o, c: self._get_bit('d', o, c),
104-
'c' : lambda o, c: self._get_bit('c', o, c),
105-
'h' : lambda o, c: self._get_reg('h', o, c),
106-
'i' : lambda o, c: self._get_reg('i', o, c),
103+
'd': lambda o, c: self._get_bit('d', o, c),
104+
'c': lambda o, c: self._get_bit('c', o, c),
105+
'h': lambda o, c: self._get_reg('h', o, c),
106+
'i': lambda o, c: self._get_reg('i', o, c),
107107
}
108108
self._set_callbacks = {
109-
'd' : lambda o, v: self._set_bit('d', o, v),
110-
'c' : lambda o, v: self._set_bit('c', o, v),
111-
'h' : lambda o, v: self._set_reg('h', o, v),
112-
'i' : lambda o, v: self._set_reg('i', o, v),
109+
'd': lambda o, v: self._set_bit('d', o, v),
110+
'c': lambda o, v: self._set_bit('c', o, v),
111+
'h': lambda o, v: self._set_reg('h', o, v),
112+
'i': lambda o, v: self._set_reg('i', o, v),
113113
}
114114

115115
#--------------------------------------------------------------------------#
116116
# Redis discrete implementation
117117
#--------------------------------------------------------------------------#
118-
_bit_size = 16
118+
_bit_size = 16
119119
_bit_default = '\x00' * (_bit_size % 8)
120120

121121
def _get_bit_values(self, key, offset, count):
@@ -129,7 +129,7 @@ def _get_bit_values(self, key, offset, count):
129129
s = divmod(offset, self._bit_size)[0]
130130
e = divmod(offset + count, self._bit_size)[0]
131131

132-
request = ('%s:%s' % (key, v) for v in range(s, e + 1))
132+
request = ('%s:%s' % (key, v) for v in range(s, e + 1))
133133
response = self.client.mget(request)
134134
return response
135135

@@ -173,7 +173,7 @@ def _set_bit(self, key, offset, values):
173173
current = (r or self._bit_default for r in current)
174174
current = ''.join(current)
175175
current = current[0:offset] + value.decode('utf-8') + current[offset + count:]
176-
final = (current[s:s + self._bit_size] for s in range(0, count, self._bit_size))
176+
final = (current[s:s + self._bit_size] for s in range(0, count, self._bit_size))
177177

178178
key = self._get_prefix(key)
179179
request = ('%s:%s' % (key, v) for v in range(s, e + 1))
@@ -183,7 +183,7 @@ def _set_bit(self, key, offset, values):
183183
#--------------------------------------------------------------------------#
184184
# Redis register implementation
185185
#--------------------------------------------------------------------------#
186-
_reg_size = 16
186+
_reg_size = 16
187187
_reg_default = '\x00' * (_reg_size % 8)
188188

189189
def _get_reg_values(self, key, offset, count):
@@ -198,7 +198,7 @@ def _get_reg_values(self, key, offset, count):
198198
#e = divmod(offset+count, self.__reg_size)[0]
199199

200200
#request = ('%s:%s' % (key, v) for v in range(s, e + 1))
201-
request = ('%s:%s' % (key, v) for v in range(offset, count + 1))
201+
request = ('%s:%s' % (key, v) for v in range(offset, count + 1))
202202
response = self.client.mget(request)
203203
return response
204204

pymodbus/datastore/database/sql_datastore.py

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
#---------------------------------------------------------------------------#
1111
# Logging
1212
#---------------------------------------------------------------------------#
13-
import logging;
13+
import logging
1414
_logger = logging.getLogger(__name__)
1515

1616

@@ -57,7 +57,7 @@ def validate(self, fx, address, count=1):
5757
return self._validate(self.decode(fx), address, count)
5858

5959
def getValues(self, fx, address, count=1):
60-
''' Validates the request to make sure it is in range
60+
''' Get `count` values from datastore
6161
6262
:param fx: The function we are working with
6363
:param address: The starting address
@@ -91,10 +91,10 @@ def _db_create(self, table, database):
9191
self._engine = sqlalchemy.create_engine(database, echo=False)
9292
self._metadata = sqlalchemy.MetaData(self._engine)
9393
self._table = sqlalchemy.Table(table, self._metadata,
94-
sqlalchemy.Column('type', sqltypes.String(1)),
95-
sqlalchemy.Column('index', sqltypes.Integer),
96-
sqlalchemy.Column('value', sqltypes.Integer),
97-
UniqueConstraint('type', 'index', name='key'))
94+
sqlalchemy.Column('type', sqltypes.String(1)),
95+
sqlalchemy.Column('index', sqltypes.Integer),
96+
sqlalchemy.Column('value', sqltypes.Integer),
97+
UniqueConstraint('type', 'index', name='key'))
9898
self._table.create(checkfirst=True)
9999
self._connection = self._engine.connect()
100100

@@ -105,7 +105,7 @@ def _get(self, type, offset, count):
105105
:param count: The number of bits to read
106106
:returns: The resulting values
107107
'''
108-
query = self._table.select(and_(
108+
query = self._table.select(and_(
109109
self._table.c.type == type,
110110
self._table.c.index >= offset,
111111
self._table.c.index <= offset + count)
@@ -125,9 +125,9 @@ def _build_set(self, type, offset, values, prefix=''):
125125
result = []
126126
for index, value in enumerate(values):
127127
result.append({
128-
prefix + 'type' : type,
129-
prefix + 'index' : offset + index,
130-
'value' : value
128+
prefix + 'type': type,
129+
prefix + 'index': offset + index,
130+
'value': value
131131
})
132132
return result
133133

@@ -144,8 +144,8 @@ def _set(self, type, offset, values):
144144
'''
145145
if self._check(type, offset, values):
146146
context = self._build_set(type, offset, values)
147-
query = self._table.insert()
148-
result = self._connection.execute(query, context)
147+
query = self._table.insert()
148+
result = self._connection.execute(query, context)
149149
return result.rowcount == len(values)
150150
else:
151151
return False
@@ -158,11 +158,11 @@ def _update(self, type, offset, values):
158158
:param values: The values to set
159159
'''
160160
context = self._build_set(type, offset, values, prefix='x_')
161-
query = self._table.update().values(name='value')
162-
query = query.where(and_(
163-
self._table.c.type == bindparam('x_type'),
161+
query = self._table.update().values(name='value')
162+
query = query.where(and_(
163+
self._table.c.type == bindparam('x_type'),
164164
self._table.c.index == bindparam('x_index')))
165-
result = self._connection.execute(query, context)
165+
result = self._connection.execute(query, context)
166166
return result.rowcount == len(values)
167167

168168
def _validate(self, type, offset, count):
@@ -172,7 +172,7 @@ def _validate(self, type, offset, count):
172172
:param count: The number of bits to read
173173
:returns: The result of the validation
174174
'''
175-
query = self._table.select(and_(
175+
query = self._table.select(and_(
176176
self._table.c.type == type,
177177
self._table.c.index >= offset,
178178
self._table.c.index <= offset + count))

pymodbus/datastore/remote.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ def validate(self, fx, address, count=1):
4444
return not result.isError()
4545

4646
def getValues(self, fx, address, count=1):
47-
''' Validates the request to make sure it is in range
47+
''' Get `count` values from datastore
4848
4949
:param fx: The function we are working with
5050
:param address: The starting address
@@ -100,6 +100,9 @@ def __extract_result(self, fx, result):
100100
a response. TODO make this consistent (values?)
101101
'''
102102
if not result.isError():
103-
if fx in ['d', 'c']: return result.bits
104-
if fx in ['h', 'i']: return result.registers
105-
else: return result
103+
if fx in ['d', 'c']:
104+
return result.bits
105+
if fx in ['h', 'i']:
106+
return result.registers
107+
else:
108+
return result

pymodbus/interfaces.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ def validate(self, fx, address, count=1):
190190
raise NotImplementedException("validate context values")
191191

192192
def getValues(self, fx, address, count=1):
193-
''' Validates the request to make sure it is in range
193+
''' Get `count` values from datastore
194194
195195
:param fx: The function we are working with
196196
:param address: The starting address
@@ -227,6 +227,7 @@ def build(self):
227227
'''
228228
raise NotImplementedException("set context values")
229229

230+
230231
#---------------------------------------------------------------------------#
231232
# Exported symbols
232233
#---------------------------------------------------------------------------#

0 commit comments

Comments
 (0)