summaryrefslogtreecommitdiffstats
path: root/nikola/plugins/command_serve.py
diff options
context:
space:
mode:
Diffstat (limited to 'nikola/plugins/command_serve.py')
-rw-r--r--nikola/plugins/command_serve.py38
1 files changed, 25 insertions, 13 deletions
diff --git a/nikola/plugins/command_serve.py b/nikola/plugins/command_serve.py
index 75e07a9..64efe7d 100644
--- a/nikola/plugins/command_serve.py
+++ b/nikola/plugins/command_serve.py
@@ -23,7 +23,6 @@
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
from __future__ import print_function
-from optparse import OptionParser
import os
try:
from BaseHTTPServer import HTTPServer
@@ -39,26 +38,39 @@ class CommandBuild(Command):
"""Start test server."""
name = "serve"
+ doc_usage = "[options]"
+ doc_purpose = "Start the test webserver."
- def run(self, *args):
- """Start test server."""
-
- parser = OptionParser(usage="nikola %s [options]" % self.name)
- parser.add_option("-p", "--port", dest="port", help="Port numer "
- "(default: 8000)", default=8000, type="int")
- parser.add_option("-a", "--address", dest="address", help="Address to "
- "bind (default: 127.0.0.1)", default='127.0.0.1')
- (options, args) = parser.parse_args(list(args))
+ cmd_options = (
+ {
+ 'name': 'port',
+ 'short': 'p',
+ 'long': 'port',
+ 'default': 8000,
+ 'type': int,
+ 'help': 'Port nummber (default: 8000)',
+ },
+ {
+ 'name': 'address',
+ 'short': 'a',
+ 'long': '--address',
+ 'type': str,
+ 'default': '127.0.0.1',
+ 'help': 'Address to bind (default: 127.0.0.1)',
+ },
+ )
+ def _execute(self, options, args):
+ """Start test server."""
out_dir = self.site.config['OUTPUT_FOLDER']
if not os.path.isdir(out_dir):
- print("Error: Missing '%s' folder?" % out_dir)
+ print("Error: Missing '{0}' folder?".format(out_dir))
else:
os.chdir(out_dir)
- httpd = HTTPServer((options.address, options.port),
+ httpd = HTTPServer((options['address'], options['port']),
OurHTTPRequestHandler)
sa = httpd.socket.getsockname()
- print("Serving HTTP on {0[0]} port {0[1]}...".format(sa))
+ print("Serving HTTP on", sa[0], "port", sa[1], "...")
httpd.serve_forever()