cfinterface 1.8.2__tar.gz → 1.8.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. {cfinterface-1.8.2 → cfinterface-1.8.3}/PKG-INFO +1 -1
  2. {cfinterface-1.8.2 → cfinterface-1.8.3}/cfinterface/__init__.py +1 -1
  3. {cfinterface-1.8.2 → cfinterface-1.8.3}/cfinterface/components/floatfield.py +3 -2
  4. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/components/test_floatfield.py +17 -0
  5. {cfinterface-1.8.2 → cfinterface-1.8.3}/.github/workflows/docs.yml +0 -0
  6. {cfinterface-1.8.2 → cfinterface-1.8.3}/.github/workflows/main.yml +0 -0
  7. {cfinterface-1.8.2 → cfinterface-1.8.3}/.github/workflows/publish.yml +0 -0
  8. {cfinterface-1.8.2 → cfinterface-1.8.3}/.gitignore +0 -0
  9. {cfinterface-1.8.2 → cfinterface-1.8.3}/LICENSE +0 -0
  10. {cfinterface-1.8.2 → cfinterface-1.8.3}/README.md +0 -0
  11. {cfinterface-1.8.2 → cfinterface-1.8.3}/cfinterface/_utils/__init__.py +0 -0
  12. {cfinterface-1.8.2 → cfinterface-1.8.3}/cfinterface/adapters/__init__.py +0 -0
  13. {cfinterface-1.8.2 → cfinterface-1.8.3}/cfinterface/adapters/components/__init__.py +0 -0
  14. {cfinterface-1.8.2 → cfinterface-1.8.3}/cfinterface/adapters/components/line/__init__.py +0 -0
  15. {cfinterface-1.8.2 → cfinterface-1.8.3}/cfinterface/adapters/components/line/repository.py +0 -0
  16. {cfinterface-1.8.2 → cfinterface-1.8.3}/cfinterface/adapters/components/repository.py +0 -0
  17. {cfinterface-1.8.2 → cfinterface-1.8.3}/cfinterface/adapters/reading/__init__.py +0 -0
  18. {cfinterface-1.8.2 → cfinterface-1.8.3}/cfinterface/adapters/reading/repository.py +0 -0
  19. {cfinterface-1.8.2 → cfinterface-1.8.3}/cfinterface/adapters/writing/__init__.py +0 -0
  20. {cfinterface-1.8.2 → cfinterface-1.8.3}/cfinterface/adapters/writing/repository.py +0 -0
  21. {cfinterface-1.8.2 → cfinterface-1.8.3}/cfinterface/components/__init__.py +0 -0
  22. {cfinterface-1.8.2 → cfinterface-1.8.3}/cfinterface/components/block.py +0 -0
  23. {cfinterface-1.8.2 → cfinterface-1.8.3}/cfinterface/components/datetimefield.py +0 -0
  24. {cfinterface-1.8.2 → cfinterface-1.8.3}/cfinterface/components/defaultblock.py +0 -0
  25. {cfinterface-1.8.2 → cfinterface-1.8.3}/cfinterface/components/defaultregister.py +0 -0
  26. {cfinterface-1.8.2 → cfinterface-1.8.3}/cfinterface/components/defaultsection.py +0 -0
  27. {cfinterface-1.8.2 → cfinterface-1.8.3}/cfinterface/components/field.py +0 -0
  28. {cfinterface-1.8.2 → cfinterface-1.8.3}/cfinterface/components/integerfield.py +0 -0
  29. {cfinterface-1.8.2 → cfinterface-1.8.3}/cfinterface/components/line.py +0 -0
  30. {cfinterface-1.8.2 → cfinterface-1.8.3}/cfinterface/components/literalfield.py +0 -0
  31. {cfinterface-1.8.2 → cfinterface-1.8.3}/cfinterface/components/register.py +0 -0
  32. {cfinterface-1.8.2 → cfinterface-1.8.3}/cfinterface/components/section.py +0 -0
  33. {cfinterface-1.8.2 → cfinterface-1.8.3}/cfinterface/data/__init__.py +0 -0
  34. {cfinterface-1.8.2 → cfinterface-1.8.3}/cfinterface/data/blockdata.py +0 -0
  35. {cfinterface-1.8.2 → cfinterface-1.8.3}/cfinterface/data/registerdata.py +0 -0
  36. {cfinterface-1.8.2 → cfinterface-1.8.3}/cfinterface/data/sectiondata.py +0 -0
  37. {cfinterface-1.8.2 → cfinterface-1.8.3}/cfinterface/files/__init__.py +0 -0
  38. {cfinterface-1.8.2 → cfinterface-1.8.3}/cfinterface/files/blockfile.py +0 -0
  39. {cfinterface-1.8.2 → cfinterface-1.8.3}/cfinterface/files/registerfile.py +0 -0
  40. {cfinterface-1.8.2 → cfinterface-1.8.3}/cfinterface/files/sectionfile.py +0 -0
  41. {cfinterface-1.8.2 → cfinterface-1.8.3}/cfinterface/py.typed +0 -0
  42. {cfinterface-1.8.2 → cfinterface-1.8.3}/cfinterface/reading/__init__.py +0 -0
  43. {cfinterface-1.8.2 → cfinterface-1.8.3}/cfinterface/reading/blockreading.py +0 -0
  44. {cfinterface-1.8.2 → cfinterface-1.8.3}/cfinterface/reading/registerreading.py +0 -0
  45. {cfinterface-1.8.2 → cfinterface-1.8.3}/cfinterface/reading/sectionreading.py +0 -0
  46. {cfinterface-1.8.2 → cfinterface-1.8.3}/cfinterface/writing/__init__.py +0 -0
  47. {cfinterface-1.8.2 → cfinterface-1.8.3}/cfinterface/writing/blockwriting.py +0 -0
  48. {cfinterface-1.8.2 → cfinterface-1.8.3}/cfinterface/writing/registerwriting.py +0 -0
  49. {cfinterface-1.8.2 → cfinterface-1.8.3}/cfinterface/writing/sectionwriting.py +0 -0
  50. {cfinterface-1.8.2 → cfinterface-1.8.3}/docs/source/conf.py +0 -0
  51. {cfinterface-1.8.2 → cfinterface-1.8.3}/docs/source/getting_started/contributing.rst +0 -0
  52. {cfinterface-1.8.2 → cfinterface-1.8.3}/docs/source/getting_started/tutorial.rst +0 -0
  53. {cfinterface-1.8.2 → cfinterface-1.8.3}/docs/source/index.rst +0 -0
  54. {cfinterface-1.8.2 → cfinterface-1.8.3}/docs/source/install/install.rst +0 -0
  55. {cfinterface-1.8.2 → cfinterface-1.8.3}/docs/source/reference/blocks/files/block.rst +0 -0
  56. {cfinterface-1.8.2 → cfinterface-1.8.3}/docs/source/reference/blocks/files/blockdata.rst +0 -0
  57. {cfinterface-1.8.2 → cfinterface-1.8.3}/docs/source/reference/blocks/files/blockfile.rst +0 -0
  58. {cfinterface-1.8.2 → cfinterface-1.8.3}/docs/source/reference/blocks/index.rst +0 -0
  59. {cfinterface-1.8.2 → cfinterface-1.8.3}/docs/source/reference/fields/components/datetimefield.rst +0 -0
  60. {cfinterface-1.8.2 → cfinterface-1.8.3}/docs/source/reference/fields/components/field.rst +0 -0
  61. {cfinterface-1.8.2 → cfinterface-1.8.3}/docs/source/reference/fields/components/floatfield.rst +0 -0
  62. {cfinterface-1.8.2 → cfinterface-1.8.3}/docs/source/reference/fields/components/integerfield.rst +0 -0
  63. {cfinterface-1.8.2 → cfinterface-1.8.3}/docs/source/reference/fields/components/literalfield.rst +0 -0
  64. {cfinterface-1.8.2 → cfinterface-1.8.3}/docs/source/reference/fields/index.rst +0 -0
  65. {cfinterface-1.8.2 → cfinterface-1.8.3}/docs/source/reference/line/index.rst +0 -0
  66. {cfinterface-1.8.2 → cfinterface-1.8.3}/docs/source/reference/registers/files/register.rst +0 -0
  67. {cfinterface-1.8.2 → cfinterface-1.8.3}/docs/source/reference/registers/files/registerdata.rst +0 -0
  68. {cfinterface-1.8.2 → cfinterface-1.8.3}/docs/source/reference/registers/files/registerfile.rst +0 -0
  69. {cfinterface-1.8.2 → cfinterface-1.8.3}/docs/source/reference/registers/index.rst +0 -0
  70. {cfinterface-1.8.2 → cfinterface-1.8.3}/docs/source/reference/sections/files/section.rst +0 -0
  71. {cfinterface-1.8.2 → cfinterface-1.8.3}/docs/source/reference/sections/files/sectiondata.rst +0 -0
  72. {cfinterface-1.8.2 → cfinterface-1.8.3}/docs/source/reference/sections/files/sectionfile.rst +0 -0
  73. {cfinterface-1.8.2 → cfinterface-1.8.3}/docs/source/reference/sections/index.rst +0 -0
  74. {cfinterface-1.8.2 → cfinterface-1.8.3}/examples/README.rst +0 -0
  75. {cfinterface-1.8.2 → cfinterface-1.8.3}/examples/__init__.py +0 -0
  76. {cfinterface-1.8.2 → cfinterface-1.8.3}/pyproject.toml +0 -0
  77. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/__init__.py +0 -0
  78. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/adapters/__init__.py +0 -0
  79. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/adapters/components/__init__.py +0 -0
  80. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/adapters/components/test_blockrepository.py +0 -0
  81. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/adapters/components/test_linerepository.py +0 -0
  82. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/adapters/components/test_registerrepository.py +0 -0
  83. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/adapters/components/test_sectionrepository.py +0 -0
  84. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/adapters/reading/__init__.py +0 -0
  85. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/adapters/reading/test_readingrepository.py +0 -0
  86. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/adapters/writing/__init__.py +0 -0
  87. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/adapters/writing/test_writingrepository.py +0 -0
  88. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/components/__init__.py +0 -0
  89. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/components/test_block.py +0 -0
  90. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/components/test_datetimefield.py +0 -0
  91. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/components/test_defaultblock.py +0 -0
  92. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/components/test_defaultregister.py +0 -0
  93. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/components/test_defaultsection.py +0 -0
  94. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/components/test_field.py +0 -0
  95. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/components/test_integerfield.py +0 -0
  96. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/components/test_line.py +0 -0
  97. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/components/test_literalfield.py +0 -0
  98. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/components/test_register.py +0 -0
  99. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/components/test_section.py +0 -0
  100. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/data/__init__.py +0 -0
  101. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/data/test_blockdata.py +0 -0
  102. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/data/test_registerdata.py +0 -0
  103. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/data/test_sectiondata.py +0 -0
  104. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/files/__init__.py +0 -0
  105. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/files/test_blockfile.py +0 -0
  106. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/files/test_registerfile.py +0 -0
  107. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/files/test_sectionfile.py +0 -0
  108. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/mocks/__init__.py +0 -0
  109. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/mocks/mock_open.py +0 -0
  110. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/reading/__init__.py +0 -0
  111. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/reading/test_blockreading.py +0 -0
  112. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/reading/test_registerreading.py +0 -0
  113. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/reading/test_sectionreading.py +0 -0
  114. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/writing/__init__.py +0 -0
  115. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/writing/test_blockwriting.py +0 -0
  116. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/writing/test_registerwriting.py +0 -0
  117. {cfinterface-1.8.2 → cfinterface-1.8.3}/tests/writing/test_sectionwriting.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cfinterface
3
- Version: 1.8.2
3
+ Version: 1.8.3
4
4
  Summary: Interface for handling custom formatted files
5
5
  Project-URL: Documentation, https://rjmalves.github.io/cfinterface/
6
6
  Project-URL: Repository, https://github.com/rjmalves/cfinterface/
@@ -6,7 +6,7 @@ cfi is a Python module for handling custom formatted files
6
6
  and provide reading, storing and writing utilities.
7
7
  """
8
8
 
9
- __version__ = "1.8.2"
9
+ __version__ = "1.8.3"
10
10
 
11
11
  from . import components # noqa
12
12
  from . import data # noqa
@@ -92,11 +92,12 @@ class FloatField(Field):
92
92
  value = value[: self.size]
93
93
  else:
94
94
  for d in range(self.__decimal_digits, -1, -1):
95
+ formatting_format = "E" if self.__format.lower() == "d" else self.__format
95
96
  value = "{:.{d}{format}}".format(
96
97
  round(self.value, d),
97
98
  d=d,
98
- format=self.__format,
99
- )
99
+ format=formatting_format,
100
+ ).replace("E", self.__format)
100
101
  if len(value) <= self._size:
101
102
  break
102
103
  return value.rjust(self.size)
@@ -19,6 +19,15 @@ def test_floatfield_read_scientific_notation():
19
19
  assert field.value == float(data)
20
20
 
21
21
 
22
+
23
+ def test_floatfield_read_scientific_notation_d():
24
+ data = "1.2D3"
25
+ field = FloatField(5, 0, 1, format="D")
26
+ line = f"{data}-something-else"
27
+ field.read(line)
28
+ assert field.value == float(data.replace("D", "e"))
29
+
30
+
22
31
  def test_floatfield_comma_separator():
23
32
  data = "1,23"
24
33
  field = FloatField(4, 0, 1, sep=",")
@@ -56,6 +65,14 @@ def test_floatfield_write_scientific_notation():
56
65
  line_after = field.write(line_before)
57
66
  assert line_before == line_after
58
67
 
68
+ def test_floatfield_write_scientific_notation_d():
69
+ data_text = "1.2D+3"
70
+ line_before = f"field-{data_text}-else"
71
+ data = float(data_text.replace("D", "e"))
72
+ field = FloatField(5, 6, 1, format="D", value=data)
73
+ line_after = field.write(line_before)
74
+ assert line_before == line_after
75
+
59
76
 
60
77
  def test_floatfield_write_scientific_notation_0():
61
78
  data_text = "0e+00"
File without changes
File without changes
File without changes
File without changes