102 lines
5.8 KiB
Python
102 lines
5.8 KiB
Python
with open(r'D:\Dev\Projects\pdf-umbenenner-parent\pdf-umbenenner-adapter-in-gui\src\main\java\de\gecheckt\pdf\umbenenner\adapter\in\gui\batchrun\GuiBatchRunTab.java', 'rb') as f:
|
|
content = f.read()
|
|
|
|
normalized = content.replace(b'\r\n', b'\n')
|
|
|
|
old = (
|
|
b' private static String buildDetailText(GuiBatchRunResultRow row) {\n'
|
|
b' StringBuilder builder = new StringBuilder();\n'
|
|
b' builder.append("Originaldateiname: ").append(row.originalFileName()).append(\'\\n\');\n'
|
|
b' if (row.resetPending()) {\n'
|
|
b' builder.append(\'\\n\').append(GuiBatchRunResultRow.RESET_PENDING_LABEL);\n'
|
|
b' return builder.toString();\n'
|
|
b' }\n'
|
|
b' row.effectiveFileName()\n'
|
|
b' .ifPresent(name -> builder.append("Neuer Dateiname: ").append(name).append(\'\\n\'));\n'
|
|
b' row.resolvedDate()\n'
|
|
b' .ifPresent(date -> builder.append("Datum: ")\n'
|
|
b' .append(DateTimeFormatter.ISO_LOCAL_DATE.format(date)).append(\'\\n\'));\n'
|
|
b' builder.append(\'\\n\');\n'
|
|
b' row.aiReasoning().ifPresentOrElse(\n'
|
|
b' reasoning -> builder.append(reasoning),\n'
|
|
b' () -> {\n'
|
|
b' row.aiFailureMessage().ifPresent(msg ->\n'
|
|
b' builder.append("\\u26A0 Fehler: ")\n'
|
|
b' .append(AiFailureMessageTranslator.translate(msg))\n'
|
|
b' .append("\\n\\n"));\n'
|
|
b' builder.append(NO_REASONING_TEXT);\n'
|
|
b' });\n'
|
|
b' return builder.toString();\n'
|
|
b' }'
|
|
)
|
|
|
|
new = (
|
|
b' private static final DateTimeFormatter DETAIL_DATE_FORMAT =\n'
|
|
b' DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm", Locale.GERMANY);\n'
|
|
b'\n'
|
|
b' private static String buildDetailText(GuiBatchRunResultRow row) {\n'
|
|
b' StringBuilder builder = new StringBuilder();\n'
|
|
b' builder.append("Originaldateiname: ").append(row.originalFileName()).append(\'\\n\');\n'
|
|
b' if (row.resetPending()) {\n'
|
|
b' builder.append(\'\\n\').append(GuiBatchRunResultRow.RESET_PENDING_LABEL);\n'
|
|
b' return builder.toString();\n'
|
|
b' }\n'
|
|
b' if (row.status() == DocumentCompletionStatus.SKIPPED_ALREADY_PROCESSED) {\n'
|
|
b' builder.append(\'\\n\');\n'
|
|
b' row.historicalContext().ifPresentOrElse(ctx -> {\n'
|
|
b' ctx.lastSuccessInstant().ifPresentOrElse(\n'
|
|
b' instant -> builder.append("Bereits erfolgreich verarbeitet am ")\n'
|
|
b' .append(DETAIL_DATE_FORMAT.format(\n'
|
|
b' instant.atZone(ZoneId.systemDefault())))\n'
|
|
b' .append(\'.\'),\n'
|
|
b' () -> builder.append("Bereits erfolgreich verarbeitet."));\n'
|
|
b' ctx.lastTargetFileName().ifPresent(name ->\n'
|
|
b' builder.append(\'\\n\').append("Zieldatei: ").append(name).append(\'.\'));\n'
|
|
b' }, () -> builder.append("Bereits erfolgreich verarbeitet."));\n'
|
|
b' return builder.toString();\n'
|
|
b' }\n'
|
|
b' if (row.status() == DocumentCompletionStatus.SKIPPED_FINAL_FAILURE) {\n'
|
|
b' builder.append(\'\\n\');\n'
|
|
b' row.historicalContext().ifPresentOrElse(ctx ->\n'
|
|
b' ctx.lastFailureInstant().ifPresentOrElse(\n'
|
|
b' instant -> builder.append("Endg\\u00fcltig fehlgeschlagen am ")\n'
|
|
b' .append(DETAIL_DATE_FORMAT.format(\n'
|
|
b' instant.atZone(ZoneId.systemDefault())))\n'
|
|
b' .append(". Erneute Verarbeitung nur nach Reset m\\u00f6glich."),\n'
|
|
b' () -> builder.append(\n'
|
|
b' "Endg\\u00fcltig fehlgeschlagen. Erneute Verarbeitung nur nach Reset m\\u00f6glich.")),\n'
|
|
b' () -> builder.append(\n'
|
|
b' "Endg\\u00fcltig fehlgeschlagen. Erneute Verarbeitung nur nach Reset m\\u00f6glich."));\n'
|
|
b' return builder.toString();\n'
|
|
b' }\n'
|
|
b' row.effectiveFileName()\n'
|
|
b' .ifPresent(name -> builder.append("Neuer Dateiname: ").append(name).append(\'\\n\'));\n'
|
|
b' row.resolvedDate()\n'
|
|
b' .ifPresent(date -> builder.append("Datum: ")\n'
|
|
b' .append(DateTimeFormatter.ISO_LOCAL_DATE.format(date)).append(\'\\n\'));\n'
|
|
b' builder.append(\'\\n\');\n'
|
|
b' row.aiReasoning().ifPresentOrElse(\n'
|
|
b' reasoning -> builder.append(reasoning),\n'
|
|
b' () -> {\n'
|
|
b' row.aiFailureMessage().ifPresent(msg ->\n'
|
|
b' builder.append("\\u26A0 Fehler: ")\n'
|
|
b' .append(AiFailureMessageTranslator.translate(msg))\n'
|
|
b' .append("\\n\\n"));\n'
|
|
b' builder.append(NO_REASONING_TEXT);\n'
|
|
b' });\n'
|
|
b' return builder.toString();\n'
|
|
b' }'
|
|
)
|
|
|
|
if old in normalized:
|
|
result = normalized.replace(old, new)
|
|
result = result.replace(b'\n', b'\r\n')
|
|
with open(r'D:\Dev\Projects\pdf-umbenenner-parent\pdf-umbenenner-adapter-in-gui\src\main\java\de\gecheckt\pdf\umbenenner\adapter\in\gui\batchrun\GuiBatchRunTab.java', 'wb') as f:
|
|
f.write(result)
|
|
print('SUCCESS')
|
|
else:
|
|
print('NOT FOUND')
|
|
for i, line in enumerate(old.split(b'\n')):
|
|
if line and line not in normalized:
|
|
print(f'Missing line {i}: {repr(line)}')
|