# AI Pattern Analysis: function_app.py

**Generated:** 2026-01-07 20:55:21
**Date:** 2026-01-07
**Time:** 20:55:21

---

Found 53 potential issues:

- 🔴 HIGH: 53
- 🟡 MEDIUM: 0
- 🟢 LOW: 0

| Severity | Line | Pattern | Message | Suggestion |
|----------|------|---------|---------|------------|
| 🔴 HIGH | 69 | `copy_paste_blocks` | Potential copy-paste from line 60 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 70 | `copy_paste_blocks` | Potential copy-paste from line 61 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 71 | `copy_paste_blocks` | Potential copy-paste from line 62 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 72 | `copy_paste_blocks` | Potential copy-paste from line 63 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 79 | `copy_paste_blocks` | Potential copy-paste from line 64 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 80 | `copy_paste_blocks` | Potential copy-paste from line 61 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 81 | `copy_paste_blocks` | Potential copy-paste from line 62 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 82 | `copy_paste_blocks` | Potential copy-paste from line 63 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 83 | `copy_paste_blocks` | Potential copy-paste from line 64 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 84 | `copy_paste_blocks` | Potential copy-paste from line 61 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 85 | `copy_paste_blocks` | Potential copy-paste from line 62 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 86 | `copy_paste_blocks` | Potential copy-paste from line 63 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 87 | `copy_paste_blocks` | Potential copy-paste from line 73 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 88 | `copy_paste_blocks` | Potential copy-paste from line 74 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 295 | `copy_paste_blocks` | Potential copy-paste from line 242 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 296 | `copy_paste_blocks` | Potential copy-paste from line 243 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 297 | `copy_paste_blocks` | Potential copy-paste from line 244 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 463 | `copy_paste_blocks` | Potential copy-paste from line 335 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 464 | `copy_paste_blocks` | Potential copy-paste from line 339 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 652 | `copy_paste_blocks` | Potential copy-paste from line 54 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 720 | `copy_paste_blocks` | Potential copy-paste from line 54 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 721 | `copy_paste_blocks` | Potential copy-paste from line 54 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 722 | `copy_paste_blocks` | Potential copy-paste from line 59 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 738 | `copy_paste_blocks` | Potential copy-paste from line 54 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 786 | `copy_paste_blocks` | Potential copy-paste from line 54 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 883 | `copy_paste_blocks` | Potential copy-paste from line 54 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 884 | `copy_paste_blocks` | Potential copy-paste from line 54 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 885 | `copy_paste_blocks` | Potential copy-paste from line 54 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 886 | `copy_paste_blocks` | Potential copy-paste from line 54 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 887 | `copy_paste_blocks` | Potential copy-paste from line 54 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 888 | `copy_paste_blocks` | Potential copy-paste from line 59 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 1067 | `copy_paste_blocks` | Potential copy-paste from line 966 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 1087 | `copy_paste_blocks` | Potential copy-paste from line 335 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 1135 | `copy_paste_blocks` | Potential copy-paste from line 550 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 1136 | `copy_paste_blocks` | Potential copy-paste from line 551 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 1137 | `copy_paste_blocks` | Potential copy-paste from line 552 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 1138 | `copy_paste_blocks` | Potential copy-paste from line 553 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 1140 | `copy_paste_blocks` | Potential copy-paste from line 555 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 1141 | `copy_paste_blocks` | Potential copy-paste from line 556 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 1142 | `copy_paste_blocks` | Potential copy-paste from line 557 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 1143 | `copy_paste_blocks` | Potential copy-paste from line 558 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 1157 | `copy_paste_blocks` | Potential copy-paste from line 573 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 1158 | `copy_paste_blocks` | Potential copy-paste from line 574 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 1187 | `copy_paste_blocks` | Potential copy-paste from line 631 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 1216 | `copy_paste_blocks` | Potential copy-paste from line 335 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 1217 | `copy_paste_blocks` | Potential copy-paste from line 335 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 1218 | `copy_paste_blocks` | Potential copy-paste from line 335 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 1219 | `copy_paste_blocks` | Potential copy-paste from line 1023 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 1220 | `copy_paste_blocks` | Potential copy-paste from line 1024 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 1221 | `copy_paste_blocks` | Potential copy-paste from line 1025 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 1228 | `copy_paste_blocks` | Potential copy-paste from line 1086 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 1229 | `copy_paste_blocks` | Potential copy-paste from line 335 | Extract duplicated logic into a reusable function. |
| 🔴 HIGH | 1230 | `copy_paste_blocks` | Potential copy-paste from line 1088 | Extract duplicated logic into a reusable function. |
