jrdb-model 0.2.2__tar.gz → 0.2.4__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 (33) hide show
  1. {jrdb_model-0.2.2 → jrdb_model-0.2.4}/PKG-INFO +1 -1
  2. {jrdb_model-0.2.2 → jrdb_model-0.2.4}/pyproject.toml +1 -1
  3. {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/domain/bangumi.py +22 -7
  4. {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/domain/kaisai.py +4 -2
  5. {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/domain/racehorse.py +13 -7
  6. {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/domain/seiseki.py +4 -1
  7. {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model.egg-info/PKG-INFO +1 -1
  8. {jrdb_model-0.2.2 → jrdb_model-0.2.4}/tests/test_integration.py +8 -4
  9. {jrdb_model-0.2.2 → jrdb_model-0.2.4}/LICENSE +0 -0
  10. {jrdb_model-0.2.2 → jrdb_model-0.2.4}/README.md +0 -0
  11. {jrdb_model-0.2.2 → jrdb_model-0.2.4}/setup.cfg +0 -0
  12. {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/__init__.py +0 -0
  13. {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/domain/__init__.py +0 -0
  14. {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/domain/calculated_score.py +0 -0
  15. {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/domain/predict.py +0 -0
  16. {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/domain/predict_race.py +0 -0
  17. {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/domain/returninfo.py +0 -0
  18. {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/domain/seisekirace.py +0 -0
  19. {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/domain/trainanalysis.py +0 -0
  20. {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/domain/trainoikiri.py +0 -0
  21. {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/domain/umaren_odds.py +0 -0
  22. {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/domain/wakuren_odds.py +0 -0
  23. {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/domain/wide_odds.py +0 -0
  24. {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/master/__init__.py +0 -0
  25. {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/master/horsebase.py +0 -0
  26. {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/master/jockey.py +0 -0
  27. {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/master/mastercode.py +0 -0
  28. {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/master/trainer.py +0 -0
  29. {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/sessioncontroll.py +0 -0
  30. {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model.egg-info/SOURCES.txt +0 -0
  31. {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model.egg-info/dependency_links.txt +0 -0
  32. {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model.egg-info/requires.txt +0 -0
  33. {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jrdb-model
3
- Version: 0.2.2
3
+ Version: 0.2.4
4
4
  Summary: ORM for JRDB
5
5
  Author-email: requrd <requrd1989@gmail.com>
6
6
  Project-URL: Bug Tracker, https://github.com/astroripple/horseview/issues
@@ -6,7 +6,7 @@ classifiers = [
6
6
  "Operating System :: OS Independent",
7
7
  ]
8
8
  name = "jrdb-model"
9
- version = "0.2.2"
9
+ version = "0.2.4"
10
10
  description = "ORM for JRDB"
11
11
  readme = "README.md"
12
12
  dependencies = ["flask-migrate>=4.1.0", "pymysql>=1.1.1"]
@@ -1,35 +1,50 @@
1
- from typing import List
1
+ """レースデータ."""
2
+
3
+ from typing import List, Optional
2
4
 
3
5
  from sqlalchemy import ForeignKey
4
6
  from sqlalchemy.orm import Mapped, backref, mapped_column, relationship
5
7
 
6
8
  from ..sessioncontroll import db
9
+ from .predict_race import PredictRaceData
10
+ from .racehorse import RacehorseData
11
+ from .returninfo import ReturninfoData
12
+ from .umaren_odds import UmarenOddsData
13
+ from .wakuren_odds import WakurenOddsData
14
+ from .wide_odds import WideOddsData
7
15
 
8
16
 
9
17
  class BangumiData(db.Model):
18
+ """レースデータ.
19
+
20
+ Args:
21
+ db (_type_): _description_
22
+
23
+ """
24
+
10
25
  __tablename__ = "bangumi"
11
26
  racekey: Mapped[str] = mapped_column(primary_key=True)
12
27
  # 親に対して
13
28
  kaisaikey: Mapped[str] = mapped_column(ForeignKey("kaisai.kaisaikey"))
14
29
  # 子に対して
15
- racehorses: Mapped[List["RacehorseData"]] = relationship(
30
+ racehorses: Mapped[Optional[List["RacehorseData"]]] = relationship(
16
31
  "RacehorseData", backref=backref("bangumi"), innerjoin=True
17
32
  )
18
33
 
19
34
  # 1:1
20
- returninfo: Mapped[List["ReturninfoData"]] = relationship(
35
+ returninfo: Mapped[Optional["ReturninfoData"]] = relationship(
21
36
  "ReturninfoData", uselist=False, backref=backref("bangumi")
22
37
  )
23
- umaren_odds: Mapped[List["UmarenOddsData"]] = relationship(
38
+ umaren_odds: Mapped[Optional["UmarenOddsData"]] = relationship(
24
39
  "UmarenOddsData", uselist=False, backref=backref("bangumi")
25
40
  )
26
- wide_odds: Mapped[List["WideOddsData"]] = relationship(
41
+ wide_odds: Mapped[Optional["WideOddsData"]] = relationship(
27
42
  "WideOddsData", uselist=False, backref=backref("bangumi")
28
43
  )
29
- wakuren_odds: Mapped[List["WakurenOddsData"]] = relationship(
44
+ wakuren_odds: Mapped[Optional["WakurenOddsData"]] = relationship(
30
45
  "WakurenOddsData", uselist=False, backref=backref("bangumi")
31
46
  )
32
- predict_race: Mapped[List["PredictRaceData"]] = relationship(
47
+ predict_race: Mapped[Optional["PredictRaceData"]] = relationship(
33
48
  "PredictRaceData", uselist=False, backref=backref("bangumi")
34
49
  )
35
50
  ymd: Mapped[str] = mapped_column()
@@ -1,9 +1,11 @@
1
1
  """開催データ定義."""
2
2
 
3
- from typing import List
3
+ from typing import List, Optional
4
4
 
5
5
  from sqlalchemy.orm import Mapped, backref, mapped_column, relationship
6
6
 
7
+ from jrdb_model import BangumiData
8
+
7
9
  from ..sessioncontroll import db
8
10
 
9
11
 
@@ -13,7 +15,7 @@ class KaisaiData(db.Model):
13
15
  __tablename__ = "kaisai"
14
16
  kaisaikey: Mapped[int] = mapped_column(primary_key=True)
15
17
  # 子に対して
16
- races: Mapped[List["BangumiData"]] = relationship(
18
+ races: Mapped[Optional[List["BangumiData"]]] = relationship(
17
19
  "BangumiData", backref=backref("kaisai"), innerjoin=True
18
20
  )
19
21
  ymd: Mapped[int] = mapped_column()
@@ -1,11 +1,17 @@
1
1
  """競走馬データ."""
2
2
 
3
- from typing import List
3
+ from typing import Optional
4
4
 
5
5
  from sqlalchemy import ForeignKey
6
6
  from sqlalchemy.orm import Mapped, backref, mapped_column, relationship
7
7
 
8
+ from ..master.horsebase import HorsebaseData
8
9
  from ..sessioncontroll import db
10
+ from .calculated_score import CalculatedScoreData
11
+ from .predict import PredictData
12
+ from .seiseki import SeisekiData
13
+ from .trainanalysis import TrainAnalysisData
14
+ from .trainoikiri import TrainOikiriData
9
15
 
10
16
 
11
17
  class RacehorseData(db.Model):
@@ -22,22 +28,22 @@ class RacehorseData(db.Model):
22
28
  # 親に対して
23
29
  racekey: Mapped[str] = mapped_column(ForeignKey("bangumi.racekey"))
24
30
  # 1:1
25
- trainanalysis: Mapped[List["TrainAnalysisData"]] = relationship(
31
+ trainanalysis: Mapped[Optional["TrainAnalysisData"]] = relationship(
26
32
  "TrainAnalysisData", uselist=False, backref=backref("racehorse"), innerjoin=True
27
33
  )
28
- trainoikiri: Mapped[List["TrainOikiriData"]] = relationship(
34
+ trainoikiri: Mapped[Optional["TrainOikiriData"]] = relationship(
29
35
  "TrainOikiriData", uselist=False, backref=backref("racehorse"), innerjoin=True
30
36
  )
31
- horse_base: Mapped[List["HorsebaseData"]] = relationship(
37
+ horse_base: Mapped[Optional["HorsebaseData"]] = relationship(
32
38
  "HorsebaseData", uselist=False, backref=backref("racehorse"), innerjoin=True
33
39
  )
34
- result: Mapped[List["SeisekiData"]] = relationship(
40
+ result: Mapped[Optional["SeisekiData"]] = relationship(
35
41
  "SeisekiData", uselist=False, backref=backref("racehorse"), innerjoin=False
36
42
  )
37
- predict: Mapped[List["PredictData"]] = relationship(
43
+ predict: Mapped[Optional["PredictData"]] = relationship(
38
44
  "PredictData", uselist=False, backref=backref("racehorse"), innerjoin=False
39
45
  )
40
- calculated_score: Mapped[List["CalculatedScoreData"]] = relationship(
46
+ calculated_score: Mapped[Optional["CalculatedScoreData"]] = relationship(
41
47
  "CalculatedScoreData",
42
48
  uselist=False,
43
49
  backref=backref("racehorse"),
@@ -1,9 +1,12 @@
1
1
  """成績データ."""
2
2
 
3
+ from typing import Optional
4
+
3
5
  from sqlalchemy import ForeignKey
4
6
  from sqlalchemy.orm import Mapped, backref, mapped_column, relationship
5
7
 
6
8
  from ..sessioncontroll import db
9
+ from .seisekirace import SeisekiRaceData
7
10
 
8
11
 
9
12
  class SeisekiData(db.Model):
@@ -24,7 +27,7 @@ class SeisekiData(db.Model):
24
27
  kai: Mapped[int] = mapped_column()
25
28
  day: Mapped[str] = mapped_column()
26
29
  raceno: Mapped[int] = mapped_column()
27
- seisekirace = relationship(
30
+ seisekirace: Mapped[Optional["SeisekiRaceData"]] = relationship(
28
31
  "SeisekiRaceData", uselist=False, backref=backref("seiseki")
29
32
  )
30
33
  num: Mapped[int] = mapped_column()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jrdb-model
3
- Version: 0.2.2
3
+ Version: 0.2.4
4
4
  Summary: ORM for JRDB
5
5
  Author-email: requrd <requrd1989@gmail.com>
6
6
  Project-URL: Bug Tracker, https://github.com/astroripple/horseview/issues
@@ -3,21 +3,25 @@
3
3
 
4
4
  def test_kaisai():
5
5
  """開催データのジョインロードのテスト."""
6
- # import os
6
+ import os
7
7
  from typing import List
8
8
 
9
9
  from sqlalchemy.orm import joinedload
10
10
 
11
11
  from jrdb_model import KaisaiData, create_app
12
12
 
13
- # os.environ["DB"] = mariadb+pymysql://user:pass@host/database
13
+ os.environ["DB"] = (
14
+ "mariadb+pymysql://astroripple:S#tonoprime0407@sazanami-db/astroripple"
15
+ )
14
16
  app = create_app()
17
+ kaisais: List[KaisaiData]
15
18
  with app.app_context():
16
- kaisais: List[KaisaiData] = (
19
+ kaisais = (
17
20
  KaisaiData.query.filter(
18
21
  KaisaiData.ymd >= 20220101, KaisaiData.ymd <= 20220130
19
22
  )
20
23
  .options(joinedload("*"))
21
24
  .all()
22
25
  )
23
- assert len(kaisais) == 26
26
+ assert len(kaisais) == 26
27
+ assert kaisais[0].races[0].racehorses[0].result.order_of_arrival == 4
File without changes
File without changes
File without changes