45 lines
1.7 KiB
Python
45 lines
1.7 KiB
Python
# -*- 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())
|