Line 5: |
Line 5: |
| https://github.com/openfoodfacts/robotoff/tree/master/robotoff/insights/ocr | | https://github.com/openfoodfacts/robotoff/tree/master/robotoff/insights/ocr |
| | | |
| + | === Add a function to add the desired match === |
| + | |
| + | # Choose the relevant file within the insights/ocr directory (in this case: https://github.com/openfoodfacts/robotoff/blob/master/robotoff/insights/ocr/packager_code.py) |
| + | |
| + | # Write the function |
| + | <pre> |
| + | def process_fsc_match(match) -> str: |
| + | fsc_code = match.group(1) |
| + | return "FSC-{}".format(fsc_code).upper() |
| + | </pre> |
| + | |
| + | # Add the function to the processing pipeline |
| + | |
| + | <pre> |
| + | PACKAGER_CODE: Dict[str, OCRRegex] = { |
| + | "fr_emb": OCRRegex( |
| + | re.compile(r"emb ?(\d ?\d ?\d ?\d ?\d) ?([a-z])?(?![a-z0-9])"), |
| + | field=OCRField.text_annotations, |
| + | lowercase=True, |
| + | processing_func=process_fr_emb_match, |
| + | ), |
| + | "fsc": OCRRegex( |
| + | re.compile(r"fsc.? ?(c\d{6})"), |
| + | field=OCRField.text_annotations, |
| + | lowercase=True, |
| + | processing_func=process_fsc_match, |
| + | ), |
| + | "eu_fr": OCRRegex( |
| + | re.compile( |
| + | |
| + | <pre> |
| + | |
| + | # Grab yourself a sandwich |
| + | |
| + | === Plug it to Robotoff === |
| | | |
| == Using Flashtext == | | == Using Flashtext == |
| https://github.com/openfoodfacts/robotoff/tree/master/data/ocr | | https://github.com/openfoodfacts/robotoff/tree/master/data/ocr |