Example #1
0
 def update_assets(self, *args):
     assets = set(pos.asset for pos in self if pos.quantity > 0)
     itemcount = len(assets)
     count = 0.0
     for i in datasource_controller.update_assets(assets):
         count += 1
         yield count / itemcount
     self.last_update = datetime.datetime.now()
     self.emit("updated")
     yield 1
 def test_update_stocks(self):
     test_date = datetime.datetime(1900, 1, 1)
     for asset in objects.asset.get_all_assets():
         asset.price = 0
         asset.date = test_date
     for item in dsm.update_assets(objects.asset.get_all_assets()):
         print item
     for asset in objects.asset.get_all_assets():
         self.assertNotEqual(asset.date, test_date)
         self.assertNotEqual(asset.price, 0)
    def test_items_with_problems(self):
        for item in ITEMS_WITH_PROBLEMS:
            dsm.search(item, threaded=False)
            asset = objects.asset.get_asset_for_searchstring(item)[0]
            self.assertIsNotNone(asset)
            test_date = datetime.datetime(1900, 1, 1)
            asset.price = 0
            asset.date = test_date
            for foo in dsm.update_assets([asset]):
                pass
            self.assertNotEqual(asset.date, test_date)
            self.assertNotEqual(asset.price, 0)

            self.assertIsNotNone(asset)
            count = len(asset.quotations)
            self.get_historical_prices(asset)
            self.assertNotEqual(count, len(asset.quotations))
Example #4
0
    import sys
    sys.path.append("../../")
    import __builtin__
    __builtin__._ = str
    from avernus import objects
    from avernus.objects import db
    from avernus.controller import datasource_controller as dsm

    dbfile = ":memory:"
    db.set_db(dbfile)
    db.connect()

    test_asset = 'FR0010959676'

    y = DataSource()
    for res in y.search(test_asset):
        item, source, source_info = res
        dsm._item_found_callback(item, source, source_info)

    asset = objects.asset.get_asset_for_searchstring(test_asset)[0]
    for foo in dsm.update_assets([asset]):
        pass

    for asset in objects.asset.get_all_assets():
        for foo in dsm.update_historical_prices_asset(asset, threaded=False):
            for bar in foo:
                pass

    print asset.price, asset.date
    print len(asset.quotations)