
    udy                        d dl mZ d dlmZ g dZg dZg dZg dZg dZ	g dZ
ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        gZg dZg d	Zg d
Zg dZg dZg dddgg dg ddgg dg ddgdgdg dg ddgdg dg dg dg dg ddgdg dddgg dg dddgdgdg dg d g dg d!ddgdgdg d"g d#g dg d$g d%g dgZg d&Zg d'Zg d(Zg d)Zg d*Zg d+Z e eee                    Z e eee                    Z e eee
                    Z  e ee	e
                    Z! e eee                    Z" e ee	e                    Z# e eee                    Z$ e eee                    Z% e eee                    Z& e eee                    Z' e eee                    Z(d, Z)d- Z*d. Z+d/ Z,d0 Z-d1 Z.d2 Z/d3 Z0d4 Z1d5 Z2d6 Z3d7 Z4d8 Z5d9 Z6d: Z7d; Z8d< Z9d= Z:d> Z;d? Z<d@ Z=dA Z>dB Z?dC Z@dD ZAdE ZBdF ZCdG ZDdH ZEdI ZFeGdJk    r/ eH e)dK                      eH eEg dLg dM                     dS dS )N    N)AshwiniBharaniKritikaRohini
MrigashiraArdra	PunarvasuPushyaAshleshaMaghazPurva PhalgunizUttara PhalguniHastaChitraSwatiVishakaAnuradaJyeshtaMulazPurva AshadhazUttara AshadhaShravana	DhanishtaShatabhishakzPurva BhadrapadazUttara BhadrapadaRevati)KetuVenusSunMoonMarsRahuJupiterSaturnMercuryr   r   r   r   r   r   r   r   r    r   r   r   r   r   r   r   r   r    )zAshwini kumarasYamaAgniBramhaSomaRudraAditiBrihaspathiNagasPitrisAryamanBhagaSuryaVishwakarmaVaayuzIndra - AgniMitraIndraNiritiApahzVishwe DevatasVishnuz
Ashta VasuVaruna	AjikapadazAhir BudhyanaPushan)AriesTaurusGeminiCancerLeoVirgoLibraScorpioSaggitarius	CapricornAquariusPisces)MeshaVrushabaMithunaKarkaSimhaKanyaTula	VruschikaDhanuMakaraKumbhaMeena)r   r   r    r   r   r    r   r   r   r   r   r   )	r   r   r   r    r   r   r   r   r   )	r7   r8   r@   r<   r:   rB   r=   r8   r>   )	)   
   )      )rP      )      )      )      )      rQ   rY      rY   )	)rZ   rP   )r^   rR   )rV   rS   )rX   rU   )rP   rW   )rT   rY   )rO   r[   r]   r\   )	r=   r>   r:   rB   r@   r<   r7   r>   r8   )r   r   r   r   r   r    r   )beneficsmaleficsneutral)r   r   r   r    r   r   r   )r   r    r   r   r   r   r   )r   r   r   )r    r   r   )r   r   r   r   )r   r    r   )r    r   r   )r   r   r   )r   r   r    r   r   )r   r   r   r   r   )r   r   r    r   )r   r   r   )r   r    r   r   )r   r   r   r   )r   r    r   )r   r   r    r   )r   r   r   )ChaitraVaisakhaJyesthaAshadhaSravana
