Skip to content

Instantly share code, notes, and snippets.

@barraponto
Forked from pmarkun/astrogenerator.py
Last active May 21, 2016 02:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save barraponto/b7e21126e4b6447e8299fb701e9a7031 to your computer and use it in GitHub Desktop.
Save barraponto/b7e21126e4b6447e8299fb701e9a7031 to your computer and use it in GitHub Desktop.
import random
from flatlib.datetime import Datetime
from flatlib.geopos import GeoPos
from flatlib.chart import Chart
from flatlib import const
planets = {
'sun' : ['self-expression', 'will', 'assertion'],
'moon' : ['response', 'intuition', 'feeling'],
'mercury' : ['communication', 'thought', 'movement'],
'venus' : ['harmony', 'love', 'beauty'],
'mars' : ['energy', 'impulse', 'aggresion'],
'jupiter' : ['expansion', 'achievement', 'excess'],
'saturn' : ['limitation', 'structure', 'containment'],
'uranus' : ['change', 'liberation', 'rebellion'],
'neptune' : ['nebulousness', 'illusion', 'imagination'],
'pluto' : ['renewal', 'deepening', 'transformation'],
'chiron' : ['wounding', 'healing', 're-integration'],
'north node' : ['joining (relationship)'],
'south node' : ['separating (relationship)']
}
signs = {
'capricorn' : ['pratical', 'ambitious', 'masterful', 'over-serious'],
'aquarius' : ['revolutionary', 'inventive', 'humanitarian', 'abstract'],
'pisces' : ['mystical', 'visionary', 'compassionate', 'escapist'],
'aries' : ['fierce', 'forceful', 'courageous', 'impulsive'],
'taurus' : ['sensuous', 'peaceful', 'stable', 'obstinate'],
'gemini' : ['mental', 'communicative', 'perceptive', 'superficial'],
'cancer' : ['feelingful', 'intuitive', 'emphatic', 'moody'],
'leo' : ['kingly', 'expressive',' self-confident', 'ego-centered'],
'virgo' : ['chaste', 'detail-oriented', 'serving', 'perfectionist'],
'libra' : ['balanced', 'harmonious', 'reconciling', 'indecisive'],
'scorpio' : ['intense', 'instinctual', 'sexual', 'secretive'],
'sagittarius' : ['friendly', 'open-minded', 'philosophical', 'imprudent']
}
houses = {
'house1' : ['personality', 'physical body', 'early enviroment', 'appearance'],
'house2' : ['money', 'possessions', 'earning ability', 'self-esteem'],
'house3' : ['communication', 'lower mind', 'short journeys', 'siblings'],
'house4' : ['home', 'family lands', 'unconscious', 'past'],
'house5' : ['pleasures', 'social life', 'children', 'creativity'],
'house6' : ['service', 'health', 'work', 'competence', 'skill'],
'house7' : ['partnership', 'identification with others', 'counseling', 'open enemies'],
'house8' : ['death', 'instinct', 'sexuality', 'regeneration', 'others money'],
'house9' : ['long trips', 'adventure', 'higher mind', 'philosophy', 'religion'],
'house10' : ['career', 'status', 'reputation', 'destiny'],
'house11' : ['friends', 'groups',' future', 'wishes', 'goals'],
'house12' : ['limitiations', 'repreession', 'karma', 'self-unfolding', 'secret enemies']
}
class SolarChart(object):
def __init__(self, moment, position):
self.chart = Chart(moment, position, IDs=const.LIST_OBJECTS)
self.houses = {house.sign.lower(): house.id.lower() for house in self.chart.houses}
def tell(self):
for object_ in self.chart.objects:
try:
print('{} {} in {}'.format(
random.choice(signs[object_.sign.lower()]),
random.choice(planets[object_.id.lower()]),
random.choice(houses[self.houses[object_.sign.lower()]])
))
except KeyError:
pass
if __name__ == '__main__':
date = Datetime('1986/01/13', '13:46', '-02:00')
pos = GeoPos('-23:54', '-46:63')
SolarChart(date, pos).tell()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment