def onDecrMonth(self, event):
		h, mi, s = util.decToDeg(self.t)
		yt, mt = util.decrMonth(self.y+self.cnt, self.m)
		tim = chart.Time(yt, mt, self.d, h, mi, s, self.chart.time.bc, self.chart.time.cal, self.chart.time.zt, self.chart.time.plus, self.chart.time.zh, self.chart.time.zm, self.chart.time.daylightsaving, self.chart.place, False)
		if tim.jd > self.chart.time.jd:
			y, self.m = util.decrMonth(self.y+self.cnt, self.m)

			if y != self.y+self.cnt:
				self.cnt -=1
			self.show(self.y, self.m, self.d, self.t, self.cnt)
示例#2
0
 def onDecrMonth(self, event):
     y, m = util.decrMonth(self.chart.time.origyear,
                           self.chart.time.origmonth)
     self.show(y, m, self.chart.time.origday, self.chart.time.hour,
               self.chart.time.minute, self.chart.time.second)
示例#3
0
	def compute(self, typ, by, bm, bd, chrt):
		if typ == Revolutions.SOLAR:
			year = by
			if bm > chrt.time.month or (bm == chrt.time.month and bd > chrt.time.day):
				year+= 1

			month = chrt.time.month
			day = chrt.time.day

			trans = transits.Transits()
			trans.month(year, month, chrt, astrology.SE_SUN)

#			if not found => checking previous or next month
			if len(trans.transits) == 0:
				if day < 4:
					year, month = util.decrMonth(year, month)
				else:
					year, month = util.incrMonth(year, month)

				trans = transits.Transits()
				trans.month(year, month, chrt, astrology.SE_SUN)

			if len(trans.transits) > 0:
				self.createRevolution(year, month, trans)
				return True

			return False
		elif typ == Revolutions.LUNAR:
			trans = transits.Transits()
			trans.month(by, bm, chrt, astrology.SE_MOON)

			if len(trans.transits) > 0:
				second = False

				if bd > trans.transits[0].day:
					# There can be more than one lunar in a month!!
					if len(trans.transits) > 1:
						if bd > trans.transits[1].day:
							by, bm = util.incrMonth(by, bm)

							trans = transits.Transits()
							trans.month(by, bm, chrt, astrology.SE_MOON)
						else:
							second = True
					else:
						by, bm = util.incrMonth(by, bm)

						trans = transits.Transits()
						trans.month(by, bm, chrt, astrology.SE_MOON)

				if len(trans.transits) > 0:
					if second:
						self.createRevolution(by, bm, trans, 1)
					else:
						self.createRevolution(by, bm, trans)
					return True

			return False
		elif typ == Revolutions.MERCURY:
			for i in range(14):
				trans = transits.Transits()
				trans.month(by, bm, chrt, astrology.SE_MERCURY)

				if len(trans.transits) > 0:
					if not (i == 0 and bd > trans.transits[0].day):
						self.createRevolution(by, bm, trans)
						return True

				by, bm = util.incrMonth(by, bm)

			return False
		elif typ == Revolutions.VENUS:
			for i in range(16):
				trans = transits.Transits()
				trans.month(by, bm, chrt, astrology.SE_VENUS)

				if len(trans.transits) > 0:
					if not (i == 0 and bd > trans.transits[0].day):
						self.createRevolution(by, bm, trans)
						return True

				by, bm = util.incrMonth(by, bm)

			return False
		elif typ == Revolutions.MARS:
			for i in range(26):
				trans = transits.Transits()
				trans.month(by, bm, chrt, astrology.SE_MARS)

				if len(trans.transits) > 0:
					if not (i == 0 and bd > trans.transits[0].day):
						self.createRevolution(by, bm, trans)
						return True

				by, bm = util.incrMonth(by, bm)

			return False
		elif typ == Revolutions.JUPITER:
			for i in range(12*12):
				trans = transits.Transits()
				trans.month(by, bm, chrt, astrology.SE_JUPITER)

				if len(trans.transits) > 0:
					if not (i == 0 and bd > trans.transits[0].day):
						self.createRevolution(by, bm, trans)
						return True

				by, bm = util.incrMonth(by, bm)

			return False
		elif typ == Revolutions.SATURN:
			for i in range(30*12):
				trans = transits.Transits()
				trans.month(by, bm, chrt, astrology.SE_SATURN)

				if len(trans.transits) > 0:
					if not (i == 0 and bd > trans.transits[0].day):
						self.createRevolution(by, bm, trans)
						return True

				by, bm = util.incrMonth(by, bm)

			return False

		return False
	def onDecrMonth(self, event):
		y, m = util.decrMonth(self.chart.time.origyear, self.chart.time.origmonth)
		self.show(y, m, self.chart.time.origday, self.chart.time.hour, self.chart.time.minute, self.chart.time.second)
示例#5
0
	def compute(self, typ, by, bm, bd, chrt):
		if typ == Revolutions.SOLAR:
			year = by
			if bm > chrt.time.month or (bm == chrt.time.month and bd > chrt.time.day):
				year+= 1

			month = chrt.time.month
			day = chrt.time.day

			trans = transits.Transits()
			trans.month(year, month, chrt, astrology.SE_SUN)

#			if not found => checking previous or next month
			if len(trans.transits) == 0:
				if day < 4:
					year, month = util.decrMonth(year, month)
				else:
					year, month = util.incrMonth(year, month)

				trans = transits.Transits()
				trans.month(year, month, chrt, astrology.SE_SUN)

			if len(trans.transits) > 0:
				self.createRevolution(year, month, trans)
				return True

			return False
		elif typ == Revolutions.LUNAR:
			trans = transits.Transits()
			trans.month(by, bm, chrt, astrology.SE_MOON)

			if len(trans.transits) > 0:
				second = False

				if bd > trans.transits[0].day:
					# There can be more than one lunar in a month!!
					if len(trans.transits) > 1:
						if bd > trans.transits[1].day:
							by, bm = util.incrMonth(by, bm)

							trans = transits.Transits()
							trans.month(by, bm, chrt, astrology.SE_MOON)
						else:
							second = True
					else:
						by, bm = util.incrMonth(by, bm)

						trans = transits.Transits()
						trans.month(by, bm, chrt, astrology.SE_MOON)

				if len(trans.transits) > 0:
					if second:
						self.createRevolution(by, bm, trans, 1)
					else:
						self.createRevolution(by, bm, trans)
					return True

			return False
		elif typ == Revolutions.MERCURY:
			for i in range(14):
				trans = transits.Transits()
				trans.month(by, bm, chrt, astrology.SE_MERCURY)

				if len(trans.transits) > 0:
					if not (i == 0 and bd > trans.transits[0].day):
						self.createRevolution(by, bm, trans)
						return True

				by, bm = util.incrMonth(by, bm)

			return False
		elif typ == Revolutions.VENUS:
			for i in range(16):
				trans = transits.Transits()
				trans.month(by, bm, chrt, astrology.SE_VENUS)

				if len(trans.transits) > 0:
					if not (i == 0 and bd > trans.transits[0].day):
						self.createRevolution(by, bm, trans)
						return True

				by, bm = util.incrMonth(by, bm)

			return False
		elif typ == Revolutions.MARS:
			for i in range(26):
				trans = transits.Transits()
				trans.month(by, bm, chrt, astrology.SE_MARS)

				if len(trans.transits) > 0:
					if not (i == 0 and bd > trans.transits[0].day):
						self.createRevolution(by, bm, trans)
						return True

				by, bm = util.incrMonth(by, bm)

			return False
		elif typ == Revolutions.JUPITER:
			for i in range(12*12):
				trans = transits.Transits()
				trans.month(by, bm, chrt, astrology.SE_JUPITER)

				if len(trans.transits) > 0:
					if not (i == 0 and bd > trans.transits[0].day):
						self.createRevolution(by, bm, trans)
						return True

				by, bm = util.incrMonth(by, bm)

			return False
		elif typ == Revolutions.SATURN:
			for i in range(30*12):
				trans = transits.Transits()
				trans.month(by, bm, chrt, astrology.SE_SATURN)

				if len(trans.transits) > 0:
					if not (i == 0 and bd > trans.transits[0].day):
						self.createRevolution(by, bm, trans)
						return True

				by, bm = util.incrMonth(by, bm)

			return False

		return False