Bhadrapada	AshwayujaKartika
Margashirar
   r   Phalguna)SundayMondayTuesday	WednesdayThursdayFridaySaturday)zshukla padyamizshukla dwitiyazshukla tritiyazshukla chautizshukla panchamizshukla shashtizshukla sapthamizshukla ashtamizshukla navamizshukla dashamizshukla ekadashizshukla dwadashizshukla trayodashizshukla chaturdashipoornimazkrishna padyamizkrishna dwitiyazkrishna tritiyazkrishna chautizkrishna panchamizkrishna shashtizkrishna sapthamizkrishna ashtamizkrishna navamizkrishna dashamizkrishna ekadashizkrishna dwadashizkrishna trayodashizkrishna chaturdashiamavasya)<	KintughnaBavaBalavaKaulavaTaitilaGaraVanijaVishtirv   rw   rx   ry   rz   r{   r|   rv   rw   rx   ry   rz   r{   r|   rv   rw   rx   ry   rz   r{   r|   rv   rw   rz   ry   rx   r{   r|   rv   rw   rx   ry   rz   r{   r|   rv   rw   rx   ry   rz   r{   r|   rv   rw   rx   ry   rz   r{   r|   ShakuniChatushpadaNaga)	Vaidhriti
VishkambhaPritiAyushman	SaubhagyaShobhanaAtigandaSukarmaDhritiSoolaGandaVriddhiDhruvaVyaghataHarshanaVajraSiddhi	VyatipataVariyanaParighaSivaSiddhaSadhyaShubhaShuklaBrahmar0   )MovableFixedDualr   r   r   r   r   r   r   r   r   c                 <    t                               |           dz   S )NrO   )signsindex)signstrs    wc:\Users\sbb925582\OneDrive - Tata Technologies\Documents\Personal\jyotishyamitra\jyotishyamitra\support\mod_general.py<lambda>r      s    %++g..2     c                    t          j        | |          \  }}|dk    rdt          |dz
           z   |d<   nt          |dz
           |d<   t          t          j        |           dz
           |d<   t
          t          j        | |          d         dz
           |d<   t          t          j        | |          d         dz
           |d	<   t          t          j
        | |          d         dz
           |d
<   d S )NTzadhikamaasa - rO   maasavaarar   rQ   tithikaranayoga)	panchangamasamaasa_namesvaara_namesr   tithi_namesr   karana_namesr   
yoga_namesr   )jdplacemiscdatamaasanumleaps        r   update_miscdatar      s     ~b//Xtt||,{8a</HH(A6'	#IOB$7$7$9:HW#IOBu$=$=a$@1$DEHW%i&6r%&@&@&Ca&GHHX!).E":":1"="ABHV Fr   c                 L    || k    r	|| z
  dz   }n|| k     rd|z   | z
  dz   }nd}|S )z Computes how many houses is difference between from fromsign to tosign
      This function is used to compute housenumber for planets too rO   rX    )fromsigntosignhouses      r   	housediffr      sJ     hX!EEK("Q&EEE	,r   c                 ,    | |z   dz
  dz  }|dk    rd}|S )NrO   rX   r   r   r   nss      r   compute_nthsignr      s(    	A	RA	QJr   c                 2    d| z   |z
  dz   dz  }|dk    rd}|S )NrX   rO   r   r   r   s      r   compute_nthsign_backwardsr      s-    
x-!
a
2	%A	QJr   c                    |d         }|                     | d          }|dk    r|d         }t          |d                   }t          ||          }|d         d                             |           |d         d                             t          t          ||          dz
                      t          ||d                   }|D ]#}	|d         d                             |	           $nt          | d	z              d
S ){ Computes the aspects of each planet in planet group and 
        updates its Aspects elements - planets, signs and houses planets	NOT_FOUND	house-numsignAspectshousesr   rO   z Not found in planet group.N)getsignnumr   appendr   get_planets_in_houseprint)

planetname	aspectnumdivisionplanetgroupplanethousenosignnoaspecthousenumr   ps
             r   compute_aspects4planetr      s    9%K__Z55F+%((()<<y(#**>:::y'"))%	0R0RST0T*UVVV&~x	7JKK 	3 	3A9i(//2222	3 	j88999
Fr   c                    t          dd|            t          dd|            t          dd|            t          dd|            t          dd|            t          dd|            t          dd	|            t          dd|            t          dd
|            t          dd|            t          dd|            t          dd|            t          dd|            t          dd	|            t          dd|            t          dd
|            t          dd	|            t          dd|            t          dd
|            dS )r   r   rZ   r   r   rV   r^   r    r   rW   	   r   r   rR   rP   r   r   N)r   )r   s    r   compute_aspectsr     s_    5!X...61h///61h///61h///61h///9a2229a2229a2229a2227Ax0008Q1118Q1118R22261h///61h///61h///61h///61h///61h///
Fr   c                     | d         }|D ]G}||         }|d         }| d         |dz
           d         D ]}|d                              |           HdS )z5 Computes the aspects on each planet in planet group r   r   r   rO   aspect-planetszAspected-byNr   r   r   r   r   house_nor   s         r   compute_aspectedbyr   =  sx    9%K! , ,
