Advertisement
Guest User

Untitled

a guest
Aug 22nd, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.96 KB | None | 0 0
  1. """
  2. This is the corresponding mongo schema i wrote for storing data received from screene.in api.
  3. """
  4. from mongoengine import *
  5.  
  6.  
  7.  
  8. class BalanceSheet(EmbeddedDocument):
  9. share_capital = DictField()
  10. reserves = DictField()
  11. borrowings = DictField()
  12. other_liabilities = DictField()
  13. total_liabilities = DictField()
  14. fixed_assets = DictField()
  15. cwip = DictField()
  16. investments = DictField()
  17. other_assets = DictField()
  18. total_assets = DictField()
  19.  
  20.  
  21.  
  22. class Annual(EmbeddedDocument):
  23. sales = DictField()
  24. expenses = DictField()
  25. operating_profit = DictField()
  26. opm = DictField()
  27. other_income = DictField()
  28. interest = DictField()
  29. depreciation = DictField()
  30. profit_before_tax = DictField()
  31. tax = DictField()
  32. net_profit = DictField()
  33. eps_unadj= DictField()
  34. dividend_payout = DictField()
  35.  
  36.  
  37.  
  38.  
  39. class CashFlow(EmbeddedDocument):
  40. cash_from_operating_activity = DictField()
  41. cash_from_investing_activity = DictField()
  42. cash_from_financing_activity = DictField()
  43. net_cash_flow = DictField()
  44.  
  45.  
  46.  
  47. class Quarters(EmbeddedDocument):
  48. sales = DictField()
  49. expenses = DictField()
  50. operating_profit = DictField()
  51. opm = DictField()
  52. other_income = DictField()
  53. depreciation = DictField()
  54. interest = DictField()
  55. profit_before_tax = DictField()
  56. tax = DictField()
  57. net_profit = DictField()
  58.  
  59.  
  60.  
  61. class Rating(EmbeddedDocument):
  62. rating = StringField()
  63. instrument = StringField()
  64. source = StringField()
  65. link = StringField()
  66.  
  67. class AnnualReport(EmbeddedDocument):
  68. source = StringField()
  69. year = IntField()
  70. link = URLField()
  71.  
  72. class Announcement(EmbeddedDocument):
  73. date = DateTimeField()
  74. announcement = StringField()
  75. link = URLField()
  76.  
  77. class Warehouse(EmbeddedDocument):
  78. high_price = FloatField()
  79. low_price = FloatField()
  80. sales_growth = FloatField()
  81. current_price = FloatField()
  82. dividend_yield = FloatField()
  83. face_value = IntField()
  84. id = IntField()
  85. sales_growth_3years = FloatField()
  86. profit_growth_5years = FloatField()
  87. average_return_on_equity_3years = FloatField()
  88. book_value = FloatField()
  89. status = StringField()
  90. pair_url = StringField()
  91. sales_growth_10years = FloatField()
  92. average_return_on_equity_10years = FloatField()
  93. profit_growth = FloatField()
  94. market_capitalization = FloatField()
  95. profit_growth_10years = FloatField()
  96. price_to_earning = FloatField()
  97. industry = StringField()
  98. analysis = DictField()
  99. result_type = StringField()
  100. profit_growth_3years = FloatField()
  101. sales_growth_5years = FloatField()
  102. return_on_equity = FloatField()
  103. average_return_on_equity_5years = FloatField()
  104.  
  105.  
  106.  
  107. class Company(Document):
  108. isin_no = StringField()
  109. bse_code = IntField()
  110. bse_id = StringField()
  111. bse_name = StringField()
  112. nse_id = StringField()
  113. nse_name = StringField()
  114. sector = StringField()
  115. industry = StringField()
  116. name = StringField()
  117. short_name = StringField()
  118. balance_sheet = EmbeddedDocumentField('BalanceSheet')
  119. annual = EmbeddedDocumentField('Annual')
  120. cash_flow = EmbeddedDocumentField('CashFlow')
  121. quarters = EmbeddedDocumentField('Quarters')
  122. rating = ListField(EmbeddedDocumentField('Rating'))
  123. # annual_report = ListField(EmbeddedDocumentField('AnnualReport'))
  124. annual_report = DictField() # this allows nested dict, key of each sub dict = 'year'
  125. announcement = ListField(EmbeddedDocumentField('Announcement'))
  126. warehouse = EmbeddedDocumentField('Warehouse')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement