ttarot.py - tarot - A Tarot engine
HTML git clone https://git.parazyd.org/tarot
DIR Log
DIR Files
DIR Refs
DIR README
DIR LICENSE
---
ttarot.py (2345B)
---
1 #!/usr/bin/env python3
2 # See LICENSE file for copyright and license details.
3 """ Main tarot.py module """
4
5 from inspect import cleandoc
6 from os.path import join
7 from random import randint
8 from sys import argv
9
10 from majorarcana import majorarcana, majorarcana_readings, majorarcana_readers
11
12
13 # Configuration
14 card_deck = majorarcana
15 readings = majorarcana_readings
16 readers = majorarcana_readers
17
18
19 cards = [
20 'Card 1: How you feel about yourself',
21 'Card 2: What you want most right now',
22 'Card 3: Your fears',
23 'Card 4: What is going for you',
24 'Card 5: What is going against you',
25 'Card 6: The likely outcome',
26 ]
27
28
29 def draw_random_card(deck):
30 return deck[randint(0, len(deck)-1)]
31
32
33 def main(out='html'):
34 reader = readers[randint(0, len(readers)-1)]
35 drawn = []
36 index = 0
37
38 if out == 'html':
39 print("""<!DOCTYPE html>
40 <html lang="en">
41 <head>
42 <title>Tarot Card Reading</title>
43
44 <style>
45 body {
46 background-color: #eee;
47 margin: 2%;
48 }
49 </style>
50 </head>
51 <body>""")
52
53 for i in cards:
54 if out == 'text':
55 print('+++ %s +++' % i)
56 else:
57 print('<h2 class="cardmeaning">%s</h2>' % i)
58 card = None
59 while True:
60 if card in drawn or card is None:
61 card = draw_random_card(card_deck)
62 continue
63 drawn.append(card)
64 break
65 cardname = list(card.keys())[0]
66 if out == 'text':
67 print('+++ %s +++' % cardname)
68 else:
69 print('<h2 class="cardname">%s</h2>' % cardname)
70 image_path = join('images/majorarcana',
71 cardname.lower().replace(' ', '-') + '.jpg')
72 if out == 'html':
73 print('<img src="%s">' % image_path)
74 desc = readings[index][cardname][reader]
75 if out == 'text':
76 print(cleandoc(desc))
77 else:
78 print('<p>%s</p>' % cleandoc(desc))
79 print('<hr>')
80 index += 1
81
82 if out == 'html':
83 print("""</body>
84 </html>""")
85
86
87 if __name__ == '__main__':
88 if len(argv) > 1 and argv[1] == '--text':
89 main(out='text')
90 else:
91 main(out='html')