Z(+&(#HqL12BC 	, 	,A=!((++++	,
Fr   c                    | d         }|D ]|}||         }|d         }| d         |dz
           d         D ]}|d                              |           	 |d                             |           d#  t          d|            Y zxY wdS )z@ Computes the conjuncted planets of each planet in planet group r   r   r   rO   	conjunctsz An exception occurred to remove N)r   remover   r   s         r   compute_conjunctsr   G  s    9%K! C C
Z(+&(#HqL1)< 	* 	*A;&&q))))	C;&&z2222	CAZAABBBBB
Fs   A//Bc                 
   t           | dz
           }|d         D ]}|d                             |           |d         D ]}|d                             |           |d         D ]}|d                             |           d S )NrO   r_   r`   ra   )ben_mal_neut_bylagnar   )lagnaclspsetbpmpnps         r   compute_BenMalNeu4lagnar   V  s    	*D: # #Jr"""": # #Jr""""9o " "Ib!!!!
Fr   c                    g | d         d<   g | d         d<   | d         d                              d           | d         d                              d           | d         d                              d           | d         d                              d           | d         d                              d           | d         d                              d	           | d         d                              d
           t          | dd          }|dk     r"| d         d                              d           n!| d         d                              d           | d         d         D ]O}| d         |         d         | d         d         d         k    r#| d         d                              d            nPd| d         d         vr!| d         d                              d           d S )Nclassificationsznatural-beneficsznatural-maleficsr   r   r   r   r   r   r   r   i@	 r   r   r    )r   get_distancebetweenplanets)r   distSunToMoon_secmalefics      r   !populate_Natural_BeneficsMaleficsr   a  s   68H 2368H 23 23::9EEE 23::7CCC  23::5AAA 23::8DDD 23::6BBB 23::6BBB 23::6BBB 38E6JJH%%"#$67>>vFFFF"#$67>>vFFF -./AB  Iw'48KI8VWb8ccc&'(:;BB9MMME d 	"345GHHH"#$67>>yIII
Fr   c                    | d         d         d         D ]#}| d         d                              |           $| d         d         d         D ]#}| d         d                              |           $| d         d         d         D ]#}| d         d                              |           $| d         d         d         D ]#}| d         d                              |           $d S )	Nr   r   r   r   kendrarR   rT   r   r   r   r   s     r   populate_kendraplanetsr     s	    h"9- 8 8"#H-44Q7777h"9- 8 8"#H-44Q7777h"9- 8 8"#H-44Q7777h"9- 8 8"#H-44Q7777
Fr   c                 V   | d         d         d         D ]#}| d         d                              |           $| d         d         d         D ]#}| d         d                              |           $| d         d         d         D ]#}| d         d                              |           $d S )Nr   r   r   r   trikonarV   r^   r   r   s     r   populate_trikonaplanetsr     s     h"9- 9 9"#I.55a8888h"9- 9 9"#I.55a8888h"9- 9 9"#I.55a8888
Fr   c                 V   | d         d         d         D ]#}| d         d                              |           $| d         d         d         D ]#}| d         d                              |           $| d         d         d         D ]#}| d         d                              |           $d S )Nr   rW   r   r   trikrZ      r   r   s     r   populate_trikplanetsr         h"9- 6 6"#F+2215555h"9- 6 6"#F+2215555h#I. 6 6"#F+2215555
Fr   c                 V   | d         d         d         D ]#}| d         d                              |           $| d         d         d         D ]#}| d         d                              |           $| d         d         d         D ]#}| d         d                              |           $d S )Nr   rQ   r   r   upachayarW   rP   r   r   s     r   populate_upachayaplanetsr    s     h"9- : :"#J/66q9999h"9- : :"#J/66q9999h#I. : :"#J/66q9999
Fr   c                 V   | d         d         d         D ]#}| d         d                              |           $| d         d         d         D ]#}| d         d                              |           $| d         d         d         D ]#}| d         d                              |           $d S )Nr   r   r   r   dharmarV   r^   r   r   s     r   populate_dharmaplanetsr    s     h"9- 8 8"#H-44Q7777h"9- 8 8"#H-44Q7777h"9- 8 8"#H-44Q7777
Fr   c                 V   | d         d         d         D ]#}| d         d                              |           $| d         d         d         D ]#}| d         d                              |           $| d         d         d         D ]#}| d         d                              |           $d S )Nr   rO   r   r   artharW   r   r   r   s     r   populate_arthaplanetsr    s     h"9- 7 7"#G,33A6666h"9- 7 7"#G,33A6666h"9- 7 7"#G,33A6666
Fr   c                 V   | d         d         d         D ]#}| d         d                              |           $| d         d         d         D ]#}| d         d                              |           $| d         d         d         D ]#}| d         d                              |           $d S )Nr   rQ   r   r   kamarT   rP   r   r   s     r   populate_kamaplanetsr    r  r   c                 V   | d         d         d         D ]#}| d         d                              |           $| d         d         d         D ]#}| d         d                              |           $| d         d         d         D ]#}| d         d                              |           $d S )Nr   rR   r   r   moksharZ   r   r   r   s     r   populate_mokshaplanetsr    s     h"9- 8 8"#H-44Q7777h"9- 8 8"#H-44Q7777h#I. 8 8"#H-44Q7777
Fr   c                 r    g }|D ]1}||         }|d         | k    r|                     |d                    2|S )Nr   namer   )r   r   houseplanetsr   r   s        r   r   r     sO    L! 0 0
Z(;7**v///r   c           	         t          dd          D ]}g dddddg d}t          || d                   }|D ]}|d                             |           ||d<   t          t	          | d	         d
                   |          }||d<   t
          |dz
           |d
<   t          |dz
           |d<   t          |dz
           |d<   t          t          |d          | d                   }|D ]}|d                             |           t          t          |d          | d                   }d|v r|d                             d           t          t          |d          | d                   }d|v r|d                             d           t          t          |d          | d                   }d|v r|d                             d           t          t          |d          | d                   }d|v r|d                             d           t          t          |d          | d                   }d|v r|d                             d           t          t          |d          | d                   }d|v r|d                             d           t          t          |d          | d                   }d|v r|d                             d           t          t          |d          | d                   }d|v r|d                             d           t          t          |d          | d                   }d|v r|d                             d           t          t          |d          | d                   }d|v r|d                             d           | d                             |           dS )z Computes the houses properties for each house like
        planets in house
        house sign and sign number with rashi
    rO      r   r7   rC   )r   r   sign-numr   	sign-lordrashir   r   r   	ascendantr   r  r  r  rZ   r   rV   r   r^   rR   r   rP   rW   r   r   r   r   r   N)	ranger   r   r   r   r   	signlordsrashisr   )r   housenumr   r   r   	mysignnums         r   update_housesr     s    !RLL K) K)#% $%#$#*#*#*$&	 	 'x)1DEE 	, 	,F)##F++++ &k $GH[,A&,I$J$J8TT	%ji!m,f&y1}5k	A.g ''@!'L'LhW`Nabb 	3 	3F"#**62222&'@!'L'LhW`Nabbg"#**6222&'@!'L'LhW`Nabbg"#**6222&'@!'L'LhW`Nabb"#**8444&'@"'M'MxXaObcc"#**8444&'@!'L'LhW`Nabb  "#**9555&'@!'L'LhW`Nabb  "#**9555&'@!'L'LhW`Nabbg"#**6222&'@!'L'LhW`Nabbg"#**6222&'@!'L'LhW`Nabbg"#**6222&'@!'L'LhW`Nabbg"#**6222!!%((((
