plain.dev 0.29.2__py3-none-any.whl → 0.30.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
plain/dev/cli.py CHANGED
@@ -18,7 +18,7 @@ from rich.console import Console
18
18
  from rich.text import Text
19
19
 
20
20
  from plain.cli import register_cli
21
- from plain.runtime import APP_PATH, settings
21
+ from plain.runtime import APP_PATH, PLAIN_TEMP_PATH
22
22
 
23
23
  from .mkcert import MkcertManager
24
24
  from .poncho.manager import Manager as PonchoManager
@@ -196,7 +196,7 @@ class Dev:
196
196
  mkcert_manager.setup_mkcert(install_path=Path.home() / ".plain" / "dev")
197
197
  self.ssl_cert_path, self.ssl_key_path = mkcert_manager.generate_certs(
198
198
  domain=self.hostname,
199
- storage_path=Path(settings.PLAIN_TEMP_PATH) / "dev" / "certs",
199
+ storage_path=Path(PLAIN_TEMP_PATH) / "dev" / "certs",
200
200
  )
201
201
 
202
202
  self.symlink_plain_src()
@@ -236,6 +236,12 @@ class Dev:
236
236
  target=_process_task, args=(self.plain_env,)
237
237
  )
238
238
  process.start()
239
+
240
+ # If there are no poncho processes, then let this process finish before
241
+ # continuing (vs running in parallel)
242
+ if self.poncho.num_processes() == 0:
243
+ # Wait for the process to finish
244
+ process.join()
239
245
  else:
240
246
  # Start the app processes immediately
241
247
  self.start_app(None, None)
@@ -279,10 +285,10 @@ class Dev:
279
285
  plain_path = Path(
280
286
  importlib.util.find_spec("plain.runtime").origin
281
287
  ).parent.parent
282
- if not settings.PLAIN_TEMP_PATH.exists():
283
- settings.PLAIN_TEMP_PATH.mkdir()
288
+ if not PLAIN_TEMP_PATH.exists():
289
+ PLAIN_TEMP_PATH.mkdir()
284
290
 
285
- symlink_path = settings.PLAIN_TEMP_PATH / "src"
291
+ symlink_path = PLAIN_TEMP_PATH / "src"
286
292
 
287
293
  # The symlink is broken
288
294
  if symlink_path.is_symlink() and not symlink_path.exists():
