pywebexec 1.2.4__tar.gz → 1.2.6__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. {pywebexec-1.2.4/pywebexec.egg-info → pywebexec-1.2.6}/PKG-INFO +2 -2
  2. {pywebexec-1.2.4 → pywebexec-1.2.6}/README.md +1 -1
  3. {pywebexec-1.2.4 → pywebexec-1.2.6}/pywebexec/pywebexec.py +3 -3
  4. {pywebexec-1.2.4 → pywebexec-1.2.6}/pywebexec/static/css/style.css +1 -2
  5. {pywebexec-1.2.4 → pywebexec-1.2.6}/pywebexec/static/js/script.js +1 -2
  6. {pywebexec-1.2.4 → pywebexec-1.2.6}/pywebexec/templates/index.html +0 -1
  7. {pywebexec-1.2.4 → pywebexec-1.2.6}/pywebexec/version.py +2 -2
  8. {pywebexec-1.2.4 → pywebexec-1.2.6/pywebexec.egg-info}/PKG-INFO +2 -2
  9. {pywebexec-1.2.4 → pywebexec-1.2.6}/.github/workflows/python-publish.yml +0 -0
  10. {pywebexec-1.2.4 → pywebexec-1.2.6}/.gitignore +0 -0
  11. {pywebexec-1.2.4 → pywebexec-1.2.6}/LICENSE +0 -0
  12. {pywebexec-1.2.4 → pywebexec-1.2.6}/pyproject.toml +0 -0
  13. {pywebexec-1.2.4 → pywebexec-1.2.6}/pywebexec/__init__.py +0 -0
  14. {pywebexec-1.2.4 → pywebexec-1.2.6}/pywebexec/static/css/xterm.css +0 -0
  15. {pywebexec-1.2.4 → pywebexec-1.2.6}/pywebexec/static/images/aborted.svg +0 -0
  16. {pywebexec-1.2.4 → pywebexec-1.2.6}/pywebexec/static/images/copy.svg +0 -0
  17. {pywebexec-1.2.4 → pywebexec-1.2.6}/pywebexec/static/images/copy_ok.svg +0 -0
  18. {pywebexec-1.2.4 → pywebexec-1.2.6}/pywebexec/static/images/failed.svg +0 -0
  19. {pywebexec-1.2.4 → pywebexec-1.2.6}/pywebexec/static/images/favicon.svg +0 -0
  20. {pywebexec-1.2.4 → pywebexec-1.2.6}/pywebexec/static/images/running.gif +0 -0
  21. {pywebexec-1.2.4 → pywebexec-1.2.6}/pywebexec/static/images/success.svg +0 -0
  22. {pywebexec-1.2.4 → pywebexec-1.2.6}/pywebexec/static/js/xterm/LICENSE +0 -0
  23. {pywebexec-1.2.4 → pywebexec-1.2.6}/pywebexec/static/js/xterm/ansi_up.min.js +0 -0
  24. {pywebexec-1.2.4 → pywebexec-1.2.6}/pywebexec/static/js/xterm/xterm-addon-fit.js +0 -0
  25. {pywebexec-1.2.4 → pywebexec-1.2.6}/pywebexec/static/js/xterm/xterm.js +0 -0
  26. {pywebexec-1.2.4 → pywebexec-1.2.6}/pywebexec/templates/__init__.py +0 -0
  27. {pywebexec-1.2.4 → pywebexec-1.2.6}/pywebexec.egg-info/SOURCES.txt +0 -0
  28. {pywebexec-1.2.4 → pywebexec-1.2.6}/pywebexec.egg-info/dependency_links.txt +0 -0
  29. {pywebexec-1.2.4 → pywebexec-1.2.6}/pywebexec.egg-info/entry_points.txt +0 -0
  30. {pywebexec-1.2.4 → pywebexec-1.2.6}/pywebexec.egg-info/requires.txt +0 -0
  31. {pywebexec-1.2.4 → pywebexec-1.2.6}/pywebexec.egg-info/top_level.txt +0 -0
  32. {pywebexec-1.2.4 → pywebexec-1.2.6}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: pywebexec
3
- Version: 1.2.4
3
+ Version: 1.2.6
4
4
  Summary: Simple Python HTTP Exec Server
5
5
  Home-page: https://github.com/joknarf/pywebexec
6
6
  Author: Franck Jouvanceau
@@ -83,7 +83,7 @@ $ pywebexec
83
83
  ```
84
84
 
85
85
  * Launch commands with params/view live output/Status using browser
86
- ![pywebexecnew4](https://github.com/user-attachments/assets/55e9058c-d2d9-470e-b3ea-60b10dfc7fce)
86
+ ![pywebexecnew5](https://github.com/user-attachments/assets/cb443a6f-e364-4302-98de-f0330d763289)
87
87
 
88
88
  all commands output / statuses are available in the executables directory in subdirectory `.web_status`
89
89
 
@@ -21,7 +21,7 @@ $ pywebexec
21
21
  ```
