File: cli.py

package info (click to toggle)
python-livereload 2.7.1-0.1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 348 kB
  • sloc: javascript: 1,041; python: 823; makefile: 169
file content (61 lines) | stat: -rw-r--r-- 1,381 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import argparse

import tornado.log

from livereload.server import Server


parser = argparse.ArgumentParser(description='Start a `livereload` server')
parser.add_argument(
    '--host',
    help='Hostname to run `livereload` server on',
    type=str,
    default='127.0.0.1'
)
parser.add_argument(
    '-p', '--port',
    help='Port to run `livereload` server on',
    type=int,
    default=35729
)
parser.add_argument(
    'directory',
    help='Directory to serve files from',
    type=str,
    default='.',
    nargs='?'
)
parser.add_argument(
    '-t', '--target',
    help='File or directory to watch for changes',
    type=str,
)
parser.add_argument(
    '-w', '--wait',
    help='Time delay in seconds before reloading',
    type=float,
    default=0.0
)
parser.add_argument(
    '-o', '--open-url-delay',
    help='If set, triggers browser opening <D> seconds after starting',
    type=float
)
parser.add_argument(
    '-d', '--debug',
    help='Enable Tornado pretty logging',
    action='store_true'
)


def main(argv=None):
    args = parser.parse_args()

    if args.debug:
        tornado.log.enable_pretty_logging()

    # Create a new application
    server = Server()
    server.watcher.watch(args.target or args.directory, delay=args.wait)
    server.serve(host=args.host, port=args.port, root=args.directory,
                 open_url_delay=args.open_url_delay)