jonaswitt / stripe-datev-exporter

Exports Stripe invoices and payments in DATEV format for bookkeeping
MIT License
15 stars 11 forks source link

feat: introduce code formatter and fix tabSize #8

Closed Benny739 closed 1 year ago

Benny739 commented 1 year ago
jonaswitt commented 1 year ago

Es wäre m.M.n. sinnvoll, die verwendete Version von autopep8 noch in den requirements.txt festzuhalten. Das VS Code Plugin enthält zwar eine eigene Version, so dass die lokale Installation nicht zwingend notwendig ist, aber Versionsunterschiede könnten in Zukunft zu unterschiedlicher Formatierung führen bzw. tun das evtl. jetzt schon.

Wenn ich die ursprünglichen Dateien formatiere, erhalte ich leicht andere Ergebnisse als in deinem PR. Wenn ich die PR-Dateien neu formatiere ändert sich aber nichts. Ich würde den PR gerne zu 100% nachvollziehen können, d.h. Formatierung der Ausgangsdateien auf meinem System muss identisch sein mit dem PR. Vielleicht kommen wir mit der gleichen Version von autopep8 schon dahin.

Danke dir!

Benny739 commented 1 year ago

Ich habe die autopep8 Version noch in die requirements hinzugefügt. Hast du in allen Dateien Abweichungen? Betrifft es evtl die importe? Die habe ich von vs-code sortieren lassen, können wir aber auch abstellen, falls es dich stört. Durch die settings.json im workspace sollte das zukünftig automatisch passierne.

Autopep8 ist leider nicht so strikt wie z.b. der black formatter, allerdings unterstützt dieser nur tab-size 4.

jonaswitt commented 1 year ago

Ich habe die bei mir mit autopep8 2.0.4 durchgeführte Formatierung (autopep8 --in-place --indent-size=2 --ignore=E121 {stripe_datev,tests}/*.py *.py) im Branch https://github.com/jonaswitt/stripe-datev-exporter/tree/code-formatter gepusht. Da ergeben sich gegenüber deinem Commit 8525239e30815a79e27214c8ad2377a11e0f5e90 schon erhebliche Unterschiede (s.u.). Ich kenne autopep8 leider nicht gut genug um zu sagen woran das liegen könnte. Ich würde dann lieber meinen Branch mergen, wenn der bei dir keine Probleme macht.

Nur ein Auszug:

diff --git a/stripe-datev-cli.py b/stripe-datev-cli.py
index cc4ecbd..bdd6826 100644
--- a/stripe-datev-cli.py
+++ b/stripe-datev-cli.py
@@ -1,24 +1,23 @@
-import argparse
 import decimal
-import os
-import os.path
+from functools import reduce
 import sys
+import argparse
 from datetime import datetime, timedelta, timezone
-from functools import reduce
-
 import datedelta
-import dotenv
-import requests
 import stripe
-
-import stripe_datev.charges
-import stripe_datev.config
-import stripe_datev.customer
 import stripe_datev.invoices
-import stripe_datev.output
-import stripe_datev.payouts
-import stripe_datev.recognition
-import stripe_datev.transfers
+import \
+  stripe_datev.charges, \
+  stripe_datev.customer, \
+  stripe_datev.payouts, \
+  stripe_datev.recognition, \
+  stripe_datev.output, \
+  stripe_datev.config, \
+  stripe_datev.transfers
Benny739 commented 1 year ago

Ja merge gerne deinen branch.

Vor allem unterscheiden sich die imports wie ich das sehe. Die Imports werden durch die "organizeImports" von vscode abgeändert, sollen wir das deaktivieren? Dafür könnte ich nochmal einen separaten PR erstellen, wenn wir es beibehalten wollen

jonaswitt commented 1 year ago

Ja merge gerne deinen branch.

10

Vor allem unterscheiden sich die imports wie ich das sehe. Die Imports werden durch die "organizeImports" von vscode abgeändert, sollen wir das deaktivieren?

Verstehe. Das geht bei mir aber nicht, weiß nicht warum. VS Code 1.83.1, ms-python.python extension v2023.18.0. Ich sehe nichtmal das command "Organize Imports". Hab die Konfiguration daher erstmal entfernt.