Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- """
- This is the corresponding mongo schema i wrote for storing data received from screene.in api.
- """
- from mongoengine import *
- class BalanceSheet(EmbeddedDocument):
- share_capital = DictField()
- reserves = DictField()
- borrowings = DictField()
- other_liabilities = DictField()
- total_liabilities = DictField()
- fixed_assets = DictField()
- cwip = DictField()
- investments = DictField()
- other_assets = DictField()
- total_assets = DictField()
- class Annual(EmbeddedDocument):
- sales = DictField()
- expenses = DictField()
- operating_profit = DictField()
- opm = DictField()
- other_income = DictField()
- interest = DictField()
- depreciation = DictField()
- profit_before_tax = DictField()
- tax = DictField()
- net_profit = DictField()
- eps_unadj= DictField()
- dividend_payout = DictField()
- class CashFlow(EmbeddedDocument):
- cash_from_operating_activity = DictField()
- cash_from_investing_activity = DictField()
- cash_from_financing_activity = DictField()
- net_cash_flow = DictField()
- class Quarters(EmbeddedDocument):
- sales = DictField()
- expenses = DictField()
- operating_profit = DictField()
- opm = DictField()
- other_income = DictField()
- depreciation = DictField()
- interest = DictField()
- profit_before_tax = DictField()
- tax = DictField()
- net_profit = DictField()
- class Rating(EmbeddedDocument):
- rating = StringField()
- instrument = StringField()
- source = StringField()
- link = StringField()
- class AnnualReport(EmbeddedDocument):
- source = StringField()
- year = IntField()
- link = URLField()
- class Announcement(EmbeddedDocument):
- date = DateTimeField()
- announcement = StringField()
- link = URLField()
- class Warehouse(EmbeddedDocument):
- high_price = FloatField()
- low_price = FloatField()
- sales_growth = FloatField()
- current_price = FloatField()
- dividend_yield = FloatField()
- face_value = IntField()
- id = IntField()
- sales_growth_3years = FloatField()
- profit_growth_5years = FloatField()
- average_return_on_equity_3years = FloatField()
- book_value = FloatField()
- status = StringField()
- pair_url = StringField()
- sales_growth_10years = FloatField()
- average_return_on_equity_10years = FloatField()
- profit_growth = FloatField()
- market_capitalization = FloatField()
- profit_growth_10years = FloatField()
- price_to_earning = FloatField()
- industry = StringField()
- analysis = DictField()
- result_type = StringField()
- profit_growth_3years = FloatField()
- sales_growth_5years = FloatField()
- return_on_equity = FloatField()
- average_return_on_equity_5years = FloatField()
- class Company(Document):
- isin_no = StringField()
- bse_code = IntField()
- bse_id = StringField()
- bse_name = StringField()
- nse_id = StringField()
- nse_name = StringField()
- sector = StringField()
- industry = StringField()
- name = StringField()
- short_name = StringField()
- balance_sheet = EmbeddedDocumentField('BalanceSheet')
- annual = EmbeddedDocumentField('Annual')
- cash_flow = EmbeddedDocumentField('CashFlow')
- quarters = EmbeddedDocumentField('Quarters')
- rating = ListField(EmbeddedDocumentField('Rating'))
- # annual_report = ListField(EmbeddedDocumentField('AnnualReport'))
- annual_report = DictField() # this allows nested dict, key of each sub dict = 'year'
- announcement = ListField(EmbeddedDocumentField('Announcement'))
- warehouse = EmbeddedDocumentField('Warehouse')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement