本文整理汇总了Python中aspen.website.Website.start方法的典型用法代码示例。如果您正苦于以下问题:Python Website.start方法的具体用法?Python Website.start怎么用?Python Website.start使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类aspen.website.Website
的用法示例。
在下文中一共展示了Website.start方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: main
# 需要导入模块: from aspen.website import Website [as 别名]
# 或者: from aspen.website.Website import start [as 别名]
def main(argv=None):
"""http://aspen.io/cli/
"""
try:
# Do imports.
# ===========
# These are in here so that if you Ctrl-C during an import, the
# KeyboardInterrupt is caught and ignored. Yes, that's how much I care.
# No, I don't care enough to put aspen/__init__.py in here too.
import os
import logging
import socket
import sys
import time
import traceback
from os.path import exists, join
from aspen.server import restarter
from aspen.website import Website
log = logging.getLogger("aspen.cli")
# Actual stuff.
# =============
if argv is None:
argv = sys.argv[1:]
website = Website(argv)
try:
if hasattr(socket, "AF_UNIX"):
if website.sockfam == socket.AF_UNIX:
if exists(website.address):
log.info("Removing stale socket.")
os.remove(website.address)
if website.port is not None:
welcome = "port %d" % website.port
else:
welcome = website.address
log.info("Starting %s engine." % website.engine.name)
website.engine.bind()
log.warn("Greetings, program! Welcome to %s." % welcome)
if website.changes_kill:
log.info("Aspen will die when files change.")
restarter.install(website)
website.start()
except KeyboardInterrupt, SystemExit:
pass
except:
traceback.print_exc()
finally:
if hasattr(socket, "AF_UNIX"):
if website.sockfam == socket.AF_UNIX:
if exists(website.address):
os.remove(website.address)
website.stop()
示例2: _main
# 需要导入模块: from aspen.website import Website [as 别名]
# 或者: from aspen.website.Website import start [as 别名]
def _main(argv):
# Do imports.
# ===========
# These are in here so that if you Ctrl-C during an import, the
# KeyboardInterrupt is caught and ignored. Yes, that's how much I care.
# No, I don't care enough to put aspen/__init__.py in here too.
import os
import signal
import socket
import sys
import traceback
import aspen
from aspen import execution
from aspen.website import Website
# Set up signal handling.
# =======================
def SIGHUP(signum, frame):
aspen.log_dammit("Received HUP, re-executing.")
execution.execute()
if not aspen.WINDOWS:
signal.signal(signal.SIGHUP, SIGHUP)
def SIGINT(signum, frame):
aspen.log_dammit("Received INT, exiting.")
raise SystemExit
signal.signal(signal.SIGINT, SIGINT)
def SIGQUIT(signum, frame):
aspen.log_dammit("Received QUIT, exiting.")
raise SystemExit
if not aspen.WINDOWS:
signal.signal(signal.SIGQUIT, SIGQUIT)
# Website
# =======
# User-developers get this website object inside of their resources and
# hooks. It provides access to configuration information in addition to
# being a WSGI callable and holding the request/response handling
# logic. See aspen/website.py
if argv is None:
argv = sys.argv[1:]
website = Website(argv)
# Start serving the website.
# ==========================
# This amounts to binding the requested socket, with logging and
# restarting as needed. Wrap the whole thing in a try/except to
# do some cleanup on shutdown.
try:
if hasattr(socket, 'AF_UNIX'):
if website.network_sockfam == socket.AF_UNIX:
if os.path.exists(website.network_address):
aspen.log("Removing stale socket.")
os.remove(website.network_address)
if website.network_port is not None:
welcome = "port %d" % website.network_port
else:
welcome = website.network_address
aspen.log("Starting %s engine." % website.network_engine.name)
website.network_engine.bind()
aspen.log_dammit("Greetings, program! Welcome to %s." % welcome)
if website.changes_reload:
aspen.log("Aspen will restart when configuration scripts or "
"Python modules change.")
execution.install(website)
website.start()
except socket.error:
# Be friendly about port conflicts.
# =================================
# The traceback one gets from a port conflict or permission error
# is not that friendly. Here's a helper to let the user know (in
# color?!) that a port conflict or a permission error is probably
# the problem. But in case it isn't (website.start fires the start
# hook, and maybe the user tries to connect to a network service in
# there?), don't fully swallow the exception. Also, be explicit
# about the port number. What if they have logging turned off? Then
# they won't see the port number in the "Greetings, program!" line.
# They definitely won't see it if using an engine like eventlet
# that binds to the port early.
if website.network_port is not None:
msg = "Is something already running on port %s? Because ..."
if not aspen.WINDOWS:
if website.network_port < 1024:
if os.geteuid() > 0:
msg = ("Do you have permission to bind to port %s?"
#.........这里部分代码省略.........
示例3: main
# 需要导入模块: from aspen.website import Website [as 别名]
# 或者: from aspen.website.Website import start [as 别名]
def main(argv=None):
"""http://aspen.io/cli/
"""
try:
# Do imports.
# ===========
# These are in here so that if you Ctrl-C during an import, the
# KeyboardInterrupt is caught and ignored. Yes, that's how much I care.
# No, I don't care enough to put aspen/__init__.py in here too.
import os
import logging
import socket
import sys
import time
import traceback
from os.path import exists, join
import aspen
from aspen import restarter
from aspen.website import Website
log = logging.getLogger('aspen.cli')
# Website
# =======
# User-developers get this website object inside of their simplates and
# hooks. It provides access to configuration information in addition to
# being a WSGI callable and holding the request/response handling
# logic. See aspen/website.py
if argv is None:
argv = sys.argv[1:]
website = Website(argv)
# Start serving the website.
# ==========================
# This amounts to binding the requested socket, with logging and
# restarting as needed. Wrap the whole thing in a try/except to
# do some cleanup on shutdown.
try:
if hasattr(socket, 'AF_UNIX'):
if website.sockfam == socket.AF_UNIX:
if exists(website.address):
log.info("Removing stale socket.")
os.remove(website.address)
if website.port is not None:
welcome = "port %d" % website.port
else:
welcome = website.address
log.info("Starting %s engine." % website.engine.name)
website.engine.bind()
log.warn("Greetings, program! Welcome to %s." % welcome)
if website.changes_kill:
log.info("Aspen will die when files change.")
restarter.install(website)
website.start()
except socket.error:
# Be friendly about port conflicts.
# =================================
# The traceback one gets from a port conflict is not that friendly.
# Here's a helper to let the user know (in color?!) that a port
# conflict is the probably the problem. But in case it isn't
# (website.start fires the start hook, and maybe the user tries to
# connect to a network service in there?), don't fully swallow the
# exception. Also, be explicit about the port number. What if they
# have logging turned off? Then they won't see the port number in
# the "Greetings, program!" line. They definitely won't see it if
# using an engine like eventlet that binds to the port early.
if website.port is not None:
msg = "Is something already running on port %s? Because ..."
msg %= website.port
if not aspen.WINDOWS:
# Assume we can use ANSI color escapes if not on Windows.
# XXX Maybe a bad assumption if this is going into a log
# file?
msg = '\033[01;33m%s\033[00m' % msg
print >> sys.stderr, msg
raise
except KeyboardInterrupt, SystemExit:
pass
except:
traceback.print_exc()
finally:
if hasattr(socket, 'AF_UNIX'):
if website.sockfam == socket.AF_UNIX:
if exists(website.address):
os.remove(website.address)
website.stop()