PyJHora 3.6.7__tar.gz → 3.7.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. {pyjhora-3.6.7/src/PyJHora.egg-info → pyjhora-3.7.0}/PKG-INFO +4 -4
  2. {pyjhora-3.6.7/src/jhora → pyjhora-3.7.0}/README.md +3 -3
  3. {pyjhora-3.6.7 → pyjhora-3.7.0}/pyproject.toml +1 -1
  4. {pyjhora-3.6.7 → pyjhora-3.7.0/src/PyJHora.egg-info}/PKG-INFO +4 -4
  5. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/PyJHora.egg-info/SOURCES.txt +1 -0
  6. {pyjhora-3.6.7 → pyjhora-3.7.0/src/jhora}/README.md +3 -3
  7. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/_package_info.py +1 -1
  8. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/const.py +10 -6
  9. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/chart/charts.py +252 -38
  10. pyjhora-3.7.0/src/jhora/horoscope/chart/sphuta.py +294 -0
  11. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/main.py +222 -33
  12. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/lang/msg_strings_en.txt +4 -1
  13. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/lang/msg_strings_hi.txt +4 -1
  14. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/lang/msg_strings_ka.txt +4 -1
  15. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/lang/msg_strings_ta.txt +4 -1
  16. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/lang/msg_strings_te.txt +4 -1
  17. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/panchanga/drik.py +132 -20
  18. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/tests/pvr_tests.py +18 -4
  19. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/ui/horo_chart_tabs.py +776 -201
  20. pyjhora-3.7.0/src/jhora/ui/mixed_chart_dialog.py +207 -0
  21. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/ui/varga_chart_dialog.py +52 -23
  22. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/utils.py +1 -1
  23. pyjhora-3.6.7/src/jhora/horoscope/chart/sphuta.py +0 -179
  24. {pyjhora-3.6.7 → pyjhora-3.7.0}/LICENSE +0 -0
  25. {pyjhora-3.6.7 → pyjhora-3.7.0}/setup.cfg +0 -0
  26. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/PyJHora.egg-info/dependency_links.txt +0 -0
  27. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/PyJHora.egg-info/top_level.txt +0 -0
  28. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/README_Package_Structure.md +0 -0
  29. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/__init__.py +0 -0
  30. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/data/all_nak_pad_boy_girl.csv +0 -0
  31. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/data/all_nak_pad_boy_girl_south.csv +0 -0
  32. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/data/ephe/ast_list.txt +0 -0
  33. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/data/ephe/seasnam.txt +0 -0
  34. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/data/ephe/sefstars.txt +0 -0
  35. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/data/ephe/seleapsec.txt +0 -0
  36. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/data/ephe/seorbel.txt +0 -0
  37. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/data/program_inputs.txt +0 -0
  38. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/data/uscities.csv +0 -0
  39. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/data/world_cities_db.csv +0 -0
  40. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/data/world_cities_with_tz.csv +0 -0
  41. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/data/world_cities_with_tz_old.csv +0 -0
  42. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/README.md +0 -0
  43. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/__init__.py +0 -0
  44. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/chart/README.md +0 -0
  45. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/chart/__init__.py +0 -0
  46. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/chart/arudhas.py +0 -0
  47. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/chart/ashtakavarga.py +0 -0
  48. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/chart/dosha.py +0 -0
  49. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/chart/house.py +0 -0
  50. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/chart/raja_yoga.py +0 -0
  51. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/chart/strength.py +0 -0
  52. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/chart/yoga.py +0 -0
  53. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/README.md +0 -0
  54. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/__init__.py +0 -0
  55. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/annual/mudda.py +0 -0
  56. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/annual/patyayini.py +0 -0
  57. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/graha/aayu.py +0 -0
  58. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/graha/applicability.py +0 -0
  59. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/graha/ashtottari.py +0 -0
  60. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/graha/buddhi_gathi.py +0 -0
  61. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/graha/chathuraaseethi_sama.py +0 -0
  62. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/graha/dwadasottari.py +0 -0
  63. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/graha/dwisatpathi.py +0 -0
  64. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/graha/kaala.py +0 -0
  65. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/graha/karaka.py +0 -0
  66. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/graha/karana_chathuraaseethi_sama.py +0 -0
  67. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/graha/naisargika.py +0 -0
  68. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/graha/panchottari.py +0 -0
  69. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/graha/saptharishi_nakshathra.py +0 -0
  70. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/graha/sataatbika.py +0 -0
  71. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/graha/shastihayani.py +0 -0
  72. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/graha/shattrimsa_sama.py +0 -0
  73. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/graha/shodasottari.py +0 -0
  74. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/graha/tara.py +0 -0
  75. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/graha/tithi_ashtottari.py +0 -0
  76. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/graha/tithi_yogini.py +0 -0
  77. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/graha/vimsottari.py +0 -0
  78. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/graha/yoga_vimsottari.py +0 -0
  79. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/graha/yogini.py +0 -0
  80. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/raasi/brahma.py +0 -0
  81. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/raasi/chakra.py +0 -0
  82. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/raasi/chara.py +0 -0
  83. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/raasi/drig.py +0 -0
  84. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/raasi/kalachakra.py +0 -0
  85. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/raasi/kendradhi_rasi.py +0 -0
  86. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/raasi/lagnamsaka.py +0 -0
  87. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/raasi/mandooka.py +0 -0
  88. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/raasi/moola.py +0 -0
  89. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/raasi/narayana.py +0 -0
  90. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/raasi/navamsa.py +0 -0
  91. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/raasi/nirayana.py +0 -0
  92. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/raasi/padhanadhamsa.py +0 -0
  93. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/raasi/paryaaya.py +0 -0
  94. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/raasi/sandhya.py +0 -0
  95. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/raasi/shoola.py +0 -0
  96. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/raasi/sthira.py +0 -0
  97. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/raasi/sudasa.py +0 -0
  98. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/raasi/tara_lagna.py +0 -0
  99. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/raasi/trikona.py +0 -0
  100. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/raasi/varnada.py +0 -0
  101. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/raasi/yogardha.py +0 -0
  102. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/dhasa/sudharsana_chakra.py +0 -0
  103. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/match/README.md +0 -0
  104. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/match/__init__.py +0 -0
  105. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/match/all_nak_pad_boy_girl.csv +0 -0
  106. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/match/all_nak_pad_boy_girl.txt +0 -0
  107. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/match/all_nak_pad_boy_girl_south.csv +0 -0
  108. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/match/all_nak_pad_boy_girl_south.txt +0 -0
  109. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/match/compatibility.py +0 -0
  110. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/prediction/README.md +0 -0
  111. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/prediction/__init__.py +0 -0
  112. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/prediction/general.py +0 -0
  113. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/prediction/longevity.py +0 -0
  114. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/prediction/naadi_marriage.py +0 -0
  115. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/transit/README.md +0 -0
  116. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/transit/__init__.py +0 -0
  117. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/transit/saham.py +0 -0
  118. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/transit/tajaka.py +0 -0
  119. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/horoscope/transit/tajaka_yoga.py +0 -0
  120. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/images/aum.png +0 -0
  121. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/images/aum_small.jpg +0 -0
  122. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/images/bhirgu.JPG +0 -0
  123. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/images/bhirgu1.jpg +0 -0
  124. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/images/bhirgu2.jpg +0 -0
  125. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/images/dhanus.jpg +0 -0
  126. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/images/dhanusu.jpg +0 -0
  127. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/images/jhora_pvr.jpg +0 -0
  128. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/images/kanni.jpg +0 -0
  129. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/images/katakam.jpg +0 -0
  130. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/images/kumbam.jpg +0 -0
  131. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/images/lord_ganesha.JPG +0 -0
  132. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/images/lord_ganesha1.jpg +0 -0
  133. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/images/lord_ganesha2.jpg +0 -0
  134. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/images/lord_ganesha3.jpg +0 -0
  135. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/images/makaram.jpg +0 -0
  136. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/images/meenam.jpg +0 -0
  137. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/images/mennam.jpg +0 -0
  138. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/images/mesham.jpg +0 -0
  139. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/images/mesham.png +0 -0
  140. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/images/mithunam.jpg +0 -0
  141. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/images/pvr_ebook.jpg +0 -0
  142. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/images/rishabham.jpg +0 -0
  143. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/images/simmam.jpg +0 -0
  144. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/images/thulam.jpg +0 -0
  145. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/images/vrichigam.jpg +0 -0
  146. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/lang/amsa_rulers_en.json +0 -0
  147. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/lang/amsa_rulers_hi.json +0 -0
  148. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/lang/amsa_rulers_ka.json +0 -0
  149. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/lang/amsa_rulers_ta.json +0 -0
  150. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/lang/amsa_rulers_te.json +0 -0
  151. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/lang/dosha_msgs_en.json +0 -0
  152. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/lang/dosha_msgs_hi.json +0 -0
  153. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/lang/dosha_msgs_ka.json +0 -0
  154. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/lang/dosha_msgs_ta.json +0 -0
  155. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/lang/dosha_msgs_te.json +0 -0
  156. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/lang/list_values_en.txt +0 -0
  157. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/lang/list_values_hi.txt +0 -0
  158. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/lang/list_values_ka.txt +0 -0
  159. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/lang/list_values_ml.txt +0 -0
  160. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/lang/list_values_ta.txt +0 -0
  161. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/lang/list_values_te.txt +0 -0
  162. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/lang/prediction_msgs-1_en.json +0 -0
  163. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/lang/prediction_msgs-1_ta.json +0 -0
  164. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/lang/prediction_msgs_en.json +0 -0
  165. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/lang/prediction_msgs_hi.json +0 -0
  166. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/lang/prediction_msgs_ka.json +0 -0
  167. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/lang/prediction_msgs_ta.json +0 -0
  168. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/lang/prediction_msgs_te.json +0 -0
  169. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/lang/raja_yoga_msgs_en.json +0 -0
  170. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/lang/raja_yoga_msgs_hi.json +0 -0
  171. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/lang/raja_yoga_msgs_ka.json +0 -0
  172. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/lang/raja_yoga_msgs_ta.json +0 -0
  173. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/lang/raja_yoga_msgs_te.json +0 -0
  174. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/lang/yoga_msgs_en.json +0 -0
  175. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/lang/yoga_msgs_hi.json +0 -0
  176. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/lang/yoga_msgs_ka.json +0 -0
  177. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/lang/yoga_msgs_ta.json +0 -0
  178. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/lang/yoga_msgs_te.json +0 -0
  179. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/panchanga/README.md +0 -0
  180. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/panchanga/__init__.py +0 -0
  181. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/panchanga/drik1.py +0 -0
  182. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/panchanga/khanda_khaadyaka.py +0 -0
  183. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/panchanga/surya_sidhantha.py +0 -0
  184. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/panchanga/vratha.py +0 -0
  185. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/requirements.txt +0 -0
  186. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/setup.py +0 -0
  187. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/tests/__init__.py +0 -0
  188. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/tests/book_chart_data.py +0 -0
  189. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/tests/stronger_rasi_examples.txt +0 -0
  190. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/tests/test_ss.py +0 -0
  191. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/tests/test_ui.py +0 -0
  192. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/tests/test_yogas.py +0 -0
  193. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/ui/__init__.py +0 -0
  194. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/ui/chart_styles.py +0 -0
  195. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/ui/conjunction_dialog.py +0 -0
  196. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/ui/dhasa_bhukthi_options_dialog.py +0 -0
  197. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/ui/horo_chart.py +0 -0
  198. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/ui/label_grid.py +0 -0
  199. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/ui/match_ui.py +0 -0
  200. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/ui/options_dialog.py +0 -0
  201. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/ui/vakra_gathi_plot.py +0 -0
  202. {pyjhora-3.6.7 → pyjhora-3.7.0}/src/jhora/ui/vratha_finder.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PyJHora
