def __save_single_data(self, stock_identity: str, df: pd.DataFrame, data_table: NoSqlRw.ItkvTable):
     nop(self)
     if 'period' not in df.columns:
         return False
     for index, row in df.iterrows():
         period = row['period']
         if isinstance(period, str):
             period = text_auto_time(period)
         data_table.upsert(stock_identity, period, row.to_dict())
     return True
Ejemplo n.º 2
0
 def query_nosql_table(self, db: str, table: str,
                       identity_field: str = 'Identity',
                       datetime_field: str = 'DateTime') -> ItkvTable or None:
     if self.get_mongo_db_client() is None:
         return None
     if db not in self.__no_sql_tables.keys():
         self.__no_sql_tables[db] = {}
     database = self.__no_sql_tables.get(db)
     if table not in database.keys():
         database[table] = ItkvTable(self.get_mongo_db_client(), db, table, identity_field, datetime_field)
     return database.get(table, None)
    def __singleton_init(self):
        data_path = root_path + '/Data/'

        self.__sAsUtility = SqlAccess(data_path + 'sAsUtility.db')
        self.__sAsDailyData = SqlAccess(data_path + 'sAsDailyData.db')
        self.__sAsFinanceData = SqlAccess(data_path + 'sAsFinanceData.db')
        self.__mongo_db_client = MongoClient(config.NOSQL_DB_HOST, config.NOSQL__DB_PORT, serverSelectionTimeoutMS=5)

        import Database.AliasTable as AliasTable
        import Database.UpdateTableEx as UpdateTableEx

        self.__alias_table = AliasTable.AliasTable()
        self.__update_table = UpdateTableEx.UpdateTableEx()
        self.__securities_table = ItkvTable(DatabaseEntry().get_mongo_db_client(),
                                            'StockAnalysisSystem', 'SecuritiesData')
        self.__finance_table = {
            'BalanceSheet': ItkvTable(DatabaseEntry().get_mongo_db_client(),
                                      'StockAnalysisSystem', 'BalanceSheet'),
            'IncomeStatement': ItkvTable(DatabaseEntry().get_mongo_db_client(),
                                         'StockAnalysisSystem', 'IncomeStatement'),
            'CashFlowStatement': ItkvTable(DatabaseEntry().get_mongo_db_client(),
                                           'StockAnalysisSystem', 'CashFlowStatement'),
        }
Ejemplo n.º 4
0
 def __singleton_init(self):
     self.__update_table = UpdateTable()
     self.__securities_table = ItkvTable(DatabaseEntry().get_mongo_db_client(), 'StockAnalysisSystem', 'SecuritiesData')