pywebexec 0.0.4__py3-none-any.whl → 0.0.6__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.
pywebexec/pywebexec.py CHANGED
@@ -16,7 +16,7 @@ app = Flask(__name__)
16
16
  auth = HTTPBasicAuth()
17
17
 
18
18
  # Directory to store the script status and output
19
- SCRIPT_STATUS_DIR = 'script_status'
19
+ SCRIPT_STATUS_DIR = '.web_status'
20
20
 
21
21
  if not os.path.exists(SCRIPT_STATUS_DIR):
22
22
  os.makedirs(SCRIPT_STATUS_DIR)
@@ -48,6 +48,7 @@ def start_gunicorn():
48
48
  options = {
49
49
  'bind': '%s:%s' % (args.listen, args.port),
50
50
  'workers': 4,
51
+ 'timeout': 600,
51
52
  'certfile': args.cert,
52
53
  'keyfile': args.key,
53
54
  }
@@ -82,6 +82,9 @@
82
82
  input {
83
83
  width: 50%
84
84
  }
85
+ .currentscript {
86
+ background-color: #eef;
87
+ }
85
88
  </style>
86
89
  </head>
87
90
  <body>
@@ -139,6 +142,7 @@
139
142
  scriptsTbody.innerHTML = '';
140
143
  scripts.forEach(script => {
141
144
  const scriptRow = document.createElement('tr');
145
+ scriptRow.className = script.script_id === currentScriptId ? 'currentscript' : '';
142
146
  scriptRow.innerHTML = `
143
147
  <td class="monospace">
144
148
  <span class="copy_clip" onclick="copyToClipboard('${script.script_id}', this)">${script.script_id.slice(0, 8)}</span>
@@ -197,6 +201,7 @@
197
201
  } else {
198
202
  fetchOutput(script_id);
199
203
  }
204
+ fetchScripts(); // Refresh the script list to highlight the current script
200
205
  }
201
206
 
202
207
  async function relaunchScript(script_id) {
pywebexec/version.py CHANGED
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '0.0.4'
16
- __version_tuple__ = version_tuple = (0, 0, 4)
15
+ __version__ = version = '0.0.6'
16
+ __version_tuple__ = version_tuple = (0, 0, 6)
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: pywebexec
3
- Version: 0.0.4
3
+ Version: 0.0.6
4
4
  Summary: Simple Python HTTP Exec Server
5
5
  Home-page: https://github.com/joknarf/pywebexec
6
6
  Author: Franck Jouvanceau
@@ -78,12 +78,13 @@ $ pip install pywebexec
78
78
  $ pywebexec
79
79
  ```
80
80
 
81
- * Launch commands with params/view live output/Status using browser `http://<yourserver>:8080`
81
+ * Launch commands with params/view live output/Status using browser
82
+ ![image](https://github.com/user-attachments/assets/921da56f-6d4b-46e3-b16c-e01a2dc9accf)
82
83
 
83
84
  ## features
84
85
 
85
86
  * Serve executables in current directory
86
- * Launch commands with params from web browser
87
+ * Launch commands with params from web browser or API call
87
88
  * Follow live output
88
89
  * Stop command
89
90
  * Relaunch command
@@ -1,6 +1,6 @@
1
1
  pywebexec/__init__.py,sha256=4spIsVaF8RJt8S58AG_wWoORRNkws9Iwqprj27C3ljM,99
2
- pywebexec/pywebexec.py,sha256=85QTsituZUVcoHL_BswWWVHa-7Xey5-bPrVTUZPBG-E,10284
3
- pywebexec/version.py,sha256=yBVOKdXLEcTVc7YV7ZPqRXhRDRt-pKrfXxcgHkgPY5g,411
2
+ pywebexec/pywebexec.py,sha256=1LUPOuZXoXqM17-Cu-rYL05lOJy_5HqtIGqhxVyzdZY,10306
3
+ pywebexec/version.py,sha256=c6ZQWSJeXXzGZ3WoZWjkA-MiNkBFXMIRV9kZPo4MQ_M,411
4
4
  pywebexec/static/images/aborted.svg,sha256=_mP43hU5QdRLFZIknBgjx-dIXrHgQG23-QV27ApXK2A,381
5
5
  pywebexec/static/images/copy.svg,sha256=d9OwtGh5GzzZHzYcDrLfNxZYLth1Q64x7bRyYxu4Px0,622
6
6
  pywebexec/static/images/copy_ok.svg,sha256=mEqUVUhSq8xaJK2msQkxRawnz_KwlCZ-tok8QS6hJ3g,451
@@ -8,10 +8,10 @@ pywebexec/static/images/failed.svg,sha256=ADZ7IKrUyOXtqpivnz3VcH0-Wru-I5MOi3OJAk
8
8
  pywebexec/static/images/running.svg,sha256=vBpiG6ClNUNCArkwsyqK7O-qhIKJX1NI7MSjclNSp_8,1537
9
9
  pywebexec/static/images/success.svg,sha256=PJDcCSTevJh7rkfSFLtc7P0pbeh8PVQBS8DaOLQemmc,489
10
10
  pywebexec/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
- pywebexec/templates/index.html,sha256=bBMilfYfG3J-084apqGihEXoq2q0anYK4IYu55CuXYc,9906
12
- pywebexec-0.0.4.dist-info/LICENSE,sha256=gRJf0JPT_wsZJsUGlWPTS8Vypfl9vQ1qjp6sNbKykuA,1064
13
- pywebexec-0.0.4.dist-info/METADATA,sha256=lqJy3tEkqRgKNDAY-bf1j3e5PWM4pdlUfsUE7yAgCX4,4623
14
- pywebexec-0.0.4.dist-info/WHEEL,sha256=A3WOREP4zgxI0fKrHUG8DC8013e3dK3n7a6HDbcEIwE,91
15
- pywebexec-0.0.4.dist-info/entry_points.txt,sha256=-6--c27U7RARJe0BiW5CkTuKljf6pRtnDzE0wfmD9TM,65
16
- pywebexec-0.0.4.dist-info/top_level.txt,sha256=vHoHyzngrfGdm_nM7Xn_5iLmaCrf10XO1EhldgNLEQ8,10
17
- pywebexec-0.0.4.dist-info/RECORD,,
11
+ pywebexec/templates/index.html,sha256=2peDmBnxZQSw6OjDCjNqRCx1_grDlI_Xr1NMgAGv2OI,10163
12
+ pywebexec-0.0.6.dist-info/LICENSE,sha256=gRJf0JPT_wsZJsUGlWPTS8Vypfl9vQ1qjp6sNbKykuA,1064
13
+ pywebexec-0.0.6.dist-info/METADATA,sha256=DQZhxqwFQhVWYOnPU6CmyNgIPZm4owp5O4AJx_ZSZWQ,4698
14
+ pywebexec-0.0.6.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
15
+ pywebexec-0.0.6.dist-info/entry_points.txt,sha256=-6--c27U7RARJe0BiW5CkTuKljf6pRtnDzE0wfmD9TM,65
16
+ pywebexec-0.0.6.dist-info/top_level.txt,sha256=vHoHyzngrfGdm_nM7Xn_5iLmaCrf10XO1EhldgNLEQ8,10
17
+ pywebexec-0.0.6.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.7.0)
2
+ Generator: setuptools (75.8.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5