Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/luziferius/mtgdeckconverter
Convert digital Magic The Gathering (R) deck lists between formats.
https://github.com/luziferius/mtgdeckconverter
conversion mtg mtg-deck python3
Last synced: 22 days ago
JSON representation
Convert digital Magic The Gathering (R) deck lists between formats.
- Host: GitHub
- URL: https://github.com/luziferius/mtgdeckconverter
- Owner: luziferius
- License: gpl-3.0
- Created: 2019-12-05T12:29:17.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2020-01-16T14:45:17.000Z (almost 5 years ago)
- Last Synced: 2024-10-04T13:54:59.966Z (about 1 month ago)
- Topics: conversion, mtg, mtg-deck, python3
- Language: Python
- Size: 84 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGES
- License: LICENSE
Awesome Lists containing this project
README
MTGDeckConverter
================Convert digital Magic The Gathering (R) deck lists between formats.
Please note that the conversion is lossy and may require online access, as not all formats provide all necessary
information to perform the conversion locally. This program relies on the scryfall.com API data
to perform information lookup, if needed.Limitations
-----------There are certain limitations,
when one deck file format supports features that the other source or target format does not support.For example, an XMage deck list requires the collector numbers of all cards in the deck,
which a TappedOut CSV export does not provide. Thus, to provide a conversion, the required numbers have to be looked up
using an additional card database as the data source.
On the other hand, XMage deck lists do not support TappedOut custom card categories, card language,
grading/card quality, foil state, and certain deck configurations, like Commander/Oathbreaker decks with sideboards.
These features will be *lost* during the conversion.In the other direction, XMage saves a fully manual deck layout with rows and columns of card stacks in the editor,
which TappedOut does not support. Thus the manual card arrangement will be lost when converting from XMage to TappedOut.Supported formats
-----------------This section lists the currently supported deck formats.
Beware: Currently, as long as the Scryfall integration is missing, deck conversions are incomplete.Input formats
+++++++++++++These deck formats can be read:
- CSV files exported from https://tappedout.net
Output formats
++++++++++++++These deck formats can be written:
- `XMage `_ deck lists
Requirements
------------- Python 3.7 or newer (This program uses features added in 3.7, so earlier versions are definitely unsupported.)
- ``requests`` (`https://pypi.org/project/requests/ `_)Install
-------At some point in the future, you’ll be able to install from PyPI using :code:`pip3 install MTGDeckConverter`
(NOTE: This program is currently NOT published on PyPI.
This will work at some point in the future, when this note disappears.)Alternatively, to install the latest version from a local repository checkout,
open a terminal at the root level of your checkout (contains ``setup.py`` and this README) and run:
:code:`pip3 install .` (Note the dot indicating the current directory).As a third alternative, you can run the program directly from the repository checkout without installation.
The repository contains a simple runner script (named ``MTGDeckConverter-runner.py``) that can be used for this purpose.Currently, there is no setup.exe or directly executable Python bundle for Windows platforms.
Usage
-----Currently, there is no main application.
You can explore what is implemented by importing the project as a Python library.
Later, you’ll be able to run this as a program by executing ``MTGDeckConverter``.Contributing
------------If you want to contribute, pull requests that fix issues or add additional input or output formats are welcome.
Just open a PR on GitHub to discuss the additions.Running the tests
+++++++++++++++++Running the unit test suite is integrated into setup.py.
So to run the tests, execute :code:`python3 setup.py test` from the git checkout root directory.The tests require:
- `pytest `_
- `PyHamcrest `_
- `pyfakefs `_About
-----Copyright (C) 2019, Thomas Hess
This program is licensed under the GNU GENERAL PUBLIC LICENSE Version 3.
See the LICENSE file for details.