Added very important data cleaning added
TextField now cleans CR and LF from data, this is very important for not breaking everything and leaving me completely confused. Thank you, Lauren!
This commit is contained in:
parent
fc04a66869
commit
961aedc0ae
1 changed files with 31 additions and 0 deletions
|
@ -126,6 +126,19 @@ class TextField(Field):
|
|||
value = value.upper()
|
||||
return value.ljust(self.max_length).encode('ascii')[:self.max_length]
|
||||
|
||||
def __setvalue(self, value):
|
||||
# NO NEWLINES
|
||||
try:
|
||||
value = value.replace('\n', '').replace('\r', '')
|
||||
except AttributeError, e:
|
||||
pass
|
||||
self._value = value
|
||||
|
||||
def __getvalue(self):
|
||||
return self._value
|
||||
|
||||
value = property(__getvalue, __setvalue)
|
||||
|
||||
|
||||
class StateField(TextField):
|
||||
def __init__(self, name=None, required=True, use_numeric=False, max_length=2):
|
||||
|
@ -193,6 +206,24 @@ class BlankField(TextField):
|
|||
def parse(self, s):
|
||||
pass
|
||||
|
||||
class CRLFField(TextField):
|
||||
def __init__(self, name=None, required=False):
|
||||
super(TextField, self).__init__(name=name, max_length=2, required=required, uppercase=False)
|
||||
|
||||
def __setvalue(self, value):
|
||||
self._value = value
|
||||
|
||||
def __getvalue(self):
|
||||
return self._value
|
||||
|
||||
value = property(__getvalue, __setvalue)
|
||||
|
||||
def get_data(self):
|
||||
return '\r\n'
|
||||
|
||||
def parse(self, s):
|
||||
self.value = s
|
||||
|
||||
class BooleanField(Field):
|
||||
def __init__(self, name=None, required=True, value=None):
|
||||
super(BooleanField, self).__init__(name=name, required=required, max_length=1)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue