hytek-parser 2.1.0__tar.gz → 2.2.0__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 (28) hide show
  1. {hytek_parser-2.1.0 → hytek_parser-2.2.0}/PKG-INFO +1 -1
  2. {hytek_parser-2.1.0 → hytek_parser-2.2.0}/hytek_parser/__init__.py +3 -1
  3. {hytek_parser-2.1.0 → hytek_parser-2.2.0}/hytek_parser/hy3/line_parsers/d_swimmer_parsers.py +5 -2
  4. {hytek_parser-2.1.0 → hytek_parser-2.2.0}/hytek_parser/hy3/schemas.py +8 -2
  5. {hytek_parser-2.1.0 → hytek_parser-2.2.0}/pyproject.toml +1 -1
  6. {hytek_parser-2.1.0 → hytek_parser-2.2.0}/LICENSE.md +0 -0
  7. {hytek_parser-2.1.0 → hytek_parser-2.2.0}/README.md +0 -0
  8. {hytek_parser-2.1.0 → hytek_parser-2.2.0}/hytek_parser/_utils.py +0 -0
  9. {hytek_parser-2.1.0 → hytek_parser-2.2.0}/hytek_parser/export_xls/__init__.py +0 -0
  10. {hytek_parser-2.1.0 → hytek_parser-2.2.0}/hytek_parser/export_xls/_utils.py +0 -0
  11. {hytek_parser-2.1.0 → hytek_parser-2.2.0}/hytek_parser/export_xls/schemas.py +0 -0
  12. {hytek_parser-2.1.0 → hytek_parser-2.2.0}/hytek_parser/hy3/__init__.py +0 -0
  13. {hytek_parser-2.1.0 → hytek_parser-2.2.0}/hytek_parser/hy3/_utils.py +0 -0
  14. {hytek_parser-2.1.0 → hytek_parser-2.2.0}/hytek_parser/hy3/enums.py +0 -0
  15. {hytek_parser-2.1.0 → hytek_parser-2.2.0}/hytek_parser/hy3/line_parsers/__init__.py +0 -0
  16. {hytek_parser-2.1.0 → hytek_parser-2.2.0}/hytek_parser/hy3/line_parsers/a_file_parsers.py +0 -0
  17. {hytek_parser-2.1.0 → hytek_parser-2.2.0}/hytek_parser/hy3/line_parsers/b_meet_parsers.py +0 -0
  18. {hytek_parser-2.1.0 → hytek_parser-2.2.0}/hytek_parser/hy3/line_parsers/c_team_parsers.py +0 -0
  19. {hytek_parser-2.1.0 → hytek_parser-2.2.0}/hytek_parser/hy3/line_parsers/e_event_parsers.py +0 -0
  20. {hytek_parser-2.1.0 → hytek_parser-2.2.0}/hytek_parser/hy3/line_parsers/f_relay_parsers.py +0 -0
  21. {hytek_parser-2.1.0 → hytek_parser-2.2.0}/hytek_parser/hy3/line_parsers/g_split_parsers.py +0 -0
  22. {hytek_parser-2.1.0 → hytek_parser-2.2.0}/hytek_parser/hy3/line_parsers/h_dq_parsers.py +0 -0
  23. {hytek_parser-2.1.0 → hytek_parser-2.2.0}/hytek_parser/hy3_parser.py +0 -0
  24. {hytek_parser-2.1.0 → hytek_parser-2.2.0}/hytek_parser/hyv/__init__.py +0 -0
  25. {hytek_parser-2.1.0 → hytek_parser-2.2.0}/hytek_parser/hyv/enums.py +0 -0
  26. {hytek_parser-2.1.0 → hytek_parser-2.2.0}/hytek_parser/hyv/schemas.py +0 -0
  27. {hytek_parser-2.1.0 → hytek_parser-2.2.0}/hytek_parser/py.typed +0 -0
  28. {hytek_parser-2.1.0 → hytek_parser-2.2.0}/hytek_parser/types.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hytek-parser
3
- Version: 2.1.0
3
+ Version: 2.2.0
4
4
  Summary: Parsers for the files produced by Hytek's Meet Manager.
5
5
  Home-page: https://www.github.com/SwimComm/hytek-parser
6
6
  License: MIT
@@ -1,4 +1,6 @@
1
1
  """A Hytek hy3 file parser."""
2
+ from importlib.metadata import version
3
+
2
4
  from .export_xls import ExportXlsParseError, parse_event_export_xls
3
5
  from .hy3 import HY3_LINE_PARSERS
4
6
  from .hy3_parser import parse_hy3
@@ -15,4 +17,4 @@ __all__ = [
15
17
  ]
16
18
  __author__ = "Nino Maruszewski"
17
19
  __license__ = "MIT"
18
- __version__ = "2.1.0"
20
+ __version__ = version(__package__)
@@ -26,9 +26,12 @@ def d1_parser(
26
26
 
27
27
  # previously dropped D1 fields. Capture both per spec.
28
28
  # citizenship: cols 113-115 (3 chars). Observed: 'USA' or blank.
29
- # unparsed_d1_col_125: col 125 (1 char). Observed: 'N' or blank; semantics unverified.
29
+ # status: col 125 (1 char). Athlete status; observed 'N' (Normal) or blank.
30
30
  swimmer.citizenship = extract(line, 113, 3) or None
31
- swimmer.unparsed_d1_col_125 = extract(line, 125, 1) or None
31
+ swimmer.status = extract(line, 125, 1) or None
32
+ # class_year: cols 100-101 (2 chars). "Fr"/"So"/"Jr"/"Sr" school
33
+ # class in HS-meet exports; other data / blank in club exports.
34
+ swimmer.class_year = extract(line, 100, 2) or None
32
35
 
33
36
  swimmer.team_code = team_code
34
37
 
@@ -38,8 +38,14 @@ class Swimmer:
38
38
 
39
39
  # D1 fields previously dropped by the parser
40
40
  citizenship: Optional[str] = None
41
- # col 125; semantics unverified — name intentionally non-descriptive
42
- unparsed_d1_col_125: Optional[str] = None
41
+ # col 125; athlete status (Hytek MM "Status" field). Raw 1-char code — only
42
+ # "N" (Normal) or blank observed across ~9.25M records; other GUI statuses
43
+ # (Impaired/Exhibition/Foreigner/Rookie) never seen in data, so left as a
44
+ # raw code rather than an enum.
45
+ status: Optional[str] = None
46
+ # cols 100-101; "Fr"/"So"/"Jr"/"Sr" school class in HS-meet exports,
47
+ # other data / blank in club exports.
48
+ class_year: Optional[str] = None
43
49
 
44
50
 
45
51
  @define
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "hytek-parser"
3
- version = "2.1.0"
3
+ version = "2.2.0"
4
4
  description = "Parsers for the files produced by Hytek's Meet Manager."
5
5
  license = "MIT"
6
6
  authors = ["Nino Maruszewski <nino.maruszewski@hotmail.com>"]
File without changes
File without changes