当前位置: 首页>>代码示例>>Python>>正文


Python IOLoop.install方法代码示例

本文整理汇总了Python中tornado.ioloop.IOLoop.install方法的典型用法代码示例。如果您正苦于以下问题:Python IOLoop.install方法的具体用法?Python IOLoop.install怎么用?Python IOLoop.install使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在tornado.ioloop.IOLoop的用法示例。


在下文中一共展示了IOLoop.install方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: run

# 需要导入模块: from tornado.ioloop import IOLoop [as 别名]
# 或者: from tornado.ioloop.IOLoop import install [as 别名]

#.........这里部分代码省略.........
		if self._debug:
			events.DebugEventListener()

		# setup access control
		userManagerName = s.get(["accessControl", "userManager"])
		try:
			clazz = octoprint.util.get_class(userManagerName)
			userManager = clazz()
		except AttributeError as e:
			self._logger.exception("Could not instantiate user manager {}, falling back to FilebasedUserManager!".format(userManagerName))
			userManager = octoprint.users.FilebasedUserManager()
		finally:
			userManager.enabled = s.getBoolean(["accessControl", "enabled"])

		loginManager = LoginManager()
		loginManager.session_protection = "strong"
		loginManager.user_callback = load_user
		if not userManager.enabled:
			loginManager.anonymous_user = users.DummyUser
			principals.identity_loaders.appendleft(users.dummy_identity_loader)
		loginManager.init_app(app)

		# register API blueprint
		self._setup_blueprints()

		## Tornado initialization starts here

		if self._host is None:
			self._host = s.get(["server", "host"])
		if self._port is None:
			self._port = s.getInt(["server", "port"])

		ioloop = IOLoop()
		ioloop.install()

		self._router = SockJSRouter(self._create_socket_connection, "/sockjs")

		upload_suffixes = dict(name=s.get(["server", "uploads", "nameSuffix"]), path=s.get(["server", "uploads", "pathSuffix"]))

		def mime_type_guesser(path):
			from octoprint.filemanager import get_mime_type
			return get_mime_type(path)

		download_handler_kwargs = dict(
			as_attachment=True,
			allow_client_caching=False
		)
		additional_mime_types=dict(mime_type_guesser=mime_type_guesser)
		admin_validator = dict(access_validation=util.tornado.access_validation_factory(app, loginManager, util.flask.admin_validator))
		no_hidden_files_validator = dict(path_validation=util.tornado.path_validation_factory(lambda path: not octoprint.util.is_hidden_path(path), status_code=404))

		def joined_dict(*dicts):
			if not len(dicts):
				return dict()

			joined = dict()
			for d in dicts:
				joined.update(d)
			return joined

		server_routes = self._router.urls + [
			# various downloads
			(r"/downloads/timelapse/([^/]*\.mp[g4])", util.tornado.LargeResponseHandler, joined_dict(dict(path=s.getBaseFolder("timelapse")), download_handler_kwargs, no_hidden_files_validator)),
			(r"/downloads/files/local/(.*)", util.tornado.LargeResponseHandler, joined_dict(dict(path=s.getBaseFolder("uploads")), download_handler_kwargs, no_hidden_files_validator, additional_mime_types)),
			(r"/downloads/logs/([^/]*)", util.tornado.LargeResponseHandler, joined_dict(dict(path=s.getBaseFolder("logs")), download_handler_kwargs, admin_validator)),
			# camera snapshot
开发者ID:kevans91,项目名称:OctoPrint,代码行数:70,代码来源:__init__.py

示例2: test_install_should_assert_ioloop_is_not_initialized

# 需要导入模块: from tornado.ioloop import IOLoop [as 别名]
# 或者: from tornado.ioloop.IOLoop import install [as 别名]
    def test_install_should_assert_ioloop_is_not_initialized(self):
        IOLoop.instance()  # initialized

        with self.assertRaises(AssertionError):
            io_loop = IOLoop()
            io_loop.install()
开发者ID:igorsobreira,项目名称:tornado,代码行数:8,代码来源:ioloop_test.py

示例3: install

# 需要导入模块: from tornado.ioloop import IOLoop [as 别名]
# 或者: from tornado.ioloop.IOLoop import install [as 别名]
 def install(self):
     """Installs IOLoop"""
     IOLoop.install(self)
     return self
开发者ID:inean,项目名称:tornado,代码行数:6,代码来源:qtloop.py

示例4: test_install_ioloop_as_the_singleton_instance

# 需要导入模块: from tornado.ioloop import IOLoop [as 别名]
# 或者: from tornado.ioloop.IOLoop import install [as 别名]
    def test_install_ioloop_as_the_singleton_instance(self):
        io_loop = IOLoop()
        io_loop.install()

        self.assertEqual(io_loop, IOLoop.instance())
开发者ID:igorsobreira,项目名称:tornado,代码行数:7,代码来源:ioloop_test.py

示例5: run_socket

# 需要导入模块: from tornado.ioloop import IOLoop [as 别名]
# 或者: from tornado.ioloop.IOLoop import install [as 别名]
def run_socket(datasource):
    io_loop = IOLoop()
    io_loop.install()

    host = pop_clean()
    if host is None:
        log("[E]",
            '''No clean host found. Use "--seed default.txt" to add more.''')
        return
    log("[I]", "Connecting to (%s:%d)" % host)

    with SQLiteControlledExecution(DB_PATH) as c:
        c.execute('INSERT INTO history VALUES (?,?,?,?,?,?,?,?)',
            (None, "", "", "CONNECTING", None, None, host[0], host[1]))
        c.execute('SELECT id FROM history WHERE ROWID = ?', (c.lastrowid, ))
        row_id = c.fetchone()[0]

        received = StringIO()
        sent = StringIO()

        def update_connected():
            c.execute('''UPDATE history SET status = ?, connected_at = ?
                         WHERE id = ?''',
                         ("CONNECTED", datetime.utcnow(), row_id, ))

        def update_status(status):
            c.execute('UPDATE history SET status = ? WHERE id = ?',
                    (status, row_id, ))

        def update_final_status(status):
            c.execute('''UPDATE history SET disconnected_at = ?, status = ?,
                         sent = ?, received = ?
                         WHERE id = ?''',
                    (datetime.utcnow(), status, sent.getvalue(),
                        received.getvalue(), row_id, ))

        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        try:
            s.connect(host)
        except socket.error as e:
            if e.errno == errno.ECONNRESET:
                update_final_status("RESET")
            else:
                raise

        s.setblocking(0)
        set_nonblocking(datasource)

        log("[I]", "Connected.")
        update_connected()

        def read_till_block(fd, step=1):
            data = ""
            while True:
                try:
                    tmp = os.read(fd, step)
                    if not tmp:
                        return data if data else None
                    data += tmp
                except OSError as e:
                    if e.args[0] == errno.EWOULDBLOCK:
                        break
                    else:
                        raise
            return data

        @engine
        def stop():
            yield Task(io_loop.add_timeout, timedelta(milliseconds=STOP_DELAY))
            io_loop.stop()

        def process_socket_errno(no):
            log("[E]", errno.errorcode[no] + ":", os.strerror(no))
            if no == errno.ECONNRESET:
                update_final_status("RESET")
            else:
                update_final_status(errno.errorcode[no])
            io_loop.remove_handler(s.fileno())
            io_loop.remove_handler(datasource.fileno())
            stop()

        def on_socket_events(fd, events):
            if events & io_loop.READ:
                try:
                    data = read_till_block(fd)
                except OSError as e:
                    process_socket_errno(e.args[0])
                    return

                if data is not None:
                    with ExceptionIgnored():
                        sys.stdout.write(data)
                    received.write(data)
                else:
                    log("[I]", "Socket closed.")
                    update_final_status("DISCONNECTED")
                    io_loop.remove_handler(s.fileno())
                    io_loop.remove_handler(datasource.fileno())
                    stop()
#.........这里部分代码省略.........
开发者ID:ccp0101,项目名称:gfw-filter-test,代码行数:103,代码来源:test.py


注:本文中的tornado.ioloop.IOLoop.install方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。