tarot

A Tarot engine
git clone https://git.parazyd.org/tarot
Log | Files | Refs | README | LICENSE

commit abef80a993a13f5de9591238dbc4d0594fd5a25d
parent c7b2ae6df8d509dee5450a2578c301154667742b
Author: parazyd <parazyd@dyne.org>
Date:   Fri, 29 Nov 2019 12:11:21 +0100

Implement HTML output.

Diffstat:
Mtarot.py | 66+++++++++++++++++++++++++++++++++++++++++++++++++++---------------
1 file changed, 51 insertions(+), 15 deletions(-)

diff --git a/tarot.py b/tarot.py @@ -2,8 +2,10 @@ # See LICENSE file for copyright and license details. """ Main tarot.py module """ -from random import randint from inspect import cleandoc +from os.path import join +from random import randint +from sys import argv from majorarcana import majorarcana, majorarcana_readings, majorarcana_readers @@ -15,12 +17,12 @@ readers = majorarcana_readers cards = [ - "+++ Card 1: How you feel about yourself +++", - "+++ Card 2: What you want most right now +++", - "+++ Card 3: Your fears +++", - "+++ Card 4: What is going for you +++", - "+++ Card 5: What is going against you +++", - "+++ Card 6: The likely outcome +++", + 'Card 1: How you feel about yourself', + 'Card 2: What you want most right now', + 'Card 3: Your fears', + 'Card 4: What is going for you', + 'Card 5: What is going against you', + 'Card 6: The likely outcome', ] @@ -28,14 +30,31 @@ def draw_random_card(deck): return deck[randint(0, len(deck)-1)] -def main(): +def main(out='text'): reader = readers[randint(0, len(readers)-1)] drawn = [] - - print("======================================") index = 0 + + if out == 'html': + print("""<!DOCTYPE html> + <html lang="en"> + <head> + <title>Tarot Card Reading</title> + + <style> + body { + background-color: #eee; + margin: 2%; + } + </style> + </head> + <body>""") + for i in cards: - print(i) + if out == 'text': + print('+++ %s +++' % i) + else: + print('<h2 class="cardmeaning">%s</h2>' % i) card = None while True: if card in drawn or card is None: @@ -44,12 +63,29 @@ def main(): drawn.append(card) break cardname = list(card.keys())[0] - print("+++ %s +++" % cardname) + if out == 'text': + print('+++ %s +++' % cardname) + else: + print('<h2 class="cardname">%s</h2>' % cardname) + image_path = join('images/majorarcana', + cardname.lower().replace(' ', '-') + '.jpg') + if out == 'html': + print('<img src="%s">' % image_path) desc = readings[index][cardname][reader] - print(cleandoc(desc)) - print("\n======================================") + if out == 'text': + print(cleandoc(desc)) + else: + print('<p>%s</p>' % cleandoc(desc)) + print('<hr>') index += 1 + if out == 'html': + print("""</body> + </html>""") + if __name__ == '__main__': - main() + if len(argv) > 1 and argv[1] == '--html': + main(out='html') + else: + main()