@@ -1,46 +1,40 @@
1
1
  {
2
- "version": 1,
3
- "disable_existing_loggers": false,
4
- "root": {
5
- "level": "INFO",
6
- "handlers": [
7
- "console"
8
- ]
2
+ "version": 1,
3
+ "disable_existing_loggers": false,
4
+ "root": {
5
+ "level": "INFO",
6
+ "handlers": ["console"]
7
+ },
8
+ "loggers": {
9
+ "gunicorn.error": {
10
+ "level": "INFO",
11
+ "handlers": ["error_console"],
12
+ "propagate": false,
13
+ "qualname": "gunicorn.error"
9
14
  },
10
- "loggers": {
11
- "gunicorn.error": {
12
- "level": "INFO",
13
- "handlers": [
14
- "error_console"
15
- ],
16
- "propagate": false,
17
- "qualname": "gunicorn.error"
18
- },
19
- "gunicorn.access": {
20
- "level": "INFO",
21
- "handlers": [
22
- "console"
23
- ],
24
- "propagate": false,
25
- "qualname": "gunicorn.access"
26
- }
27
- },
28
- "handlers": {
29
- "console": {
30
- "class": "logging.StreamHandler",
31
- "formatter": "generic",
32
- "stream": "ext://sys.stdout"
33
- },
34
- "error_console": {
35
- "class": "logging.StreamHandler",
36
- "formatter": "generic",
37
- "stream": "ext://sys.stderr"
38
- }
15
+ "gunicorn.access": {
16
+ "level": "INFO",
17
+ "handlers": ["console"],
18
+ "propagate": false,
19
+ "qualname": "gunicorn.access"
20
+ }
21
+ },
22
+ "handlers": {
23
+ "console": {
24
+ "class": "logging.StreamHandler",
25
+ "formatter": "generic",
26
+ "stream": "ext://sys.stdout"
39
27
  },
40
- "formatters": {
41
- "generic": {
42
- "format": "[%(process)d] [%(levelname)s] %(message)s",
43
- "class": "logging.Formatter"
44
- }
28
+ "error_console": {
29
+ "class": "logging.StreamHandler",
30
+ "formatter": "generic",
31
+ "stream": "ext://sys.stderr"
32
+ }
33
+ },
34
+ "formatters": {
35
+ "generic": {
36
+ "format": "[%(process)d] [%(levelname)s] %(message)s",
37
+ "class": "logging.Formatter"
45
38
  }
39
+ }
46
40
  }
@@ -82,6 +82,12 @@ class Manager:
82
82
 
83
83
  return proc
84
84
 
85
+ def num_processes(self):
86
+ """
87
+ Return the number of processes managed by this instance.
88
+ """
89
+ return len(self._processes)
90
+
85
91
  def loop(self):
86
92
  """
87
93
  Start all the added processes and multiplex their output onto the bound
plain/dev/requests.py CHANGED
@@ -6,7 +6,7 @@ import traceback
6
6
 
7
7
  import requests
8
8
 
9
- from plain.runtime import settings
9
+ from plain.runtime import PLAIN_TEMP_PATH, settings
10
10
  from plain.signals import got_request_exception
11
11
 
12
12
 
@@ -18,7 +18,7 @@ class RequestLog:
18
18
 
19
19
  @staticmethod
20
20
  def storage_path():
21
- return str(settings.PLAIN_TEMP_PATH / "dev" / "requestlog")
21
+ return str(PLAIN_TEMP_PATH / "dev" / "requestlog")
22
22
 
23
23
  @classmethod
24
24
  def replay_request(cls, name):
plain/dev/services.py CHANGED
@@ -7,7 +7,7 @@ from pathlib import Path
7
7
 
8
8
  import click
9
9
 
10
- from plain.runtime import APP_PATH, settings
10
+ from plain.runtime import APP_PATH, PLAIN_TEMP_PATH
11
11
 
12
12
  from .poncho.manager import Manager as PonchoManager
13
13
  from .utils import has_pyproject_toml
@@ -15,7 +15,7 @@ from .utils import has_pyproject_toml
15
15
 
16
16
  class ServicesPid:
17
17
  def __init__(self):
18
- self.pidfile = settings.PLAIN_TEMP_PATH / "dev" / "services.pid"
18
+ self.pidfile = PLAIN_TEMP_PATH / "dev" / "services.pid"
19
19
 
20
20
  def write(self):
21
21
  pid = os.getpid()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: plain.dev
3
- Version: 0.29.2
3
+ Version: 0.30.1
4
4
  Summary: Local development tools for Plain.
5
5
  Author-email: Dave Gaeddert <dave.gaeddert@dropseed.dev>
6
6
  License-Expression: BSD-3-Clause
@@ -1,14 +1,14 @@
1
1
  plain/dev/README.md,sha256=EQJ9lF-JQ9KQWJZ_j6CD3jbRquOLgDRlIPbgT7A2gG4,3658
2
2
  plain/dev/__init__.py,sha256=nRX1B0Br8gmqhJLqo5Z9PqzReDahBtbmwH6C-7hzuls,103
3
- plain/dev/cli.py,sha256=TqL2eDM5_0Sv_GcIpT5O0sbrvWIgiwMU6ZPyLZJ9qUs,15324
3
+ plain/dev/cli.py,sha256=QlJWzFClMIQzXzGgcfWkYalBUYKV9M3ugY_eirpVLGE,15559
4
4
  plain/dev/debug.py,sha256=Ka84K8zUdF0kMYNyqiLYDrdzU1jU8LSOkts3hcw_Gok,1005
5
5
  plain/dev/default_settings.py,sha256=uXWYORWP_aRDwXIFXdu5kHyiBFUZzARIJdhPeFaX35c,75
6
6
  plain/dev/entrypoints.py,sha256=diqNwA6eydUMtoO7p_rH-DtSYsw5-GBmjFe1Z5bHagc,579
7
- plain/dev/gunicorn_logging.json,sha256=yU23jzs5G4YGdDWBNiyAc3KypR4HirR6afIkD7w6DhU,1113
7
+ plain/dev/gunicorn_logging.json,sha256=3H6b6bQf_KdY61gzypvI0ly_Jduy-Uhqs2ra9ttzGJQ,867
8
8
  plain/dev/mkcert.py,sha256=fm1U_UTGPREso6ZaP79WqEvd9uvA4lYWFo6fKhNglMM,3911
9
9
  plain/dev/pdb.py,sha256=4ru3rlIIyuYVXteyI7v42i4MmdBIjpJP0IJemBpf83A,3742
10
- plain/dev/requests.py,sha256=NH-_FYolAUbh2-m0x9hTdK6AS7HLo6cGETTpp6R-Wto,6857
11
- plain/dev/services.py,sha256=bfIXEVsot20cDbyIeRJ9xAiTTVxowHrLAiZM2aOMXDU,2845
10
+ plain/dev/requests.py,sha256=OLpauU0FoaJA2IG6YD_KS323jKM5l6RX0HiXQvqpH-E,6865
11
+ plain/dev/services.py,sha256=0MfPLoffItypUg_1PkX-juigR-abSS42nFHFZ5Eag-k,2843
12
12
  plain/dev/urls.py,sha256=6fyl-DvxDgKjUjpyhuLN8m6GisB8L-eH4rhYH_eRmGA,188
13
13
  plain/dev/utils.py,sha256=4wMzpvj1Is_c0QxhsTu34_P9wAYlzw4glNPfVtZr_0A,123
14
14
  plain/dev/views.py,sha256=yCZ_YmkJGCb3YYgElhzAPrA9V0X3lkiLD1-Ht1HjV7A,1131
@@ -18,14 +18,14 @@ plain/dev/contribute/cli.py,sha256=YirzF4YCQoFhWS-JgQHNxqJIX9BY_m9lb3_ZdrI7sn4,3
18
18
  plain/dev/poncho/__init__.py,sha256=MDOk2rhhoR3V-I-rg6tMHFeX60vTGJuQ14RI-_N6tQY,97
19
19
  plain/dev/poncho/color.py,sha256=Dk77inPR9qNc9vCaZOGk8W9skXfRgoUlxp_E6mhPNns,610
20
20
  plain/dev/poncho/compat.py,sha256=l66WZLR7kRpO8P8DI5-aUsbNlohPaXEurQ5xXESQYDs,1276
21
- plain/dev/poncho/manager.py,sha256=wxurOpqhAgLQgC9DK-Pd6rukuwNgjxHu2Jyc2dkZknI,6662
21
+ plain/dev/poncho/manager.py,sha256=l0tcVslJ0snEiNPn4Pgphti_aIFKp1yfRx6Cng1F55w,6817
22
22
  plain/dev/poncho/printer.py,sha256=wt1ioaGcPnVyrPy-UjvdsR9zfcr4DTTycmapW1MIdSU,1785
23
23
  plain/dev/poncho/process.py,sha256=JJOKy-C6vMCg7-6JMCtu6C649h7HmOBSJqDP_hnX49I,2637
24
24
  plain/dev/precommit/__init__.py,sha256=9ByBOIdM8DebChjNz-RH2atdz4vWe8somlwNEsbhwh4,40
25
25
  plain/dev/precommit/cli.py,sha256=KVHcG3Y_JZJNu3_MLIrO5s6yMYQfAArIU5L0hNWZUjg,3441
26
26
  plain/dev/templates/dev/requests.html,sha256=kQKJZq5L77juuL_t8UjcAehEU61U4RXNnKaAET-wAm8,7627
27
- plain_dev-0.29.2.dist-info/METADATA,sha256=jgWka03LvNVb8qv2UcBRzqZMmxGOf_gGrQ_eqgJ-JHY,4163
28
- plain_dev-0.29.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
29
- plain_dev-0.29.2.dist-info/entry_points.txt,sha256=zrcTOiFk_MLKsnYVlwVP7aMm1XLEqq7w4EBkJ-3ge-g,114
30
- plain_dev-0.29.2.dist-info/licenses/LICENSE,sha256=Cx4Dq9yR2fLHthf8Ke36B8QJvE1bZFXVzDIGE8wGzsY,4132
31
- plain_dev-0.29.2.dist-info/RECORD,,
27
+ plain_dev-0.30.1.dist-info/METADATA,sha256=ZmOQnmykEGDreB8YSGIP2jbMLwPa6M_yi2edfot1b3E,4163
28
+ plain_dev-0.30.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
29
+ plain_dev-0.30.1.dist-info/entry_points.txt,sha256=zrcTOiFk_MLKsnYVlwVP7aMm1XLEqq7w4EBkJ-3ge-g,114
30
+ plain_dev-0.30.1.dist-info/licenses/LICENSE,sha256=Cx4Dq9yR2fLHthf8Ke36B8QJvE1bZFXVzDIGE8wGzsY,4132
31
+ plain_dev-0.30.1.dist-info/RECORD,,