22
22
 
23
23
  * Launch commands with params/view live output/Status using browser
24
- ![pywebexecnew4](https://github.com/user-attachments/assets/55e9058c-d2d9-470e-b3ea-60b10dfc7fce)
24
+ ![pywebexecnew5](https://github.com/user-attachments/assets/cb443a6f-e364-4302-98de-f0330d763289)
25
25
 
26
26
  all commands output / statuses are available in the executables directory in subdirectory `.web_status`
27
27
 
@@ -277,6 +277,8 @@ def parseargs():
277
277
  sys.exit(1)
278
278
  if not os.path.exists(COMMAND_STATUS_DIR):
279
279
  os.makedirs(COMMAND_STATUS_DIR)
280
+ if not os.path.exists(CONFDIR):
281
+ os.mkdir(CONFDIR, mode=0o700)
280
282
  if args.gencert:
281
283
  hostname = resolve_hostname(gethostname())
282
284
  args.cert = args.cert or f"{CONFDIR}/pywebexec.crt"
@@ -531,7 +533,7 @@ def list_commands():
531
533
  status = read_command_status(command_id)
532
534
  if status:
533
535
  try:
534
- params = shlex.join(status['params'])
536
+ params = shlex.join(status.get('params', []))
535
537
  except AttributeError:
536
538
  params = " ".join([shlex.quote(p) if " " in p else p for p in status['params']])
537
539
  command = status.get('command', '-') + ' ' + params
@@ -582,8 +584,6 @@ def list_executables():
582
584
 
583
585
  def main():
584
586
  basef = f"{CONFDIR}/pywebexec_{args.listen}:{args.port}"
585
- if not os.path.exists(CONFDIR):
586
- os.mkdir(CONFDIR, mode=0o700)
587
587
  if args.action == "start":
588
588
  return start_gunicorn(daemon=True, baselog=basef)
589
589
  if args.action:
@@ -40,12 +40,11 @@ select { /* Safari bug */
40
40
  background: #111;
41
41
  padding: 10px;
42
42
  border: 1px solid #ccc;
43
- font-family: monospace;
44
43
  border-radius: 10px;
45
44
  overflow-y: hidden;
46
45
  }
47
46
  .copy-icon { cursor: pointer; }
48
- .monospace { font-family: monospace; }
47
+ .monospace { font-family: Consolas NF, monospace; }
49
48
  .copied { color: green; margin-left: 5px; }
50
49
  button {
51
50
  -webkit-appearance: none;
@@ -73,8 +73,7 @@ async function fetchCommands() {
73
73
  <td>${formatTime(command.start_time)}</td>
74
74
  <td>${command.status === 'running' ? formatDuration(command.start_time, new Date().toISOString()) : formatDuration(command.start_time, command.end_time)}</td>
75
75
  <td>${command.command.replace(/^\.\//, '')}</td>
76
- <td>${command.exit_code}</td>
77
- <td><span class="status-icon status-${command.status}"></span>${command.status}</td>
76
+ <td><span class="status-icon status-${command.status}"></span>${command.status}${command.status === 'failed' ? ` (${command.exit_code})` : ''}</td>
78
77
  <td>
79
78
  ${command.status === 'running' ? `<button onclick="stopCommand('${command.command_id}')">Stop</button>` : `<button onclick="relaunchCommand('${command.command_id}')">Run</button>`}
80
79
  </td>
@@ -27,7 +27,6 @@
27
27
  <th>Start Time</th>
28
28
  <th>Duration</th>
29
29
  <th>Command</th>
30
- <th>Exit</th>
31
30
  <th>Status</th>
32
31
  <th>Action</th>
33
32
  <th>Output</th>
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '1.2.4'
16
- __version_tuple__ = version_tuple = (1, 2, 4)
15
+ __version__ = version = '1.2.6'
16
+ __version_tuple__ = version_tuple = (1, 2, 6)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: pywebexec
3
- Version: 1.2.4
3
+ Version: 1.2.6
4
4
  Summary: Simple Python HTTP Exec Server
5
5
  Home-page: https://github.com/joknarf/pywebexec
6
6
  Author: Franck Jouvanceau
@@ -83,7 +83,7 @@ $ pywebexec
83
83
  ```
84
84
 
85
85
  * Launch commands with params/view live output/Status using browser
86
- ![pywebexecnew4](https://github.com/user-attachments/assets/55e9058c-d2d9-470e-b3ea-60b10dfc7fce)
86
+ ![pywebexecnew5](https://github.com/user-attachments/assets/cb443a6f-e364-4302-98de-f0330d763289)
87
87
 
88
88
  all commands output / statuses are available in the executables directory in subdirectory `.web_status`
89
89
 
File without changes
File without changes
File without changes
File without changes