diff options
| author | Peyman Salehi <peymanslh@pm.me> | 2019-10-19 16:43:21 +0200 |
|---|---|---|
| committer | Claude Paroz <claude@2xlibre.net> | 2019-10-19 16:57:14 +0200 |
| commit | bdc84255a83c1d3f88202503d4a4ace8e0275a44 (patch) | |
| tree | 2410cbedd48797a82511004e9348b1278611e2cf /src/tablib/packages | |
| parent | b3c7145c4079fe3d0c76c45421c02b96cc74b624 (diff) | |
| download | tablib-bdc84255a83c1d3f88202503d4a4ace8e0275a44.tar.gz | |
Fix some linting errors
Diffstat (limited to 'src/tablib/packages')
| -rw-r--r-- | src/tablib/packages/dbfpy/fields.py | 41 | ||||
| -rw-r--r-- | src/tablib/packages/dbfpy/header.py | 28 | ||||
| -rw-r--r-- | src/tablib/packages/dbfpy/record.py | 18 | ||||
| -rw-r--r-- | src/tablib/packages/dbfpy/utils.py | 1 |
4 files changed, 46 insertions, 42 deletions
diff --git a/src/tablib/packages/dbfpy/fields.py b/src/tablib/packages/dbfpy/fields.py index bc39d57..c763e1e 100644 --- a/src/tablib/packages/dbfpy/fields.py +++ b/src/tablib/packages/dbfpy/fields.py @@ -28,7 +28,7 @@ TODO: __version__ = "$Revision: 1.14 $"[11:-2] __date__ = "$Date: 2009/05/26 05:16:51 $"[7:-2] -__all__ = ["lookupFor",] # field classes added at the end of the module +__all__ = ["lookupFor"] # field classes added at the end of the module import datetime import struct @@ -36,7 +36,8 @@ import sys from . import utils -## abstract definitions +# abstract definitions + class DbfFieldDef: """Abstract field definition. @@ -56,8 +57,7 @@ class DbfFieldDef: """ - __slots__ = ("name", "decimalCount", - "start", "end", "ignoreErrors") + __slots__ = ("name", "decimalCount", "start", "end", "ignoreErrors") # length of the field, None in case of variable-length field, # or a number if this field is a fixed-length field @@ -73,13 +73,12 @@ class DbfFieldDef: defaultValue = None def __init__(self, name, length=None, decimalCount=None, - start=None, stop=None, ignoreErrors=False, - ): + start=None, stop=None, ignoreErrors=False): """Initialize instance.""" assert self.typeCode is not None, "Type code must be overridden" assert self.defaultValue is not None, "Default value must be overridden" - ## fix arguments - if len(name) >10: + # fix arguments + if len(name) > 10: raise ValueError("Field name \"%s\" is too long" % name) name = str(name).upper() if self.__class__.length is None: @@ -87,13 +86,12 @@ class DbfFieldDef: raise ValueError("[%s] Length isn't specified" % name) length = int(length) if length <= 0: - raise ValueError("[%s] Length must be a positive integer" - % name) + raise ValueError("[%s] Length must be a positive integer" % name) else: length = self.length if decimalCount is None: decimalCount = 0 - ## set fields + # set fields self.name = name # FIXME: validate length according to the specification at # http://www.clicketyclick.dk/databases/xbase/format/data_types.html @@ -144,7 +142,7 @@ class DbfFieldDef: return ( _name + self.typeCode + - #data address + # data address chr(0) * 4 + chr(self.length) + chr(self.decimalCount) + @@ -171,7 +169,7 @@ class DbfFieldDef: """Return decoded field value from the record string.""" try: return self.decodeValue(self.rawFromRecord(record)) - except: + except Exception: if self.ignoreErrors: return utils.INVALID_VALUE else: @@ -194,7 +192,8 @@ class DbfFieldDef: """ raise NotImplementedError -## real classes +# real classes + class DbfCharacterFieldDef(DbfFieldDef): """Definition of the character field.""" @@ -257,11 +256,13 @@ class DbfNumericFieldDef(DbfFieldDef): % (self.name, _rv, self.length)) return _rv + class DbfFloatFieldDef(DbfNumericFieldDef): """Definition of the float field - same as numeric.""" typeCode = "F" + class DbfIntegerFieldDef(DbfFieldDef): """Definition of the integer field.""" @@ -277,6 +278,7 @@ class DbfIntegerFieldDef(DbfFieldDef): """Return string containing encoded ``value``.""" return struct.pack("<i", int(value)) + class DbfCurrencyFieldDef(DbfFieldDef): """Definition of the currency field.""" @@ -292,6 +294,7 @@ class DbfCurrencyFieldDef(DbfFieldDef): """Return string containing encoded ``value``.""" return struct.pack("<q", round(value * 10000)) + class DbfLogicalFieldDef(DbfFieldDef): """Definition of the logical field.""" @@ -338,7 +341,7 @@ class DbfMemoFieldDef(DbfFieldDef): def decodeValue(self, value): """Return int .dbt block number decoded from the string object.""" - #return int(value) + # return int(value) raise NotImplementedError def encodeValue(self, value): @@ -347,7 +350,7 @@ class DbfMemoFieldDef(DbfFieldDef): Note: this is an internal method. """ - #return str(value)[:self.length].ljust(self.length) + # return str(value)[:self.length].ljust(self.length) raise NotImplementedError @@ -423,6 +426,7 @@ class DbfDateTimeFieldDef(DbfFieldDef): _fieldsRegistry = {} + def registerField(fieldCls): """Register field definition class. @@ -454,11 +458,12 @@ def lookupFor(typeCode): # forget to look to the same comment in ``registerField`` return _fieldsRegistry[chr(typeCode)] -## register generic types +# register generic types + for (_name, _val) in list(globals().items()): if isinstance(_val, type) and issubclass(_val, DbfFieldDef) \ - and (_name != "DbfFieldDef"): + and (_name != "DbfFieldDef"): __all__.append(_name) registerField(_val) del _name, _val diff --git a/src/tablib/packages/dbfpy/header.py b/src/tablib/packages/dbfpy/header.py index cb0050a..3eff673 100644 --- a/src/tablib/packages/dbfpy/header.py +++ b/src/tablib/packages/dbfpy/header.py @@ -51,13 +51,12 @@ class DbfHeader: """ __slots__ = ("signature", "fields", "lastUpdate", "recordLength", - "recordCount", "headerLength", "changed", "_ignore_errors") + "recordCount", "headerLength", "changed", "_ignore_errors") - ## instance construction and initialization methods + # instance construction and initialization methods def __init__(self, fields=None, headerLength=0, recordLength=0, - recordCount=0, signature=0x03, lastUpdate=None, ignoreErrors=False, - ): + recordCount=0, signature=0x03, lastUpdate=None, ignoreErrors=False): """Initialize instance. Arguments: @@ -111,7 +110,7 @@ class DbfHeader: _data = bytes(first_32, sys.getfilesystemencoding()) _data = first_32 (_cnt, _hdrLen, _recLen) = struct.unpack("<I2H", _data[4:12]) - #reserved = _data[12:32] + # reserved = _data[12:32] _year = _data[1] if _year < 80: # dBase II started at 1980. It is quite unlikely @@ -119,10 +118,10 @@ class DbfHeader: _year += 2000 else: _year += 1900 - ## create header object + # create header object _obj = cls(None, _hdrLen, _recLen, _cnt, _data[0], - (_year, _data[2], _data[3])) - ## append field definitions + (_year, _data[2], _data[3])) + # append field definitions # position 0 is for the deletion flag _pos = 1 _data = stream.read(1) @@ -135,7 +134,7 @@ class DbfHeader: return _obj fromStream = classmethod(fromStream) - ## properties + # properties year = property(lambda self: self.lastUpdate.year) month = property(lambda self: self.lastUpdate.month) @@ -156,7 +155,7 @@ class DbfHeader: """) - ## object representation + # object representation def __repr__(self): _rv = """\ @@ -173,7 +172,7 @@ Version (signature): 0x%02x ) return _rv - ## internal methods + # internal methods def _addField(self, *defs): """Internal variant of the `addField` method. @@ -197,8 +196,7 @@ Version (signature): 0x%02x else: (_name, _type, _len, _dec) = (tuple(_def) + (None,) * 4)[:4] _cls = fields.lookupFor(_type) - _obj = _cls(_name, _len, _dec, - ignoreErrors=self._ignore_errors) + _obj = _cls(_name, _len, _dec, ignoreErrors=self._ignore_errors) _recordLength += _obj.length _defs.append(_obj) # and now extend field definitions and @@ -206,7 +204,7 @@ Version (signature): 0x%02x self.fields += _defs return _recordLength - ## interface methods + # interface methods def addField(self, *defs): """Add field definition to the header. @@ -251,7 +249,7 @@ Version (signature): 0x%02x self.recordCount, self.headerLength, self.recordLength) + (b'\x00' * 20) - #TODO: figure out if bytes(utf-8) is correct here. + # TODO: figure out if bytes(utf-8) is correct here. def setCurrentDate(self): """Update ``self.lastUpdate`` field with current date value.""" diff --git a/src/tablib/packages/dbfpy/record.py b/src/tablib/packages/dbfpy/record.py index 90dc468..db79e86 100644 --- a/src/tablib/packages/dbfpy/record.py +++ b/src/tablib/packages/dbfpy/record.py @@ -52,7 +52,7 @@ class DbfRecord: __slots__ = "dbf", "index", "deleted", "fieldData" - ## creation and initialization + # creation and initialization def __init__(self, dbf, index=None, deleted=False, data=None): """Instance initialization. @@ -82,7 +82,7 @@ class DbfRecord: # XXX: validate self.index before calculating position? position = property(lambda self: self.dbf.header.headerLength + \ - self.index * self.dbf.header.recordLength) + self.index * self.dbf.header.recordLength) def rawFromStream(cls, dbf, index): """Return raw record contents read from the stream. @@ -137,10 +137,10 @@ class DbfRecord: """ return cls(dbf, index, string[0]=="*", - [_fd.decodeFromRecord(string) for _fd in dbf.header.fields]) + [_fd.decodeFromRecord(string) for _fd in dbf.header.fields]) fromString = classmethod(fromString) - ## object representation + # object representation def __repr__(self): _template = "%%%ds: %%s (%%s)" % max([len(_fld) @@ -155,7 +155,7 @@ class DbfRecord: _rv.append(_template % (_fld, _val, type(_val))) return "\n".join(_rv) - ## protected methods + # protected methods def _write(self): """Write data to the dbf stream. @@ -171,7 +171,7 @@ class DbfRecord: self._validateIndex(False) self.dbf.stream.seek(self.position) self.dbf.stream.write(bytes(self.toString(), - sys.getfilesystemencoding())) + sys.getfilesystemencoding())) # FIXME: may be move this write somewhere else? # why we should check this condition for each record? if self.index == len(self.dbf): @@ -179,7 +179,7 @@ class DbfRecord: # we should write SUB (ASCII 26) self.dbf.stream.write(b"\x1A") - ## utility methods + # utility methods def _validateIndex(self, allowUndefined=True, checkRange=False): """Valid ``self.index`` value. @@ -195,9 +195,9 @@ class DbfRecord: raise ValueError("Index can't be negative (%s)" % self.index) elif checkRange and self.index <= self.dbf.header.recordCount: raise ValueError("There are only %d records in the DBF" % - self.dbf.header.recordCount) + self.dbf.header.recordCount) - ## interface methods + # interface methods def store(self): """Store current record in the DBF. diff --git a/src/tablib/packages/dbfpy/utils.py b/src/tablib/packages/dbfpy/utils.py index ee4396e..b3388a7 100644 --- a/src/tablib/packages/dbfpy/utils.py +++ b/src/tablib/packages/dbfpy/utils.py @@ -164,6 +164,7 @@ class _InvalidValue: def __repr__(self): return "<INVALID>" + # invalid value is a constant singleton INVALID_VALUE = _InvalidValue() |
