Browse Source

IBAN via Faker if Schwifty fails (on Linux)

bernhardbuhl 3 years ago
parent
commit
43621a6b50
2 changed files with 11 additions and 4 deletions
  1. 3 0
      baangt/base/Faker.py
  2. 8 4
      baangt/base/IBAN.py

+ 3 - 0
baangt/base/Faker.py

@@ -33,3 +33,6 @@ class Faker:
             logging.error(f"Error during Faker-Call. Method was: {fakerMethod}, kwargs were: {kwargs}, Exception: {e}")
 
         return lValue
+
+    def fakerProxyIBAN(self, country_or_ListOfCountries):
+        return self.faker.Code.Iban.iban(country_or_ListOfCountries)

+ 8 - 4
baangt/base/IBAN.py

@@ -26,11 +26,15 @@ class IBAN:
         for n in range(laenge):
             digits.append(random.randrange(0, 10))
         digits = "".join(str(x) for x in digits)
-        return str(schwifty.IBAN.generate(country_code=self.bankLand,
-                                          bank_code=self.bankLeitZahl,
-                                          account_code=digits))
-        return Faker().fakerProxy(fakerMethod="iban")
+        # Schwifty doesn't work on Ubuntu
+        try:
+            lReturn = str(schwifty.IBAN.generate(country_code=self.bankLand,
+                                              bank_code=self.bankLeitZahl,
+                                              account_code=digits))
+        except Exception:
+            lReturn = Faker().fakerProxyIBAN("AT")
 
+        return lReturn
 
 if __name__ == '__main__':
     l = IBAN()