示例#1
0
    def __init__(self, ob_ctx):
        self.shutdown_mutex = Lock()
        self.ob_ctx = ob_ctx
        db = Obdb(ob_ctx.db_path, ob_ctx.disable_sqlite_crypt)
        self.transport = CryptoTransportLayer(ob_ctx, db)
        self.market = Market(self.transport, db)
        self.upnp_mapper = None

        Thread(target=reactor.run, args=(False, )).start()

        peers = ob_ctx.seeds if not ob_ctx.seed_mode else []
        self.transport.join_network(peers)

        handlers = [(r"/", MainHandler), (r"/main", MainHandler),
                    (r"/html/(.*)", OpenBazaarStaticHandler, {
                        'path': './html'
                    }),
                    (r"/ws", WebSocketHandler,
                     dict(transport=self.transport,
                          market_application=self,
                          db=db))]

        # TODO: Move debug settings to configuration location
        settings = dict(debug=True)
        super(MarketApplication, self).__init__(handlers, **settings)
示例#2
0
    def __init__(self,
                 market_ip,
                 market_port,
                 market_id=1,
                 bm_user=None,
                 bm_pass=None,
                 bm_port=None,
                 seed_peers=None,
                 seed_mode=0,
                 dev_mode=False,
                 db_path='db/ob.db',
                 disable_sqlite_crypt=False):
        if seed_peers is None:
            seed_peers = []

        db = Obdb(db_path, disable_sqlite_crypt)

        self.transport = CryptoTransportLayer(market_ip, market_port,
                                              market_id, db, bm_user, bm_pass,
                                              bm_port, seed_mode, dev_mode)

        self.market = Market(self.transport, db)

        # UNUSED
        # def post_joined():
        #     self.transport.dht._refreshNode()
        #     self.market.republish_contracts()

        peers = seed_peers if seed_mode == 0 else []
        self.transport.join_network(peers)

        Thread(target=reactor.run, args=(False, )).start()

        handlers = [(r"/", MainHandler), (r"/main", MainHandler),
                    (r"/html/(.*)", OpenBazaarStaticHandler, {
                        'path': './html'
                    }),
                    (r"/ws", WebSocketHandler,
                     dict(transport=self.transport,
                          market_application=self,
                          db=db))]

        # TODO: Move debug settings to configuration location
        settings = dict(debug=True)
        tornado.web.Application.__init__(self, handlers, **settings)