@@ -129,6 +129,7 @@ def add_symbol(self, symbol: str, currency_id: int=None, note: str='', data_sour
129129 if existing ['quote_source' ] == MarketDataFeed .NA :
130130 _ = self ._exec ("UPDATE asset_tickers SET quote_source=:data_source WHERE id=:id" ,
131131 [(":data_source" , data_source ), (":id" , existing ['id' ])])
132+ self ._data = self .db_cache .update_data (self ._load_asset_data , (self ._id ,)) # Reload asset data from DB
132133
133134 # Returns country object for the asset
134135 def country (self ) -> JalCountry :
@@ -254,7 +255,7 @@ def set_tag(self, tag_id: int) -> None:
254255 "VALUES(:asset_id, :datatype, :expiry)" ,
255256 [(":asset_id" , self ._id ), (":datatype" , AssetData .Tag ), (":expiry" , str (tag_id ))])
256257 self ._tag = JalTag (tag_id )
257- self ._fetch_data ()
258+ self ._data = self . db_cache . update_data ( self . _load_asset_data , ( self . _id ,)) # Reload asset data from DB
258259
259260 # Updates relevant asset data fields with information provided in data dictionary
260261 def update_data (self , data : dict ) -> None :
@@ -274,7 +275,7 @@ def update_data(self, data: dict) -> None:
274275 updaters [key ](data [key ])
275276 except KeyError : # No updater for this key is present
276277 continue
277- self ._fetch_data ()
278+ self ._data = self . db_cache . update_data ( self . _load_asset_data , ( self . _id ,)) # Reload asset data from DB
278279
279280 def _update_isin (self , new_isin : str ) -> None :
280281 if self ._isin :
@@ -409,7 +410,8 @@ def get_assets(cls) -> list:
409410 assets = []
410411 query = cls ._exec ("SELECT id FROM assets" )
411412 while query .next ():
412- assets .append (JalAsset (super (JalAsset , JalAsset )._read_record (query , cast = [int ])))
413+ asset_id = cls ._read_record (query , cast = [int ])
414+ assets .append (JalAsset (asset_id ))
413415 return assets
414416
415417 # Method returns a list of JalAsset objects that describe currencies defined in ledger
0 commit comments