Fr   c                 B    || v r|                      ||          } || v | S )N)replace)string	substring	newstrings      r   iterativeReplacer&  J  s2    
v

	)44 v

Mr   c                 4    | d         |dz
           d         }|S )Nr   rO   r  r   )r   r   signlords      r   get_nthLordr)  O  s    !!A#&{3HOr   c                 .    | d         |         d         }|S )Nr   r   r   )r   r   r  s      r   get_planetPlacedHousenumr+  T  s    	"6*;7HOr   c                 z   | d         |         }| d         |         }|d         dz
  dz  dz  |d         d         dz  z   |d         d         d	z  z   |d         d
         z   }|d         dz
  dz  dz  |d         d         dz  z   |d         d         d	z  z   |d         d
         z   }||k    r||z
  }n
||z
  }d|z
  }|S )Nr   r   rO        posdegmin<   sec r   )	r   
fromplanettoplanetfptpsec_fpsec_tpdistgaps	            r   r   r   Y  s    	)	Z	(B	)	X	&B;!2%d*r%y/?/DEESXIYZ\I\]acdiajkpaqrF;!2%d*r%y/?/DEESXIYZ\I\]acdiajkpaqrFvoCKr   c                 X   | d         |         }t          |d                   }|d         dz
  dz  dz  |d         dz  z   |d         dz  z   |d	         z   }|dz
  dz  dz  |d
         d         dz  z   |d
         d         dz  z   |d
         d         z   }||k    r||z
  }n