3
- Version: 3.6.7
3
+ Version: 3.7.0
4
4
  Summary: Complete Vedic Astrology Python package.
5
5
  Author-email: Sundar Sundaresan <Sundaram.Sundaresan@gmail.com>
6
6
  License: GNU AFFERO GENERAL PUBLIC LICENSE
@@ -677,7 +677,7 @@ Requires-Python: >=3.8
677
677
  Description-Content-Type: text/markdown
678
678
  License-File: LICENSE
679
679
 
680
- JHora 3.6.8
680
+ JHora 3.7.0
681
681
  =================
682
682
  Python package containing almost all the features described in the book
683
683
 
@@ -969,8 +969,8 @@ jhora
969
969
  ```
970
970
  Changes since V3.6.6
971
971
  =====================
972
- Custom Kundali Chart added to `jhora.horoscope.chart.charts`
973
- And changes to `jhora.horoscope.main`, `jhora.tests.pvr_tests` and `jhora.ui.horo_chart_tabs` to support the custom kundali charts.
972
+ Custom Kundali Chart (Dn) and Sub-divisional (mixed) (DmxDn) charts added to `jhora.horoscope.chart.charts`
973
+ And changes to `jhora.horoscope.main`, `jhora.tests.pvr_tests` and `jhora.ui.horo_chart_tabs` to support the custom and mixed kundali charts.
974
974
 
975
975
  Changes since V3.5.8
976
976
  =====================
@@ -1,4 +1,4 @@
1
- JHora 3.6.8
1
+ JHora 3.7.0
2
2
  =================
3
3
  Python package containing almost all the features described in the book
4
4
 
@@ -290,8 +290,8 @@ jhora
290
290
  ```
291
291
  Changes since V3.6.6
292
292
  =====================
293
- Custom Kundali Chart added to `jhora.horoscope.chart.charts`
294
- And changes to `jhora.horoscope.main`, `jhora.tests.pvr_tests` and `jhora.ui.horo_chart_tabs` to support the custom kundali charts.
293
+ Custom Kundali Chart (Dn) and Sub-divisional (mixed) (DmxDn) charts added to `jhora.horoscope.chart.charts`
294
+ And changes to `jhora.horoscope.main`, `jhora.tests.pvr_tests` and `jhora.ui.horo_chart_tabs` to support the custom and mixed kundali charts.
295
295
 
296
296
  Changes since V3.5.8
297
297
  =====================
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
5
5
  [project]
6
6
  name = "PyJHora"
7
7
  description = "Complete Vedic Astrology Python package."
8
- version = "3.6.7"
8
+ version = "3.7.0"
9
9
  authors = [
10
10
  {name="Sundar Sundaresan",email = "Sundaram.Sundaresan@gmail.com"},
11
11
  ]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PyJHora
3
- Version: 3.6.7
3
+ Version: 3.7.0
4
4
  Summary: Complete Vedic Astrology Python package.
5
5
  Author-email: Sundar Sundaresan <Sundaram.Sundaresan@gmail.com>
6
6
  License: GNU AFFERO GENERAL PUBLIC LICENSE
@@ -677,7 +677,7 @@ Requires-Python: >=3.8
677
677
  Description-Content-Type: text/markdown
678
678
  License-File: LICENSE
679
679
 
680
- JHora 3.6.8
680
+ JHora 3.7.0
681
681
  =================
682
682
  Python package containing almost all the features described in the book
683
683
 
@@ -969,8 +969,8 @@ jhora
969
969
  ```
970
970
  Changes since V3.6.6
971
971
  =====================
972
- Custom Kundali Chart added to `jhora.horoscope.chart.charts`
973
- And changes to `jhora.horoscope.main`, `jhora.tests.pvr_tests` and `jhora.ui.horo_chart_tabs` to support the custom kundali charts.
972
+ Custom Kundali Chart (Dn) and Sub-divisional (mixed) (DmxDn) charts added to `jhora.horoscope.chart.charts`
973
+ And changes to `jhora.horoscope.main`, `jhora.tests.pvr_tests` and `jhora.ui.horo_chart_tabs` to support the custom and mixed kundali charts.
974
974
 
975
975
  Changes since V3.5.8
976
976
  =====================
@@ -193,6 +193,7 @@ src/jhora/ui/horo_chart.py
193
193
  src/jhora/ui/horo_chart_tabs.py
194
194
  src/jhora/ui/label_grid.py
195
195
  src/jhora/ui/match_ui.py
196
+ src/jhora/ui/mixed_chart_dialog.py
196
197
  src/jhora/ui/options_dialog.py
197
198
  src/jhora/ui/vakra_gathi_plot.py
198
199
  src/jhora/ui/varga_chart_dialog.py
@@ -1,4 +1,4 @@
1
- JHora 3.6.8
1
+ JHora 3.7.0
2
2
  =================
3
3
  Python package containing almost all the features described in the book
4
4
 
@@ -290,8 +290,8 @@ jhora
290
290
  ```
