|
|
# -*- coding: utf-8 -*-
|
|
|
from gi.repository import SweGlib
|
|
|
import math
|
|
|
import codecs
|
|
|
import sys
|
|
|
|
|
|
sys.stdout = codecs.getwriter('utf-8')(sys.stdout)
|
|
|
|
|
|
SweGlib.init()
|
|
|
|
|
|
timestamp = SweGlib.Timestamp()
|
|
|
timestamp.set_gregorian_full(1983, 3, 7, 11, 54, 45, 0, 1)
|
|
|
|
|
|
moment = SweGlib.Moment()
|
|
|
moment.set_timestamp(timestamp)
|
|
|
moment.set_coordinates(19.03991, 47.49801, 280)
|
|
|
moment.set_house_system(SweGlib.HouseSystem.PLACIDUS)
|
|
|
moment.add_all_planets()
|
|
|
|
|
|
all_planets = moment.get_all_planets()
|
|
|
for planet in all_planets:
|
|
|
position = planet.get_position()
|
|
|
sign_position = position % 30
|
|
|
degree = math.floor(sign_position)
|
|
|
minute = math.floor((sign_position - degree) * 60)
|
|
|
second = math.floor(((sign_position - degree) * 60 - minute) * 60)
|
|
|
|
|
|
print u"%s: %f (%d°%d′%d″ %s)" % (planet.get_planet_info().get_name(), position, degree, minute, second, planet.get_sign_info().get_name())
|
|
|
|
|
|
all_aspects = moment.get_all_aspects()
|
|
|
for aspect in all_aspects:
|
|
|
if aspect.get_aspect() != SweGlib.Aspect.NONE:
|
|
|
planet1 = aspect.get_planet1()
|
|
|
planet2 = aspect.get_planet2()
|
|
|
|
|
|
print u"%s in %s with %s (±%.2f%%)" % (planet1.get_planet_info().get_name(), aspect.get_aspect_info().get_name(), planet2.get_planet_info().get_name(), aspect.get_difference())
|
|
|
|
|
|
all_antiscia = moment.get_all_antiscia()
|
|
|
for antiscion in all_antiscia:
|
|
|
if antiscion.get_axis() != SweGlib.AntiscionAxis.NONE:
|
|
|
planet1 = antiscion.get_planet1()
|
|
|
planet2 = antiscion.get_planet2()
|
|
|
|
|
|
print u"%s is antiscion of %s on axis %s (±%.2f%%)" % (planet1.get_planet_info().get_name(), planet2.get_planet_info().get_name(), antiscion.get_antiscion_axis_info().get_name(), antiscion.get_difference())
|