Added default record length

This commit is contained in:
Mark Riedesel 2013-10-11 00:19:20 -05:00
parent 03ce460181
commit 4eedab0e7c
2 changed files with 13 additions and 10 deletions

View file

@ -55,7 +55,7 @@ class Model(object):
def output(self):
result = ''.join([self.record_identifier] +
[field.get_data() for field in self.get_sorted_fields()])
if len(result) != self.record_length:
if hasattr(self, 'record_length') and len(result) != self.record_length:
raise ValidationError("Record result length not equal to %d bytes (%d)" % (self.record_length, len(result)))
#result = ''.join([self.record_identifier] + [field.get_data() for field in self.get_sorted_fields()])
#if len(result) != self.target_size:

View file

@ -7,7 +7,10 @@ __all__ = RECORD_TYPES = ['SubmitterRecord', 'EmployerRecord',
'TotalRecord', 'OptionalTotalRecord',
'StateTotalRecord', 'FinalRecord', 'StateWageRecord']
class SubmitterRecord(model.Model):
class EFW2Record(model.Model):
record_length = 512
class SubmitterRecord(EFW2Record):
# year=2012
record_identifier = 'RA'
required = True
@ -79,7 +82,7 @@ class SubmitterRecord(model.Model):
class EmployerRecord(model.Model):
class EmployerRecord(EFW2Record):
# year=2012
record_identifier = 'RE'
required = True
@ -138,7 +141,7 @@ class EmployerRecord(model.Model):
raise ValidationError("%s not in one of %s" % (f.value, choices), field=f)
class EmployeeWageRecord(model.Model):
class EmployeeWageRecord(EFW2Record):
# year=2012
record_identifier = 'RW'
required = True
@ -198,7 +201,7 @@ class EmployeeWageRecord(model.Model):
class OptionalEmployeeWageRecord(model.Model):
class OptionalEmployeeWageRecord(EFW2Record):
# year=2012
record_identifier = 'RO'
required = False
@ -228,7 +231,7 @@ class OptionalEmployeeWageRecord(model.Model):
blank4 = BlankField(max_length=128)
class StateWageRecord(model.Model):
class StateWageRecord(EFW2Record):
# year=2012
record_identifier = 'RS'
required = False
@ -278,7 +281,7 @@ class StateWageRecord(model.Model):
raise ValidationError("%s not one of %s" % (field.value,choices), field=f)
class TotalRecord(model.Model):
class TotalRecord(EFW2Record):
#year=2012
record_identifier = 'RT'
required = True
@ -313,7 +316,7 @@ class TotalRecord(model.Model):
blank2 = BlankField(max_length=113)
class OptionalTotalRecord(model.Model):
class OptionalTotalRecord(EFW2Record):
#year=
record_identifier = 'RU'
required = False
@ -342,14 +345,14 @@ class OptionalTotalRecord(model.Model):
blank2 = BlankField(max_length=23)
class StateTotalRecord(model.Model):
class StateTotalRecord(EFW2Record):
#year=2012
record_identifier = 'RV'
required = False
supplemental_data = TextField(max_length=510)
class FinalRecord(model.Model):
class FinalRecord(EFW2Record):
#year=2012
record_identifier = 'RF'
required = True