diff options
Diffstat (limited to 'nikola/plugins/command_serve.py')
| -rw-r--r-- | nikola/plugins/command_serve.py | 38 |
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() |
