def getOrCreateCompany(self, CIK, entityRegistrantName=None, session=None): company = CompanyDao().getCompany2(CIK, session) if (company is None): company = Company() company.CIK = CIK company.entityRegistrantName = entityRegistrantName company.listed = True elif entityRegistrantName is not None and entityRegistrantName != '': company.entityRegistrantName = entityRegistrantName Dao().addObject(objectToAdd=company, session=session, doCommit=True) return company
def solveCurrentExpression(self, CIK, ticker, session): rs = FileDataDao().getLastFileDataByCIK(CIK=CIK, session=session) row = rs.fetchone() tickerObject = CompanyDao().getTicker(ticker, session) fileData = FileDataDao().getFileData(row[0], session) expressionDict = self.getExpressionDict2(isCurrent=True, session=session) cfvDict = self.getValuesForExpression(fileDataOID=fileData.OID, isCurrent=True, session=session) priceValue = PricingInterface().getMarketPriceByAssetName( tickerObject.onlinePricingSymbol, PricingInterface.TRADIER) cfvDict['PRICE'] = {'value': priceValue, 'periodOID': None} # print('PRICE', priceValue) return self.solveExpression(expressionDict, fileData, cfvDict)
def updateDTCompanyData(values): if(values is not None and len(values) > 0): rows = CompanyDao().getCompanyListByTicker(values) if (len(rows) != 0): df = DataFrame(rows) dtCompanyData = dt.DataTable( id='dt-companyData', columns=[ {"name": i, "id": i, "deletable": False} for i in df.columns ], data=df.to_dict("rows"), sort_action="native", sort_mode="multi", style_as_list_view=True, ) return dtCompanyData
def executeCCRCReport(n_clicks): if (n_clicks > 0): rs2 = CompanyDao().getCompanyListForReport() df2 = DataFrame(rs2) dt2 = dt.DataTable( id='dt-companyReport', columns=[{ "name": i, "id": i, "deletable": False } for i in df2.columns], data=df2.to_dict("rows"), filter_action="native", sort_action="native", sort_mode="multi", row_selectable="multi", ) return dt2
@author: afunes ''' from dash.dependencies import Output, Input, State from pandas.core.frame import DataFrame from dao.companyDao import CompanyDao from dao.entityFactDao import EntityFactDao import dash_bootstrap_components as dbc import dash_core_components as dcc import dash_html_components as html import dash_table as dt from web.app import app options = CompanyDao().getAllTicker() options2 = [] for o in options: options2.append({"label": o[0], "value": o[0]}) layout = dbc.Container([ dbc.Row([ dbc.Col([ html.Label("Company Tickers"), dcc.Dropdown(id="dd-companyTicker", multi=True) ], width=2), dbc.Col([ html.Label("Company list"), dt.DataTable(data=[{}], id='dt-companyData3'), html.Div(id='dt-companyDataContainer3')
if __name__ == "__main__": Initializer() notMarchingList = [] # fileHandle = open('C:\\Users\\afunes\\iCloudDrive\\PortfolioViewer\\import\\ticker.txt', 'r') url = "https://www.sec.gov/include/ticker.txt" response = requests.get(url, timeout = 30) fileText = response.text objectList = [] for line in fileText.split('\n'): session = DBConnector(isNullPool=True).getNewSession() row = line.split('\t') ticker = row[0].upper() CIK = row[1].rstrip() # print(ticker, CIK) company = CompanyDao().getCompany2(CIK, session) if (company is None): print("Company not found CIK: " + CIK) elif (company is not None): tickerList = [x.ticker for x in company.tickerList] if (ticker not in tickerList): t = Ticker() t.ticker = ticker.upper() t.tickerOrigin = "www.sec.gov/include/ticker.txt" t.active = True company.tickerList.append(t) print("Adding ticker " + ticker + " for company " + str(company.CIK)) try: Dao().addObject(objectToAdd = company, session = session, doFlush = True) session.commit() except Exception as e: