2021-08-04 01:39:19 +00:00
|
|
|
import roman
|
2021-08-03 17:45:35 +00:00
|
|
|
|
2021-08-03 21:41:25 +00:00
|
|
|
from .cards import Cards
|
2021-08-02 23:55:12 +00:00
|
|
|
|
2021-08-03 17:45:35 +00:00
|
|
|
|
2021-08-03 21:41:25 +00:00
|
|
|
class Opus(Cards):
|
|
|
|
def __init__(self, number):
|
|
|
|
if isinstance(number, int):
|
2021-08-04 01:39:19 +00:00
|
|
|
number = f"Opus {roman.toRoman(number)}"
|
2021-08-02 23:55:12 +00:00
|
|
|
|
2021-08-03 21:41:25 +00:00
|
|
|
params = {
|
|
|
|
"text": "",
|
|
|
|
"element": ["fire"],
|
|
|
|
"set": [number],
|
|
|
|
}
|
2021-08-02 23:55:12 +00:00
|
|
|
|
2021-08-03 21:41:25 +00:00
|
|
|
Cards.__init__(self, params)
|
2021-08-04 01:39:19 +00:00
|
|
|
|
|
|
|
# sort every element alphabetically
|
|
|
|
self.sort(key=lambda x: x.get_code())
|
|
|
|
self.sort(key=lambda x: x.get_name())
|
|
|
|
self.sort(key=lambda x: "Multi" if len(x.get_elements()) > 1 else x.get_elements()[0])
|