mtg-ssm 2.5.2.dev2__tar.gz → 2.5.3.dev1__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 (67) hide show
  1. mtg_ssm-2.5.3.dev1/.github/workflows/integration.yml +50 -0
  2. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/.github/workflows/pre-commit.yml +3 -1
  3. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/.github/workflows/run-tests.yml +5 -3
  4. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/PKG-INFO +6 -1
  5. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/README.rst +5 -0
  6. mtg_ssm-2.5.3.dev1/mtg_ssm/_version.py +4 -0
  7. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/mtg_ssm/scryfall/fetcher.py +4 -3
  8. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/mtg_ssm/scryfall/models.py +1 -0
  9. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/mtg_ssm.egg-info/PKG-INFO +6 -1
  10. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/mtg_ssm.egg-info/SOURCES.txt +1 -0
  11. mtg_ssm-2.5.2.dev2/mtg_ssm/_version.py +0 -4
  12. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/.editorconfig +0 -0
  13. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/.github/dependabot.yml +0 -0
  14. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/.github/workflows/publish.yml +0 -0
  15. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/.gitignore +0 -0
  16. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/.pre-commit-config.yaml +0 -0
  17. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/LICENSE.txt +0 -0
  18. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/TODO.md +0 -0
  19. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/mtg_ssm/__init__.py +0 -0
  20. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/mtg_ssm/containers/__init__.py +0 -0
  21. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/mtg_ssm/containers/bundles.py +0 -0
  22. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/mtg_ssm/containers/collection.py +0 -0
  23. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/mtg_ssm/containers/counts.py +0 -0
  24. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/mtg_ssm/containers/indexes.py +0 -0
  25. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/mtg_ssm/containers/legacy.py +0 -0
  26. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/mtg_ssm/mtg/__init__.py +0 -0
  27. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/mtg_ssm/mtg/util.py +0 -0
  28. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/mtg_ssm/py.typed +0 -0
  29. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/mtg_ssm/scryfall/__init__.py +0 -0
  30. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/mtg_ssm/serialization/__init__.py +0 -0
  31. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/mtg_ssm/serialization/csv.py +0 -0
  32. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/mtg_ssm/serialization/interface.py +0 -0
  33. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/mtg_ssm/serialization/xlsx.py +0 -0
  34. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/mtg_ssm/ssm.py +0 -0
  35. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/mtg_ssm.egg-info/dependency_links.txt +0 -0
  36. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/mtg_ssm.egg-info/entry_points.txt +0 -0
  37. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/mtg_ssm.egg-info/requires.txt +0 -0
  38. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/mtg_ssm.egg-info/top_level.txt +0 -0
  39. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/pylintrc +0 -0
  40. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/pyproject.toml +0 -0
  41. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/setup.cfg +0 -0
  42. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/tests/__init__.py +0 -0
  43. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/tests/conftest.py +0 -0
  44. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/tests/containers/__init__.py +0 -0
  45. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/tests/containers/test_bundles.py +0 -0
  46. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/tests/containers/test_counts.py +0 -0
  47. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/tests/containers/test_indexes.py +0 -0
  48. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/tests/containers/test_legacy.py +0 -0
  49. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/tests/data/LICENSE.txt +0 -0
  50. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/tests/data/bulk_data.json +0 -0
  51. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/tests/data/cards.json +0 -0
  52. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/tests/data/migrations.json +0 -0
  53. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/tests/data/sets.json +0 -0
  54. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/tests/data/sets1.json +0 -0
  55. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/tests/data/sets2.json +0 -0
  56. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/tests/gen_testdata.py +0 -0
  57. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/tests/mtg/__init__.py +0 -0
  58. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/tests/mtg/test_util.py +0 -0
  59. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/tests/scryfall/__init__.py +0 -0
  60. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/tests/scryfall/test_fetcher.py +0 -0
  61. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/tests/serialization/__init__.py +0 -0
  62. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/tests/serialization/__snapshots__/test_csv.ambr +0 -0
  63. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/tests/serialization/__snapshots__/test_xlsx.ambr +0 -0
  64. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/tests/serialization/test_csv.py +0 -0
  65. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/tests/serialization/test_interface.py +0 -0
  66. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/tests/serialization/test_xlsx.py +0 -0
  67. {mtg_ssm-2.5.2.dev2 → mtg_ssm-2.5.3.dev1}/tests/test_ssm.py +0 -0
@@ -0,0 +1,50 @@
1
+ name: integration
2
+ concurrency: integration
3
+
4
+ on:
5
+ push:
6
+ branches:
7
+ # Run on every push to trunk
8
+ - trunk
9
+ schedule:
10
+ # Run every Saturday at 4:05 AM UTC
11
+ - cron: "5 4 * * SAT"
12
+
13
+ jobs:
14
+ end-to-end:
15
+ runs-on: ubuntu-latest
16
+ strategy:
17
+ matrix:
18
+ extras:
19
+ - ""
20
+ - "[lxml]"
21
+ name: End-to-end tests
22
+ steps:
23
+ - uses: actions/checkout@v3
24
+
25
+ - uses: actions/setup-python@v4
26
+ with:
27
+ python-version: "3.8"
28
+ cache: pip
29
+ cache-dependency-path: |
30
+ pyproject.toml
31
+
32
+ - name: Install project
33
+ run: |
34
+ pip install -U pip setuptools wheel
35
+ pip install -e .${{ matrix.extras }}
36
+
37
+ - name: Create csv
38
+ run: mtg-ssm create collection1.csv
39
+
40
+ - name: Update csv
41
+ run: mtg-ssm update collection1.csv
42
+
43
+ - name: Create xlsx
44
+ run: mtg-ssm create collection2.xlsx
45
+
46
+ - name: Update xlsx
47
+ run: mtg-ssm update collection2.xlsx
48
+
49
+ - name: Merge csv and xlsx
50
+ run: mtg-ssm merge collection3.xlsx collection1.csv collection2.xlsx
@@ -20,6 +20,8 @@ jobs:
20
20
  cache-dependency-path: |
