@@ -216,44 +216,44 @@ def extract_registers(mod):
216
216
217
217
218
218
# TODO : Add in-out required properties to registers CSV
219
- # def _define_register_in_out_required(reg_row, header, register_name, rule_col):
220
- # """Return if the Register has "Entr"-"Saída" columns (returning `in_out`)
221
- # and their values given by `in_required` and `out_required`"""
222
- # in_out = None
223
- # in_required = None
224
- # out_required = None
225
- # cols = len(header)
226
- # if register_name in reg_row[cols - 2] or register_name in ["Y681"]: # ECF error
227
- # in_out = False # because only 1 col left
228
- # values_col = cols - 2
229
- # elif register_name in reg_row[cols - 3]:
230
- # values_col = cols - 3
231
- # if reg_row[cols - 1] == reg_row[cols - 2] == "O":
232
- # in_out = True
233
- # in_required = True
234
- # out_required = True
235
- # elif rule_col is None or rule_col < values_col:
236
- # in_out = True # but it never happens
237
- # else:
238
- # in_out = False
239
- # else:
240
- # if reg_row[cols - 1] == reg_row[cols - 2] == "O":
241
- # in_out = True
242
- # in_required = True
243
- # out_required = True
244
- # if len(header) == 8 and "Entr" in header[6]:
245
- # in_out = True
246
- # if reg_row[cols - 2] == "O":
247
- # in_required = True
248
- # else:
249
- # in_required = False
250
- # if reg_row[cols - 1] == "O":
251
- # out_required = True
252
- # else:
253
- # out_required = False
254
- # else:
255
- # in_out = False
256
- # return in_out, in_required, out_required
219
+ def _define_register_in_out_required (reg_row , header , register_name , rule_col ):
220
+ """Return if the Register has "Entr"-"Saída" columns (returning `in_out`)
221
+ and their values given by `in_required` and `out_required`"""
222
+ in_out = None
223
+ in_required = None
224
+ out_required = None
225
+ cols = len (header )
226
+ if register_name in reg_row [cols - 2 ] or register_name in ["Y681" ]: # ECF error
227
+ in_out = False # because only 1 col left
228
+ values_col = cols - 2
229
+ elif register_name in reg_row [cols - 3 ]:
230
+ values_col = cols - 3
231
+ if reg_row [cols - 1 ] == reg_row [cols - 2 ] == "O" :
232
+ in_out = True
233
+ in_required = True
234
+ out_required = True
235
+ elif rule_col is None or rule_col < values_col :
236
+ in_out = True # but it never happens
237
+ else :
238
+ in_out = False
239
+ else :
240
+ if reg_row [cols - 1 ] == reg_row [cols - 2 ] == "O" :
241
+ in_out = True
242
+ in_required = True
243
+ out_required = True
244
+ if len (header ) == 8 and "Entr" in header [6 ]:
245
+ in_out = True
246
+ if reg_row [cols - 2 ] == "O" :
247
+ in_required = True
248
+ else :
249
+ in_required = False
250
+ if reg_row [cols - 1 ] == "O" :
251
+ out_required = True
252
+ else :
253
+ out_required = False
254
+ else :
255
+ in_out = False
256
+ return in_out , in_required , out_required
257
257
258
258
259
259
def build_registers_csv (mod ):
@@ -451,7 +451,8 @@ def extract_accurate_fields(mod, register_name, patch=True):
451
451
row = clean_row (row )
452
452
row = _format_row (row )
453
453
if patch :
454
- row = _apply_camelot_patch (mod , register_name , row , 2019 )
454
+ # TODO : Add option to apply patch dependind on the pdf year
455
+ row = _apply_camelot_patch (mod , register_name , row , 2020 )
455
456
456
457
if _is_field_row (row , last_field_index ):
457
458
# Align row cells under module's header
0 commit comments