291
291
  Changes since V3.6.6
292
292
  =====================
293
- Custom Kundali Chart added to `jhora.horoscope.chart.charts`
294
- And changes to `jhora.horoscope.main`, `jhora.tests.pvr_tests` and `jhora.ui.horo_chart_tabs` to support the custom kundali charts.
293
+ Custom Kundali Chart (Dn) and Sub-divisional (mixed) (DmxDn) charts added to `jhora.horoscope.chart.charts`
294
+ And changes to `jhora.horoscope.main`, `jhora.tests.pvr_tests` and `jhora.ui.horo_chart_tabs` to support the custom and mixed kundali charts.
295
295
 
296
296
  Changes since V3.5.8
297
297
  =====================
@@ -18,7 +18,7 @@
18
18
 
19
19
  name = "PyJHora"
20
20
 
21
- version = "3.6.8"
21
+ version = "3.6.9"
22
22
 
23
23
  author = "Sundar Sundaresan"
24
24
 
@@ -23,14 +23,15 @@ import swisseph as swe
23
23
  import numpy as np
24
24
  """ Module describing PyJHora constants"""
25
25
  " setup paths "
26
+ _sep = os.path.sep
26
27
  ROOT_DIR = os.path.dirname(os.path.abspath(__file__))
27
- _IMAGES_PATH = os.path.dirname(ROOT_DIR+"\\images\\")
28
- _IMAGE_ICON_PATH=os.path.join(ROOT_DIR,"\\images\\lord_ganesha2.jpg")
29
- _INPUT_DATA_FILE = os.path.join(ROOT_DIR,'data\\program_inputs.txt')
30
- _world_city_csv_file = os.path.join(ROOT_DIR,'data\\world_cities_with_tz.csv')
28
+ _IMAGES_PATH = os.path.dirname(ROOT_DIR+_sep+"images"+_sep)
29
+ _IMAGE_ICON_PATH=os.path.join(ROOT_DIR,_sep+"images"+_sep+"lord_ganesha2.jpg")
30
+ _INPUT_DATA_FILE = os.path.join(ROOT_DIR,'data'+_sep+'program_inputs.txt')
31
+ _world_city_csv_file = os.path.join(ROOT_DIR,'data'+_sep+'world_cities_with_tz.csv')
31
32
  _open_elevation_api_url = lambda lat,long:f'https://api.open-elevation.com/api/v1/lookup?locations={lat},{long}'
32
- _EPHIMERIDE_DATA_PATH = os.path.join(ROOT_DIR,'data\\ephe\\')
33
- _LANGUAGE_PATH = os.path.join(ROOT_DIR,'lang\\')
33
+ _EPHIMERIDE_DATA_PATH = os.path.join(ROOT_DIR,'data'+_sep+'ephe'+_sep)
34
+ _LANGUAGE_PATH = os.path.join(ROOT_DIR,'lang'+_sep)
34
35
  _DEFAULT_LANGUAGE = 'en'
35
36
  _DEFAULT_LANGUAGE_LIST_STR = 'list_values_'
36
37
  _DEFAULT_LANGUAGE_MSG_STR = 'msg_strings_'