21
21
  pyproject.toml
22
22
 
23
- - run: pip install -e .[lxml,dev]
23
+ - run: |
24
+ pip install -U pip setuptools wheel
25
+ pip install -e .[lxml,dev]
24
26
 
25
27
  - uses: pre-commit/action@v3.0.0
@@ -28,7 +28,9 @@ jobs:
28
28
  pyproject.toml
29
29
 
30
30
  - name: Install project
31
- run: pip install -e .[lmxl,dev]
31
+ run: |
32
+ pip install -U pip setuptools wheel
33
+ pip install -e .[lxml,dev]
32
34
 
33
35
  - name: Execute pytest
34
36
  run: pytest tests/
@@ -37,7 +39,7 @@ jobs:
37
39
  run: coverage lcov
38
40
 
39
41
  - name: Coveralls Parallel
40
- uses: coverallsapp/github-action@1.1.3
42
+ uses: coverallsapp/github-action@v1.2.0
41
43
  with:
42
44
  github-token: ${{ secrets.github_token }}
43
45
  flag-name: python-${{ matrix.python-version }}
@@ -50,7 +52,7 @@ jobs:
50
52
  runs-on: ubuntu-latest
51
53
  steps:
52
54
  - name: Coveralls Finished
53
- uses: coverallsapp/github-action@1.1.3
55
+ uses: coverallsapp/github-action@v1.2.0
54
56
  with:
55
57
  github-token: ${{ secrets.github_token }}
56
58
  path-to-lcov: coverage.lcov
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mtg_ssm
3
- Version: 2.5.2.dev2
3
+ Version: 2.5.3.dev1
4
4
  Summary: A tool to manage Magic: the Gathering collection spreadsheets
5
5
  Author-email: George Leslie-Waksman <waksman@gmail.com>
6
6
  License: MIT
@@ -200,6 +200,11 @@ Development
200
200
 
201
201
  - ...
202
202
 
203
+ 2.5.2
204
+ -----
205
+
206
+ - Add prEDH legality to models.
207
+
203
208
  2.5.1
204
209
  -----
205
210
 
@@ -168,6 +168,11 @@ Development
168
168
 
169
169
  - ...
170
170
 
171
+ 2.5.2
172
+ -----
173
+
174
+ - Add prEDH legality to models.
175
+
171
176
  2.5.1
172
177
  -----
173
178
 
@@ -0,0 +1,4 @@
1
+ # file generated by setuptools_scm
2
+ # don't change, don't track in version control
3
+ __version__ = version = '2.5.3.dev1'
4
+ __version_tuple__ = version_tuple = (2, 5, 3, 'dev1')
@@ -52,7 +52,7 @@ def _value_from_validation_error(data: JSON, verr: ValidationError) -> Dict[str,
52
52
  loc = error["loc"]
53
53
  value = data
54
54
  for field in loc:
55
- if field == "__root__":
55
+ if field in {"__root__", "__key__"}:
56
56
  break
57
57
  if isinstance(value, Mapping) and isinstance(field, str):
58
58
  value = value[field]
@@ -100,10 +100,11 @@ def _deserialize_cards(card_jsons: List[JSON]) -> List[ScryCard]:
100
100
  try:
101
101
  cards_data.append(ScryCard.parse_obj(card_json))
102
102
  except ValidationError as err:
103
- print("Failed with pydantic errors on values:")
104
- pprint.pp(_value_from_validation_error(card_json, err))
103
+ print("Failed with pydantic errors")
105
104
  print("Failed on:")
106
105
  pprint.pp(card_json)
106
+ print("Failed on values:")
107
+ pprint.pp(_value_from_validation_error(card_json, err))
107
108
  raise
108
109
  except Exception:
109
110
  print("Failed on:")
@@ -202,6 +202,7 @@ class ScryFormat(str, Enum):
202
202
  ALCHEMY = "alchemy"
203
203
  PAUPERCOMMANDER = "paupercommander"
204
204
  PREMODERN = "premodern"
205
+ PREDH = "predh"
205
206
 
206
207
 
207
208
  class ScryLegality(str, Enum):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mtg-ssm
3
- Version: 2.5.2.dev2
3
+ Version: 2.5.3.dev1
4
4
  Summary: A tool to manage Magic: the Gathering collection spreadsheets
5
5
  Author-email: George Leslie-Waksman <waksman@gmail.com>
6
6
  License: MIT
@@ -200,6 +200,11 @@ Development
200
200
 
201
201
  - ...
202
202
 
203
+ 2.5.2
204
+ -----
205
+
206
+ - Add prEDH legality to models.
207
+
203
208
  2.5.1
204
209
  -----
205
210
 
@@ -7,6 +7,7 @@ TODO.md
7
7
  pylintrc
8
8
  pyproject.toml
9
9
  .github/dependabot.yml
10
+ .github/workflows/integration.yml
10
11
  .github/workflows/pre-commit.yml
11
12
  .github/workflows/publish.yml
12
13
  .github/workflows/run-tests.yml
@@ -1,4 +0,0 @@
1
- # file generated by setuptools_scm
2
- # don't change, don't track in version control
3
- __version__ = version = '2.5.2.dev2'
4
- __version_tuple__ = version_tuple = (2, 5, 2, 'dev2')
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes