Beispiel #1
0
 def get_converters(self):
     loc = QLocale(QLocale.C) if self._decimal_point == '.' else QLocale(QLocale.Spanish)
     return (
         lambda s: (s, True),
         lambda s: loc.toInt(s) if s else (None,True),
         lambda s: loc.toDouble(s)if s else (None,True)
     )
Beispiel #2
0
 def test_field_types(self, data):
     loc = QLocale(QLocale.C) if self._decimal_point == '.' else QLocale(QLocale.Spanish)
     for col, field in enumerate(self._fields):
         if all([loc.toInt(row[col])[1] or row[col] is None for row in data]):  # test for integer
             field.data_type = 1
         elif all([loc.toDouble(row[col])[1] for row in data if len(row[col]) > 0]):  # test for double
             field.data_type = 2
         else:
             field.data_type = 0
Beispiel #3
0
 def scaleFromString(self, scaleText):
     locale = QLocale()
     parts = [locale.toInt(part) for part in scaleText.split(":")]
     try:
         if len(parts) == 2 and parts[0][1] and parts[1][1] and parts[0][0] != 0 and parts[1][0] != 0:
             return float(parts[0][0]) / float(parts[1][0])
         else:
             return None
     except ZeroDivisionError:
         return