@@ -649,5 +650,8 @@ dhasa_default_options={0:[False,2,1,0,0,0,-1],1:[False,0],2:[True,False,2,1,0,0,
649
650
  }
650
651
  MAX_DHASAVARGA_FACTOR = 300
651
652
  DEFAULT_CUSTOM_VARGA_FACTOR=57
653
+ # If True standard vargas such as D2,D3 etc will follow custom calculations and not standard calculations
654
+ """ DO NOT CHANGE THIS TO TRUE. NOT IMPLEMENTED YET """
655
+ TREAT_STANDARD_CHART_AS_CUSTOM = False
652
656
  if __name__ == "__main__":
653
657
  pass
@@ -906,7 +906,7 @@ def ashtotharamsa_chart(planet_positions_in_rasi,chart_method=1):
906
906
  return __parivritti_alternate(planet_positions_in_rasi, dvf)
907
907
  # Traditional Parasara Method
908
908
  dvf_1 = 9; chart_method_1=1; dvf_2=12; chart_method_2=1
909
- pp = _mixed_chart(planet_positions_in_rasi, varga_factor_1=dvf_1, chart_method_1=chart_method_1,
909
+ pp = mixed_chart_from_rasi_positions(planet_positions_in_rasi, varga_factor_1=dvf_1, chart_method_1=chart_method_1,
910
910
  varga_factor_2=dvf_2, chart_method_2=chart_method_2)
911
911
  return pp
912
912
  def dwadas_dwadasamsa_chart(planet_positions_in_rasi,chart_method=1):
@@ -932,7 +932,7 @@ def dwadas_dwadasamsa_chart(planet_positions_in_rasi,chart_method=1):
932
932
  return __parivritti_alternate(planet_positions_in_rasi, dvf)
933
933
  # Traditional Parasara Method
934
934
  dvf_1 = 12; chart_method_1=1; dvf_2=12; chart_method_2=1
935
- pp = _mixed_chart(planet_positions_in_rasi,varga_factor_1=dvf_1,chart_method_1=chart_method_1,
935
+ pp = mixed_chart_from_rasi_positions(planet_positions_in_rasi,varga_factor_1=dvf_1,chart_method_1=chart_method_1,
936
936
  varga_factor_2=dvf_2, chart_method_2=chart_method_2)
937
937
  return pp
938
938
  def custom_divisional_chart(planet_positions_in_rasi,divisional_chart_factor,chart_method=0,
@@ -943,7 +943,7 @@ def custom_divisional_chart(planet_positions_in_rasi,divisional_chart_factor,cha
943
943
  Example: [ ['L',(0,13.4)],[0,(11,12.7)],...]] Lagnam in Aries 13.4 degrees, Sun in Taurus 12.7 degrees
944
944
  @param divisional_chart_factor: 1.. 300
945
945
  @param chart_method:
946
- 0=>Cyclic Parivritti variation
946
+ 0=>Cyclic Parivritti variation (base_rasi=None for cyclic and base_rasi=Aries/sign for non-cyclic)
947
947
  For Non-cyclic following parameters apply
948
948
  0=>From base for all signs
949
949
  1=>1st/7th from base if sign is odd/even
@@ -955,7 +955,9 @@ def custom_divisional_chart(planet_positions_in_rasi,divisional_chart_factor,cha
955
955
  7=>1st/9th/5th from base if sign is movable/fixed/dual
956
956
  8=>1st/4th/7th/10th from base if sign is fire/earth/air/water
957
957
  9=>1st/10th/7th/4th from base if sign is fire/earth/air/water
958
- @param base_rasi: 0=>Base is Aries 1=>base is the sign
958
+ @param base_rasi:
959
+ None for cyclic variation
960
+ And for non-cyclic variation:0=>Base is Aries 1=>base is the sign
959
961
  @param count_from_end_of_sign=False.
960
962
  If True = Count N divisions from end of the sign if sign is even
961
963
  And go anti-zodiac from there by N signs
@@ -965,7 +967,7 @@ def custom_divisional_chart(planet_positions_in_rasi,divisional_chart_factor,cha
965
967
  Example: [ ['L',(0,13.4)],[0,(11,12.7)],...]] Lagnam in Aries 13.4 degrees, Sun in Taurus 12.7 degrees
966
968
  """
967
969
  dvf = divisional_chart_factor; f1 = 30.0/dvf
968
- if chart_method==0 and base_rasi==None:
970
+ if base_rasi==None:
969
971
  return __parivritti_cyclic(planet_positions_in_rasi, dvf,dirn=1)
970
972
  _hora_list = utils.__varga_non_cyclic(dvf, base_rasi=base_rasi, start_sign_variation=chart_method,
971
973
  count_from_end_of_sign=count_from_end_of_sign)
@@ -976,14 +978,20 @@ def custom_divisional_chart(planet_positions_in_rasi,divisional_chart_factor,cha
976
978
  hora_sign = _hora_list[rasi_sign][hora]
977
979
  dp.append([planet,[hora_sign,d_long]])
978
980
  return dp
979
-
980
- def _mixed_chart(planet_positions_in_rasi,varga_factor_1=None,chart_method_1=1,varga_factor_2=None,chart_method_2=1):
981
+ def mixed_chart(jd,place,varga_factor_1=None,chart_method_1=1,varga_factor_2=None,chart_method_2=1):
982
+ planet_positions_in_rasi = rasi_chart(jd,place)
983
+ if varga_factor_1==1 and varga_factor_2==1: return planet_positions_in_rasi
984
+ pp1 = planet_positions_in_rasi if varga_factor_1==1 else \
985
+ eval(divisional_chart_functions[varga_factor_1]+'(planet_positions_in_rasi,chart_method=chart_method_1)')
986
+ pp2 = pp1 if varga_factor_2==2 else eval(divisional_chart_functions[varga_factor_2]+'(pp1,chart_method=chart_method_2)')
987
+ return pp2
988
+ def mixed_chart_from_rasi_positions(planet_positions_in_rasi,varga_factor_1=None,chart_method_1=1,varga_factor_2=None,chart_method_2=1):
981
989
  pp1 = eval(divisional_chart_functions[varga_factor_1]+'(planet_positions_in_rasi,chart_method=chart_method_1)')
982
990
  pp2 = eval(divisional_chart_functions[varga_factor_2]+'(pp1,chart_method=chart_method_2)')
983
991
  return pp2
984
992
  def divisional_chart(jd_at_dob,place_as_tuple,ayanamsa_mode=const._DEFAULT_AYANAMSA_MODE,divisional_chart_factor=1,
985
993
  chart_method=1,years=1,months=1,sixty_hours=1,calculation_type='drik',pravesha_type=0,
986
- base_rasi=None,count_from_end_of_sign=False):
994
+ base_rasi=None,count_from_end_of_sign=None):
987
995
  """
988
996
  Get divisional/varga chart
989
997
  @param jd_at_dob:Julian day number at the date/time of birth
@@ -992,11 +1000,30 @@ def divisional_chart(jd_at_dob,place_as_tuple,ayanamsa_mode=const._DEFAULT_AYANA
992
1000
  example drik.place('Chennai,IN',13.0,78.0,+5.5)
993
1001
  @param ayanamsa_mode Default:const._DEFAULT_AYANAMSA_MODE - See const.available_ayanamsa_modes for more options
994
1002
  @param divisional_chart_factor Default=1
995
- 1=Raasi, 9=Navamsa. See const.division_chart_factors for options
1003
+ 1=Raasi, 9=Navamsa. See const.divisional_chart_factors for options
996
1004
  @param chart_method: See individual chart function for available chart methods
997
1005
  @param years: Yearly chart. number of years from date of birth
998
1006
  @param months: Monthly chart. number of months from date of birth
999
1007
  @param sixty_hours: 60-hour chart. number of 60 hours from date of birth
1008
+ @param treat_standard_chart_as_custom:
1009
+ False (default) => Standard chart calculations will be followed for standard vargas
1010
+ True => Custom chart calculations will be followed for even standard vargas
1011
+ Note: Even if custom_chart=False but divisional_chart_factor is not a standard one,
1012
+ it will be processed as custom. This can be changed by setting const.TREAT_STANDARD_CHART_AS_CUSTOM=True
1013
+ @param base_rasi:
1014
+ None: Cyclic Variation for custom chart calculation. chart_method,count_from_end_of_sign will be ignored.
1015
+ 0 : Non-Cyclic Variation - Aries to be used as the base
1016
+ 1 : Non-Cyclic Variation - The sign to be used as the base
1017
+ @param chart_method: 0,1,2,3 etc
1018
+ For standard charts (treat_standard_chart_as_custom=False) - available standard chart methods will be used.
1019
+ Refer to individual chart function for methods available
1020
+ values start from 1
1021
+ For Custom charts (treat_standard_chart_as_custom=True) - See custom_divisional_chart for details
1022
+ @param count_from_end_of_sign: Applicable only for non-cyclic variation
1023
+ False (default)
1024
+ True = Count N divisions from end of the sign if sign is even
1025
+ And go anti-zodiac from there by N signs
1026
+ TODO: THIS PARAMETER IS NOT MATCHING WITH JHORA - STILL UNDER EXPERIMENT
1000
1027
  @return: planet_positions list in the format [[planet,(raasi,planet_longitude)],...]]
1001
1028
  First element is that of Lagnam
1002
1029
  Example: [ ['L',(0,123.4)],[0,(11,32.7)],...]] Lagnam in Aries 123.4 degrees, Sun in Taurus 32.7 degrees
@@ -1006,7 +1033,8 @@ def divisional_chart(jd_at_dob,place_as_tuple,ayanamsa_mode=const._DEFAULT_AYANA
1006
1033
  if divisional_chart_factor==1:
1007
1034
  return planet_positions_in_rasi
1008
1035
  else:
1009
- if divisional_chart_factor in divisional_chart_functions.keys():
1036
+ if (not const.TREAT_STANDARD_CHART_AS_CUSTOM) and (divisional_chart_factor in divisional_chart_functions.keys()\
1037
+ and (base_rasi==None and (chart_method !=None and chart_method >0) )):
1010
1038
  return eval(divisional_chart_functions[divisional_chart_factor]+'(planet_positions_in_rasi,chart_method)')
1011
1039
  elif divisional_chart_factor in range(1,const.MAX_DHASAVARGA_FACTOR+1):
1012
1040
  return custom_divisional_chart(planet_positions_in_rasi, divisional_chart_factor=divisional_chart_factor,
@@ -1277,6 +1305,37 @@ def vimsamsavarga_of_planets(jd_at_dob, place_as_tuple, ayanamsa_mode=const._DEF
1277
1305
  #print('D'+str(_world_city_db_df),p,h,const.moola_trikona_of_planets[p],const.house_strengths_of_planets[p][h],di+1)
1278
1306
  planet_vimsamsa[p] += 1
1279
1307
  return planet_vimsamsa
1308
+ def _varnada_lagna_sanjay_rath_mixed_chart(dob,tob, place,house_index=1,varga_factor_1=1,chart_method_1=1,
1309
+ varga_factor_2=1,chart_method_2=1):
1310
+ jd_at_dob = utils.julian_day_number(dob, tob)
1311
+ planet_positions = mixed_chart(jd_at_dob, place, varga_factor_1, chart_method_1, varga_factor_2, chart_method_2)
1312
+ asc_sign = planet_positions[0][1][0];asc_long = planet_positions[0][1][1]
1313
+ asc_sign = (asc_sign+house_index-1)%12
1314
+ asc_long = asc_sign*30+asc_long
1315
+ hora_sign,hora_long = drik.hora_lagna_mixed_chart(jd_at_dob,place, varga_factor_1, chart_method_1, varga_factor_2, chart_method_2)
1316
+ hora_sign = (hora_sign+house_index-1)%12
1317
+ hora_long = hora_sign*30+hora_long
1318
+ _debug_ = False
1319
+ asc_is_odd = asc_sign in const.odd_signs
1320
+ if not asc_is_odd: asc_long = 360.-asc_long
1321
+ if _debug_: print(asc_sign,utils.RAASI_LIST[asc_sign],asc_is_odd,asc_long)
1322
+ hora_is_odd = hora_sign in const.odd_signs
1323
+ if not hora_is_odd: hora_long = 360.-hora_long
1324
+ if _debug_: print(hora_sign,utils.RAASI_LIST[hora_sign],hora_is_odd,hora_long)
1325
+ if hora_is_odd == asc_is_odd:
1326
+ vl = (asc_long + hora_long)%360
1327
+ if _debug_: print('adding',asc_long,hora_long,vl)
1328
+ else:
1329
+ vl = (max(asc_long,hora_long) - min (asc_long,hora_long))%360
1330
+ if _debug_: print('subtracting',asc_long,hora_long,vl)
1331
+ if _debug_: print('asc_sign',asc_sign,'asc_long',asc_long,'asc_is_odd',const.odd_signs,asc_is_odd)
1332
+ if _debug_: print('hora_sign',hora_sign,'hora_long',hora_long,'hora_is_odd',const.odd_signs,hora_is_odd)
1333
+ if _debug_: print('vl before',vl)
1334
+ if not asc_is_odd: vl = 360 - vl
1335
+ if _debug_: print('vl after',vl)
1336
+ dl = drik.dasavarga_from_long(vl, divisional_chart_factor=1)
1337
+ if _debug_: print('return drik dasavarg',dl)
1338
+ return dl
1280
1339
  def _varnada_lagna_sanjay_rath(dob,tob, place,house_index=1, ayanamsa_mode=const._DEFAULT_AYANAMSA_MODE,
1281
1340
  divisional_chart_factor=1,chart_method=1):
1282
1341
  """ TO DO : Still experimenting """
@@ -1311,6 +1370,29 @@ def _varnada_lagna_sanjay_rath(dob,tob, place,house_index=1, ayanamsa_mode=const
1311
1370
  dl = drik.dasavarga_from_long(vl, divisional_chart_factor=1)
1312
1371
  if _debug_: print('return drik dasavarg',dl)
1313
1372
  return dl
1373
+ def _varnada_lagna_jha_pandey_mixed_chart(dob,tob, place,house_index=1,varga_factor_1=1,chart_method_1=1,
1374
+ varga_factor_2=1,chart_method_2=1):
1375
+ jd_at_dob = utils.julian_day_number(dob, tob)
1376
+ planet_positions = mixed_chart(jd_at_dob, place, varga_factor_1, chart_method_1, varga_factor_2, chart_method_2)
1377
+ asc_sign = planet_positions[0][1][0];asc_long = planet_positions[0][1][1]
1378
+ lagna = (asc_sign+house_index-1)%12
1379
+ asc_long = lagna*30+asc_long
1380
+ lagna_is_odd = lagna in const.odd_signs
1381
+ if not lagna_is_odd: asc_long = 360.-asc_long
1382
+ count1 = utils.count_rasis(0,lagna,dir=1) if lagna_is_odd else utils.count_rasis(11,lagna,dir=-1)
1383
+ hora_sign,hora_long = drik.hora_lagna_mixed_chart(jd_at_dob,place, varga_factor_1, chart_method_1, varga_factor_2, chart_method_2)
1384
+ hora_lagna = (hora_sign+house_index-1)%12
1385
+ hora_long = hora_lagna*30+hora_long
1386
+ hora_lagna_is_odd = hora_lagna in const.odd_signs
1387
+ if not lagna_is_odd: hora_long = 360.-hora_long
1388
+ count2 = utils.count_rasis(0,hora_lagna,dir=1) if hora_lagna_is_odd else utils.count_rasis(11,hora_lagna,dir=-1)
1389
+ count = (count1 + count2)%12 if count1%2 == count2%2 else (max(count1,count2) - min (count1,count2))%12
1390
+ count_is_odd = count%2 != 0
1391
+ #print(lagna,lagna_is_odd,count1,hora_lagna,hora_lagna_is_odd,count2,count1%2!=0,count2%2!=0,count)
1392
+ vl = (asc_long + hora_long)%360 if count_is_odd else (max(asc_long,hora_long) - min (asc_long,hora_long))%360
1393
+ #print(asc_long,hora_long,count_is_odd,vl)
1394
+ dl = drik.dasavarga_from_long(vl, divisional_chart_factor=1)
1395
+ return dl
1314
1396
  def _varnada_lagna_jha_pandey(dob,tob, place,house_index=1,ayanamsa_mode=const._DEFAULT_AYANAMSA_MODE,divisional_chart_factor=1,chart_method=1):
1315
1397
  """ TO DO : Still experimenting """
1316
1398
  jd_at_dob = utils.julian_day_number(dob, tob)
@@ -1336,7 +1418,37 @@ def _varnada_lagna_jha_pandey(dob,tob, place,house_index=1,ayanamsa_mode=const._
1336
1418
  #print(asc_long,hora_long,count_is_odd,vl)
1337
1419
  dl = drik.dasavarga_from_long(vl, divisional_chart_factor=1)
1338
1420
  return dl
1339
- def varnada_lagna(dob,tob,place,ayanamsa_mode=const._DEFAULT_AYANAMSA_MODE,divisional_chart_factor=1,chart_method=1,house_index=1,varnada_method=1):
1421
+ def varnada_lagna_mixed_chart(dob,tob,place,ayanamsa_mode=const._DEFAULT_AYANAMSA_MODE,house_index=1,varga_factor_1=1,
1422
+ chart_method_1=1,varga_factor_2=1,chart_method_2=1,varnada_method=1):
1423
+ """
1424
+ Get Varnada Lagna
1425
+ Ref: https://saptarishisshop.com/a-look-at-the-calculation-of-varnada-lagna-by-abhishekha/
1426
+ @param: dob : date of birth as tuple (year,month,day)
1427
+ @param: tob : time of birth as tuple (hours, minutes, seconds)
1428
+ @param: place: Place as tuple (place_name,latitude,longitude,timezone)
1429
+ @param divisional_chart_factor: D-Chart index
1430
+ @param house_index: 1..12 1=Lagna, 2=2nd house etc
1431
+ Methods are based on combination of two factors:
1432
+ (1) last direction decided by odd/even of Lagna/hora or
1433
+ odd/even of the count values
1434
+ (2) count is decided by just count between lagna & hora lagna or
1435
+ count based on sum/diff of longitudes of lagna & hora lagna
1436
+ @param varnada_method: 1=BV Raman - Lagna decides last step direction / count based on lagnas
1437
+ 2=Sharma/Santhanam - count decides last step direction / count based on lagnas
1438
+ 3=Sanjay Rath - Lagna decides last step direction / count based on longitudes of lagnas
1439
+ 4=Sitaram Jha/Prof. Ramachandra Pandey - last count decides last step direction / count on longitudes
1440
+ @return varna_lagna_rasi, varnada_lagna_longitude
1441
+ """
1442
+ if varnada_method==1:
1443
+ return _varnada_lagna_bv_raman_mixed_chart(dob, tob, place, house_index, varga_factor_1, chart_method_1, varga_factor_2, chart_method_2)
1444
+ elif varnada_method==2:
1445
+ return _varnada_lagna_sharma_mixed_chart(dob, tob, place, house_index, varga_factor_1, chart_method_1, varga_factor_2, chart_method_2)
1446
+ elif varnada_method==3:
1447
+ return _varnada_lagna_sanjay_rath_mixed_chart(dob, tob, place, house_index, varga_factor_1, chart_method_1, varga_factor_2, chart_method_2)
1448
+ elif varnada_method==4:
1449
+ return _varnada_lagna_jha_pandey_mixed_chart(dob, tob, place, house_index, varga_factor_1, chart_method_1, varga_factor_2, chart_method_2)
1450
+ def varnada_lagna(dob,tob,place,ayanamsa_mode=const._DEFAULT_AYANAMSA_MODE,divisional_chart_factor=1,
1451
+ chart_method=1,house_index=1,varnada_method=1,base_rasi=None,count_from_end_of_sign=None):
1340
1452
  """
1341
1453
  Get Varnada Lagna
1342
1454
  Ref: https://saptarishisshop.com/a-look-at-the-calculation-of-varnada-lagna-by-abhishekha/
@@ -1358,17 +1470,37 @@ def varnada_lagna(dob,tob,place,ayanamsa_mode=const._DEFAULT_AYANAMSA_MODE,divis
1358
1470
  """
1359
1471
  if varnada_method==1:
1360
1472
  return _varnada_lagna_bv_raman(dob, tob, place, house_index, ayanamsa_mode=ayanamsa_mode,
1361
- divisional_chart_factor=divisional_chart_factor,chart_method=chart_method)
1473
+ divisional_chart_factor=divisional_chart_factor,chart_method=chart_method,
1474
+ base_rasi=base_rasi,count_from_end_of_sign=count_from_end_of_sign)
1362
1475
  elif varnada_method==2:
1363
1476
  return _varnada_lagna_sharma(dob, tob, place, house_index, ayanamsa_mode=ayanamsa_mode,
1364
- divisional_chart_factor=divisional_chart_factor,chart_method=chart_method)
1477
+ divisional_chart_factor=divisional_chart_factor,chart_method=chart_method,
1478
+ base_rasi=base_rasi,count_from_end_of_sign=count_from_end_of_sign)
1365
1479
  elif varnada_method==3:
1366
1480
  return _varnada_lagna_sanjay_rath(dob, tob, place, house_index, ayanamsa_mode=ayanamsa_mode,
1367
- divisional_chart_factor=divisional_chart_factor,chart_method=chart_method)
1481
+ divisional_chart_factor=divisional_chart_factor,chart_method=chart_method,
1482
+ base_rasi=base_rasi,count_from_end_of_sign=count_from_end_of_sign)
1368
1483
  elif varnada_method==4:
1369
1484
  return _varnada_lagna_jha_pandey(dob, tob, place, house_index, ayanamsa_mode=ayanamsa_mode,
1370
- divisional_chart_factor=divisional_chart_factor,chart_method=chart_method)
1371
- def _varnada_lagna_bv_raman(dob,tob,place,house_index=1,ayanamsa_mode=const._DEFAULT_AYANAMSA_MODE,divisional_chart_factor=1,chart_method=1):
1485
+ divisional_chart_factor=divisional_chart_factor,chart_method=chart_method,
1486
+ base_rasi=base_rasi,count_from_end_of_sign=count_from_end_of_sign)
1487
+ def _varnada_lagna_bv_raman_mixed_chart(dob,tob, place,house_index=1,varga_factor_1=1,chart_method_1=1,
1488
+ varga_factor_2=1,chart_method_2=1):
1489
+ jd_at_dob = utils.julian_day_number(dob, tob)
1490
+ planet_positions = mixed_chart(jd_at_dob, place, varga_factor_1, chart_method_1, varga_factor_2, chart_method_2)
1491
+ lagna = (planet_positions[0][1][0]+house_index-1)%12; asc_long = planet_positions[0][1][1]
1492
+ lagna_is_odd = lagna in const.odd_signs
1493
+ count1 = utils.count_rasis(0,lagna,dir=1) if lagna_is_odd else utils.count_rasis(11,lagna,dir=-1)
1494
+ hora_lagna,_ = drik.hora_lagna_mixed_chart(jd_at_dob,place, varga_factor_1, chart_method_1, varga_factor_2, chart_method_2)
1495
+ hora_lagna = (hora_lagna+house_index-1)%12
1496
+ hora_lagna_is_odd = hora_lagna in const.odd_signs
1497
+ count2 = utils.count_rasis(0,hora_lagna,dir=1) if hora_lagna_is_odd else utils.count_rasis(11,hora_lagna,dir=-1)
1498
+ count = (count1 + count2)%12 if hora_lagna_is_odd == lagna_is_odd else (max(count1,count2) - min (count1,count2))%12
1499
+ _varnada_lagna = utils.count_rasis(1,count,dir=1) if lagna_is_odd else utils.count_rasis(12,count,dir=-1)
1500
+ _varnada_lagna -= 1 ## Keep in 0..11 range instead of 1..12
1501
+ return _varnada_lagna, asc_long #hl
1502
+ def _varnada_lagna_bv_raman(dob,tob,place,house_index=1,ayanamsa_mode=const._DEFAULT_AYANAMSA_MODE,
1503
+ divisional_chart_factor=1,chart_method=1,base_rasi=None,count_from_end_of_sign=None):
1372
1504
  """
1373
1505
  Get Varnada Lagna
1374
1506
  @param: dob : date of birth as tuple (year,month,day)
@@ -1377,12 +1509,15 @@ def _varnada_lagna_bv_raman(dob,tob,place,house_index=1,ayanamsa_mode=const._DEF
1377
1509
  @return varnada_lagna_rasi, varnada_lagna_longitude
1378
1510
  """
1379
1511
  jd_at_dob = utils.julian_day_number(dob, tob)
1380
- planet_positions = divisional_chart(jd_at_dob,place,ayanamsa_mode=ayanamsa_mode,divisional_chart_factor=divisional_chart_factor,chart_method=chart_method)
1512
+ planet_positions = divisional_chart(jd_at_dob,place,ayanamsa_mode=ayanamsa_mode,
1513
+ divisional_chart_factor=divisional_chart_factor,chart_method=chart_method,
1514
+ base_rasi=base_rasi,count_from_end_of_sign=count_from_end_of_sign)
1381
1515
  lagna = (planet_positions[0][1][0]+house_index-1)%12; asc_long = planet_positions[0][1][1]
1382
1516
  lagna_is_odd = lagna in const.odd_signs
1383
1517
  count1 = utils.count_rasis(0,lagna,dir=1) if lagna_is_odd else utils.count_rasis(11,lagna,dir=-1)
1384
1518
  hora_lagna,_ = drik.hora_lagna(jd_at_dob,place,ayanamsa_mode=ayanamsa_mode,divisional_chart_factor=divisional_chart_factor,
1385
- chart_method=chart_method) # V3.1.9
1519
+ chart_method=chart_method,
1520
+ base_rasi=base_rasi,count_from_end_of_sign=count_from_end_of_sign) # V3.1.9
1386
1521
  hora_lagna = (hora_lagna+house_index-1)%12
1387
1522
  hora_lagna_is_odd = hora_lagna in const.odd_signs
1388
1523
  count2 = utils.count_rasis(0,hora_lagna,dir=1) if hora_lagna_is_odd else utils.count_rasis(11,hora_lagna,dir=-1)
@@ -1390,7 +1525,12 @@ def _varnada_lagna_bv_raman(dob,tob,place,house_index=1,ayanamsa_mode=const._DEF
1390
1525
  _varnada_lagna = utils.count_rasis(1,count,dir=1) if lagna_is_odd else utils.count_rasis(12,count,dir=-1)
1391
1526
  _varnada_lagna -= 1 ## Keep in 0..11 range instead of 1..12
1392
1527
  return _varnada_lagna, asc_long #hl
1393
- def _varnada_lagna_santhanam(dob,tob,place,house_index=1,ayanamsa_mode=const._DEFAULT_AYANAMSA_MODE,divisional_chart_factor=1,chart_method=1):
1528
+ def _varnada_lagna_santhanam_mixed_chart(dob,tob, place,house_index=1,varga_factor_1=1,chart_method_1=1,
1529
+ varga_factor_2=1,chart_method_2=1):
1530
+ return _varnada_lagna_sharma_mixed_chart(dob, tob, place, house_index, varga_factor_1, chart_method_1, varga_factor_2, chart_method_2)
1531
+ def _varnada_lagna_santhanam(dob,tob,place,house_index=1,ayanamsa_mode=const._DEFAULT_AYANAMSA_MODE,
1532
+ divisional_chart_factor=1,chart_method=1,
1533
+ base_rasi=None,count_from_end_of_sign=None):
1394
1534
  """
1395
1535
  Get Varnada Lagna
1396
1536
  @param: dob : date of birth as tuple (year,month,day)
@@ -1399,8 +1539,27 @@ def _varnada_lagna_santhanam(dob,tob,place,house_index=1,ayanamsa_mode=const._DE
1399
1539
  @return varnada_lagna_rasi, varnada_lagna_longitude
1400
1540
  """
1401
1541
  return _varnada_lagna_sharma(dob, tob, place, house_index,ayanamsa_mode=ayanamsa_mode,
1402
- divisional_chart_factor=divisional_chart_factor,chart_method=chart_method)
1403
- def _varnada_lagna_sharma(dob,tob,place,house_index=1,ayanamsa_mode=const._DEFAULT_AYANAMSA_MODE,divisional_chart_factor=1,chart_method=1):
1542
+ divisional_chart_factor=divisional_chart_factor,chart_method=chart_method,
1543
+ base_rasi=base_rasi,count_from_end_of_sign=count_from_end_of_sign)
1544
+ def _varnada_lagna_sharma_mixed_chart(dob,tob, place,house_index=1,varga_factor_1=1,chart_method_1=1,
1545
+ varga_factor_2=1,chart_method_2=1):
1546
+ jd_at_dob = utils.julian_day_number(dob, tob)
1547
+ planet_positions = mixed_chart(jd_at_dob, place, varga_factor_1, chart_method_1, varga_factor_2, chart_method_2)
1548
+ lagna = (planet_positions[0][1][0]+house_index-1)%12; asc_long = planet_positions[0][1][1]
1549
+ lagna_is_odd = lagna in const.odd_signs
1550
+ count1 = utils.count_rasis(0,lagna,dir=1) if lagna_is_odd else utils.count_rasis(11,lagna,dir=-1)
1551
+ hora_lagna,_ = drik.hora_lagna_mixed_chart(jd_at_dob,place, varga_factor_1, chart_method_1, varga_factor_2, chart_method_2)
1552
+ hora_lagna = (hora_lagna+house_index-1)%12
1553
+ hora_lagna_is_odd = hora_lagna in const.odd_signs
1554
+ count2 = utils.count_rasis(0,hora_lagna,dir=1) if hora_lagna_is_odd else utils.count_rasis(11,hora_lagna,dir=-1)
1555
+ count = (count1 + count2)%12 if count1%2 == count2%2 else (max(count1,count2) - min (count1,count2))%12
1556
+ count_is_odd = count%2 != 0
1557
+ _varnada_lagna = utils.count_rasis(1,count,dir=1) if count_is_odd else utils.count_rasis(12,count,dir=-1)
1558
+ _varnada_lagna -= 1 ## Keep in 0..11 range instead of 1..12
1559
+ return _varnada_lagna, asc_long #hl
1560
+ def _varnada_lagna_sharma(dob,tob,place,house_index=1,ayanamsa_mode=const._DEFAULT_AYANAMSA_MODE,
1561
+ divisional_chart_factor=1,chart_method=1,
1562
+ base_rasi=None,count_from_end_of_sign=None):
1404
1563
  """
1405
1564
  Get Varnada Lagna
1406
1565
  @param: dob : date of birth as tuple (year,month,day)
@@ -1410,12 +1569,16 @@ def _varnada_lagna_sharma(dob,tob,place,house_index=1,ayanamsa_mode=const._DEFAU
1410
1569
  """
1411
1570
  _debug_ = False
1412
1571
  jd_at_dob = utils.julian_day_number(dob, tob)
1413
- planet_positions = divisional_chart(jd_at_dob,place,ayanamsa_mode=ayanamsa_mode,divisional_chart_factor=divisional_chart_factor,chart_method=chart_method)
1572
+ planet_positions = divisional_chart(jd_at_dob,place,ayanamsa_mode=ayanamsa_mode,
1573
+ divisional_chart_factor=divisional_chart_factor,chart_method=chart_method,
1574
+ base_rasi=base_rasi,count_from_end_of_sign=count_from_end_of_sign)
1414
1575
  lagna = (planet_positions[0][1][0]+house_index-1)%12; asc_long = planet_positions[0][1][1]
1415
1576
  lagna_is_odd = lagna in const.odd_signs
1416
1577
  count1 = utils.count_rasis(0,lagna,dir=1) if lagna_is_odd else utils.count_rasis(11,lagna,dir=-1)
1417
- hora_lagna,_ = drik.hora_lagna(jd_at_dob,place,ayanamsa_mode=ayanamsa_mode,divisional_chart_factor=divisional_chart_factor,
1418
- chart_method=chart_method) # V3.1.9
1578
+ hora_lagna,_ = drik.hora_lagna(jd_at_dob,place,ayanamsa_mode=ayanamsa_mode,
1579
+ divisional_chart_factor=divisional_chart_factor,
1580
+ chart_method=chart_method,
1581
+ base_rasi=base_rasi,count_from_end_of_sign=count_from_end_of_sign) # V3.1.9
1419
1582
  hora_lagna = (hora_lagna+house_index-1)%12
1420
1583
  hora_lagna_is_odd = hora_lagna in const.odd_signs
1421
1584
  count2 = utils.count_rasis(0,hora_lagna,dir=1) if hora_lagna_is_odd else utils.count_rasis(11,hora_lagna,dir=-1)
@@ -1507,8 +1670,7 @@ def _stronger_planet_from_the_list(planet_positions,planet_list):
1507
1670
  return 1 if house.stronger_planet_from_planet_positions(planet_positions, planet1, planet2)==planet1 else -1
1508
1671
  from functools import cmp_to_key
1509
1672
  planet_list.sort(key=cmp_to_key(_compare))
1510
- return planet_list[0]
1511
-
1673
+ return planet_list[0]
1512
1674
  def _order_stronger_planets(planet_positions,reverse=False):
1513
1675
  """ Still under testing """
1514
1676
  def _compare(planet1,planet2):
@@ -1518,6 +1680,37 @@ def _order_stronger_planets(planet_positions,reverse=False):
1518
1680
  planet_list.sort(key=cmp_to_key(_compare))
1519
1681
  if reverse: planet_list = list(reversed(planet_list))
1520
1682
  return planet_list
1683
+ def special_planet_longitudes_mixed_chart(dob,tob,place,varga_factor_1=1,chart_method_1=1,varga_factor_2=1,chart_method_2=1):
1684
+ spl_planet_positions_in_rasi = special_planet_longitudes(dob, tob, place)
1685
+ if varga_factor_1==1 and varga_factor_2==1: return spl_planet_positions_in_rasi
1686
+ pp1 = spl_planet_positions_in_rasi if varga_factor_1==1 else \
1687
+ eval(divisional_chart_functions[varga_factor_1]+'(spl_planet_positions_in_rasi,chart_method=chart_method_1)')
1688
+ pp2 = pp1 if varga_factor_2==2 else eval(divisional_chart_functions[varga_factor_2]+'(pp1,chart_method=chart_method_2)')
1689
+ return pp2
1690
+ def special_planet_longitudes(dob,tob,place,divisional_chart_factor=1,chart_method=1):
1691
+ jd_at_dob = utils.julian_day_number(dob, tob)
1692
+ sub_planet_list_1 = {'Kl':'kaala_longitude','Mr':'mrityu_longitude','Ap':'artha_praharaka_longitude','Yg':'yama_ghantaka_longitude',
1693
+ 'Gk':'gulika_longitude','Md':'maandi_longitude'}
1694
+ spl_rasi_positions = []
1695
+ for sp,sp_func in sub_planet_list_1.items():
1696
+ v = eval('drik.'+sp_func+'(dob,tob,place)')
1697
+ spl_rasi_positions.append([sp,[v[0],v[1]]])
1698
+ sub_planet_list_2 = {'Dm':'dhuma','Vp':'vyatipaata','Pv':'parivesha','Ic':'indrachaapa','Uk':'upaketu'}
1699
+ sun_long = rasi_chart(jd_at_dob, place)[1][1]; sun_long = sun_long[0]*30+sun_long[1]
1700
+ for sp,sp_func in sub_planet_list_2.items():
1701
+ eval_str = "drik.solar_upagraha_longitudes(sun_long,upagraha='"+str(sp_func)+"')"
1702
+ v = eval(eval_str)
1703
+ spl_rasi_positions.append([sp,[v[0],v[1]]])
1704
+ if divisional_chart_factor==1: return spl_rasi_positions
1705
+ return eval(divisional_chart_functions[divisional_chart_factor]+'(spl_rasi_positions,chart_method=chart_method)')
1706
+ def special_lagna_longitudes(dob,tob,place,divisional_chart_factor=1,chart_method=1):
1707
+ jd_at_dob = utils.julian_day_number(dob, tob)
1708
+ """ For now let us comment this here as there is longitude for arudha lagna
1709
+ _sp_lagna_list = ['AL']+['A'+str(l) for l in range(2,12)]+['UL']
1710
+ spl_rasi_positions = []
1711
+ from jhora.horoscope.chart import arudhas
1712
+ if divisional_chart_factor==1: spl_rasi_positions=arudhas.bhava_arudhas_from_planet_positions(spl_rasi_positions)
1713
+ """
1521
1714
  def solar_upagraha_longitudes(planet_positions,upagraha,divisional_chart_factor=1):
1522
1715
  """
1523
1716
  Get logitudes of solar based upagrahas
@@ -1534,12 +1727,12 @@ def solar_upagraha_longitudes(planet_positions,upagraha,divisional_chart_factor=
1534
1727
  solar_longitude = planet_positions[1][1][0]*30+planet_positions[1][1][1]
1535
1728
  return drik.solar_upagraha_longitudes(solar_longitude, upagraha, divisional_chart_factor=divisional_chart_factor)
1536
1729
  def _amsa(jd,place,ayanamsa_mode=const._DEFAULT_AYANAMSA_MODE,divisional_chart_factor=1,include_upagrahas=False,
1537
- include_special_lagnas=False,include_sphutas=False,chart_method=1):
1730
+ include_special_lagnas=False,include_sphutas=False,chart_method=1,base_rasi=None,count_from_end_of_sign=None):
1538
1731
  "Still under testing - Exact algorithm not clear"
1539
1732
  y,m,d,fh = utils.jd_to_gregorian(jd); dob = drik.Date(y,m,d); tob = (fh,0,0)
1540
- rasi_planet_positions = rasi_chart(jd, place)
1541
1733
  div_planet_positions = divisional_chart(jd, place,ayanamsa_mode=ayanamsa_mode,divisional_chart_factor=divisional_chart_factor,
1542
- chart_method=chart_method)
1734
+ chart_method=chart_method,base_rasi=base_rasi,
1735
+ count_from_end_of_sign=count_from_end_of_sign)
1543
1736
  def _get_amsa_index_from_longitude(p_long):
1544
1737
  df = 30.0/divisional_chart_factor
1545
1738
  return int(p_long/df)
@@ -1552,18 +1745,22 @@ def _amsa(jd,place,ayanamsa_mode=const._DEFAULT_AYANAMSA_MODE,divisional_chart_f
1552
1745
  for sl,lf in special_lagna_dict.items():
1553
1746
  sf = drik.special_ascendant(jd, place,ayanamsa_mode=ayanamsa_mode,
1554
1747
  divisional_chart_factor=divisional_chart_factor,chart_method=chart_method,
1555
- lagna_rate_factor=lf)
1748
+ lagna_rate_factor=lf,base_rasi=base_rasi,count_from_end_of_sign=count_from_end_of_sign)
1556
1749
  __amsa_special[sl] = _get_amsa_index_from_longitude(sf[1])
1557
1750
  il = drik.indu_lagna(jd, place,ayanamsa_mode=ayanamsa_mode,divisional_chart_factor=divisional_chart_factor,
1558
- chart_method=chart_method)
1751
+ chart_method=chart_method,base_rasi=base_rasi,
1752
+ count_from_end_of_sign=count_from_end_of_sign)
1559
1753
  __amsa_special['indu_lagna_str'] = _get_amsa_index_from_longitude(il[1])
1560
1754
  bl = drik.bhrigu_bindhu(jd, place,ayanamsa_mode=ayanamsa_mode, divisional_chart_factor=divisional_chart_factor,
1561
- chart_method=chart_method)
1755
+ chart_method=chart_method,base_rasi=base_rasi,
1756
+ count_from_end_of_sign=count_from_end_of_sign)
1562
1757
  __amsa_special['bhrigu_bindhu_lagna_str'] = _get_amsa_index_from_longitude(bl[1])
1563
- sl = drik.sree_lagna(jd, place,ayanamsa_mode=ayanamsa_mode, divisional_chart_factor=divisional_chart_factor)
1758
+ sl = drik.sree_lagna(jd, place,ayanamsa_mode=ayanamsa_mode, divisional_chart_factor=divisional_chart_factor,
1759
+ base_rasi=base_rasi,count_from_end_of_sign=count_from_end_of_sign)
1564
1760
  __amsa_special['sree_lagna_str'] = _get_amsa_index_from_longitude(sl[1])
1565
1761
  vl = varnada_lagna(dob, tob, place,ayanamsa_mode=ayanamsa_mode, divisional_chart_factor=divisional_chart_factor,
1566
- chart_method=chart_method,house_index=1)
1762
+ chart_method=chart_method,house_index=1,base_rasi=base_rasi,
1763
+ count_from_end_of_sign=count_from_end_of_sign)
1567
1764
  __amsa_special['varnada_lagna_str'] = _get_amsa_index_from_longitude(vl[1])
1568
1765
  if include_upagrahas:
1569
1766
  sub_planet_list_1 = {'kaala_str':'kaala_longitude','mrityu_str':'mrityu_longitude','artha_str':'artha_praharaka_longitude','yama_str':'yama_ghantaka_longitude',
@@ -1589,9 +1786,22 @@ if __name__ == "__main__":
1589
1786
  #ex_20 = [[3,(2,11)],[4,(7,19)]]; exp=[1,2]
1590
1787
  #print(shodasamsa_chart(ex_20, chart_method=1))
1591
1788
  #exit()
1592
- dob = (1996,12,7); tob = (10,34,0); place = drik.Place('Chennai,India',13.0878,80.2785,5.5)
1789
+ dob = drik.Date(1996,12,7); tob = (10,34,0); place = drik.Place('Chennai,India',13.0878,80.2785,5.5)
1593
1790
  jd = utils.julian_day_number(dob, tob)
1594
- dvf =300; planet_positions_in_rasi = rasi_chart(jd, place); f1 = 30.0/dvf
1791
+ #"""
1792
+ varga_factor_1=9; chart_method_1=1;varga_factor_2 = 12; chart_method_2=1
1793
+ planet_positions_in_rasi = rasi_chart(jd,place)
1794
+ mpp = special_planet_longitudes_mixed_chart(dob, tob, place, varga_factor_1, chart_method_1, varga_factor_2, chart_method_2)
1795
+ print(mpp)
1796
+ print('D-'+str(varga_factor_1)+'XD-'+str(varga_factor_2),utils.get_house_planet_list_from_planet_positions(mpp))
1797
+ exit()
1798
+ #"""
1799
+ #dvf =300; planet_positions_in_rasi = rasi_chart(jd, place); f1 = 30.0/dvf
1800
+ dvf =9; f1 = 30.0/dvf
1801
+ spl_planet_positions_in_rasi = special_planet_longitudes(dob, tob, place, divisional_chart_factor=dvf, chart_method=1)
1802
+ print(spl_planet_positions_in_rasi)
1803
+ print(utils.get_house_planet_list_from_planet_positions(spl_planet_positions_in_rasi))
1804
+ exit()
1595
1805
  ssv = 1; bs = 1; cfeos = True
1596
1806
  start_method_dict = [
1597
1807
  '0=>From base for all signs',
@@ -1607,11 +1817,15 @@ if __name__ == "__main__":
1607
1817
  ]
1608
1818
  exp = {}
1609
1819
  for ssv,_ in enumerate(start_method_dict):
1820
+ am = _amsa(jd, place, divisional_chart_factor=dvf,chart_method=ssv, base_rasi=bs, count_from_end_of_sign=cfeos)
1610
1821
  pp = custom_divisional_chart(planet_positions_in_rasi, divisional_chart_factor=dvf, chart_method=ssv,
1611
1822
  base_rasi=bs, count_from_end_of_sign=cfeos)
1612
1823
  h_to_p = utils.get_house_planet_list_from_planet_positions(pp)
1613
- key = start_method_dict[ssv]; exp[key] = h_to_p
1614
- print(exp)
1824
+ print(ssv,pp)
1825
+ print(ssv,h_to_p)
1826
+ print(ssv,am)
1827
+ #key = start_method_dict[ssv]; exp[key] = h_to_p
1828
+ #print(exp)
1615
1829
  exit()
1616
1830
  from jhora.tests import pvr_tests
1617
1831
  pvr_tests._STOP_IF_ANY_TEST_FAILED = False