werkzeug

Форк
0
/
manage-webpylike.py 
68 строк · 1.8 Кб
1
import os
2
import sys
3

4
import click
5
from werkzeug.serving import run_simple
6

7
from webpylike.example import app
8

9
sys.path.append(os.path.join(os.path.dirname(__file__), "webpylike"))
10

11

12
@click.group()
13
def cli():
14
    pass
15

16

17
@cli.command()
18
@click.option("-h", "--hostname", type=str, default="localhost", help="localhost")
19
@click.option("-p", "--port", type=int, default=5000, help="5000")
20
@click.option("--no-reloader", is_flag=True, default=False)
21
@click.option("--debugger", is_flag=True)
22
@click.option("--no-evalex", is_flag=True, default=False)
23
@click.option("--threaded", is_flag=True)
24
@click.option("--processes", type=int, default=1, help="1")
25
def runserver(hostname, port, no_reloader, debugger, no_evalex, threaded, processes):
26
    """Start a new development server."""
27
    reloader = not no_reloader
28
    evalex = not no_evalex
29
    run_simple(
30
        hostname,
31
        port,
32
        app,
33
        use_reloader=reloader,
34
        use_debugger=debugger,
35
        use_evalex=evalex,
36
        threaded=threaded,
37
        processes=processes,
38
    )
39

40

41
@cli.command()
42
@click.option("--no-ipython", is_flag=True, default=False)
43
def shell(no_ipython):
44
    """Start a new interactive python session."""
45
    banner = "Interactive Werkzeug Shell"
46
    namespace = dict()
47
    if not no_ipython:
48
        try:
49
            try:
50
                from IPython.frontend.terminal.embed import InteractiveShellEmbed
51

52
                sh = InteractiveShellEmbed.instance(banner1=banner)
53
            except ImportError:
54
                from IPython.Shell import IPShellEmbed
55

56
                sh = IPShellEmbed(banner=banner)
57
        except ImportError:
58
            pass
59
        else:
60
            sh(local_ns=namespace)
61
            return
62
    from code import interact
63

64
    interact(banner, local=namespace)
65

66

67
if __name__ == "__main__":
68
    cli()
69

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.