diff --git a/pyaccuwage/model.py b/pyaccuwage/model.py index a8f83cb..05f2315 100644 --- a/pyaccuwage/model.py +++ b/pyaccuwage/model.py @@ -57,12 +57,10 @@ class Model(object): [field.get_data() for field in self.get_sorted_fields()]) if 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()]) + #result = ''.join([self.record_identifier] + [field.get_data() for field in self.get_sorted_fields()]) #if len(result) != self.target_size: # raise ValidationError("Record result length not equal to %d bytes (%d)" % (self.target_size, len(result))) - - return result + return result def read(self, fp): for field in self.get_sorted_fields(): diff --git a/pyaccuwage/parser.py b/pyaccuwage/parser.py index b367db1..57da8c9 100644 --- a/pyaccuwage/parser.py +++ b/pyaccuwage/parser.py @@ -6,7 +6,7 @@ convert it into python classes. """ import re - +import hashlib class SimpleDefParser(object): def __init__(self): @@ -132,7 +132,7 @@ class RecordBuilder(object): (fields.BlankField, { 'regexp': { 'name': [ - (re.compile(r'^blank$', re.IGNORECASE), +1), + (re.compile(r'^blank$', re.IGNORECASE), +3), ], }, }), @@ -262,15 +262,16 @@ class RecordBuilder(object): yield entry def _convert_to_records(self, entries): - blank_count = 1 + #blank_count = 1 for entry in entries: result = [] add = result.append # FIELD NAME if entry['name'] == 'blank': - add( (u'blank%d' % blank_count).ljust(40) ) - blank_count += 1 + blank_id = hashlib.new('md5') + blank_id.update(entry['range'].encode()) + add( (u'blank_%s' % blank_id.hexdigest()[:8]).ljust(40) ) else: add(entry['name'].ljust(40))