||z
  }d|z
  }|S )Nr   r   r   rO   r-  r.  rQ   r2  rR   r/  r0  r1  r3  r4  )r   )	r   pointr6  r8  
tp_signnumr9  r:  r;  r<  s	            r   get_point2planetdistancer@  i  s    	)	X	&BF$$Ja
Bt#a6%(2+F%PQ(SF1b %"U)E*:4*?@BuIeDTUWDWX\^_d\efk\lmFvoCKr   c                 "    g d}|  | |v rdS dS )N)Bharani3Kritika1Kritika4Rohini2Ardra4
Punarvasu2Pushya2zPurva Phalguni3zUttara Phalguni1zUttara Phalguni4Hasta2Swati4
Punarvasu4Vishaka4Vishaka2Anurada2zUttara Ashadha4zPurva Ashadha3zUttara Ashadha1	Shravana2Shatabhishak4zPurva Bhadrapada4zPurva Bhadrapada2zUttara Bhadrapada2TFr   )nakpaadaPushkaraNavamshass      r   isPushkaraNavamsharT  y  s7    ] ] ]
 u+++tur   c                     | t           j        k    r|dk    rdS | t           j        k    r|dk    rdS | t           j        k    r|dk    rdS | t           j        k    r|dk    rdS dS )N   T      rZ   F)cFIREEARTHAIRWATER)	SignTatvaDegrees     r   isPushkaraBhagar`    sq    
 	QV&B,,tQW6R<<tQU2tQW6Q;;t5r   c                     |                                  }|                                 }|D ]}||v r|                    |           ||v  t          |          dk    rdS dS )Nr   TF)copyr   len)SetASetB	SetA_Copy	SetB_Copyitems        r   check_ifAllNumInSetA_in_SetBri    ss    		I		I # #iT""" i
9~~tur   c                 $    fd| D             }|S )Nc                     g | ]}|v |	S r   r   ).0valuelst2s     r   
<listcomp>z%list_intersection.<locals>.<listcomp>  s    555eu}}E}}}r   r   )lst1rn  lst3s    ` r   list_intersectionrr    s!    5555t555DKr   __main__r>   )rO   rV   rV   rP   rZ   rO   rO   )rO   rV   rZ   rP   )Isupport.mod_constantsmod_constantsrY  support.panchangar   
nakshatrasnakshatra_rulersnakshatra_dietiesr   r  r  rZ  r[  r\  r]  
signtatvasr   exhaltation_signsdeep_ExaltationPointsdeep_DebilitationPointsdebilitation_signsr   r   r   r   r   r   sign_naturesdictzipdiety_of_nakshatraruler_of_nakshatralord_of_signlord_of_rashitatva_of_signtatva_of_rashiexhaltationSign_of_planetdebilitationSign_of_planetdeepExaltPointdeepDebilitPointsign_naturer   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r   r   r&  r)  r+  r   r@  rT  r`  ri  rr  __name__r   r   r   r   <module>r     s   " ! ! ! ! ! % % % % % %
D D D
: : : A A A 	
 	
 	


 
 

  	
 

  
      
   
    *U)T)T*3X)>)+  *_)^)^*3)+  *[)Z)Z*0*/  *E)D)D)G)G)G*/  *M)L)L)F)F)F)+  *I)H)H)@)@)@*2  *X)W)W*/);)+  *L)K)K*3W)=*2  *O)N)N)D)D)D)+  *P)O)O*/);*0  *L)K)K)G)G)G)+  *P)O)O)C)C)C)+ o< |U U U ^]]q q qn n nT T T
   T##j*;<<== T##j*:;;<< T##eY//00T##fi0011T##eZ0011T##fj1122!T##g/@"A"ABB !T##g/A"B"BCC $ss7$9::;;DW&=>>?? d33ul++,, 3
2  .	 	 	      &) ) )V    	 	 	  B                   R R Rh  
  
  
      	 	 	  	 	 	   z	E'')

	E
&
&'7'7'7
D
DEEEEE r   