pywebexec 1.4.12__py3-none-any.whl → 1.4.13__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
@@ -44,7 +44,7 @@ app.config['LDAP_BIND_PASSWORD'] = os.environ.get('PYWEBEXEC_LDAP_BIND_PASSWORD'
44
44
  # Directory to store the command status and output
45
45
  CWD = os.getcwd()
46
46
  COMMAND_STATUS_DIR = '.web_status'
47
- CONFDIR = os.path.expanduser("~/")
47
+ CONFDIR = os.path.expanduser("~/").rstrip('/')
48
48
  if os.path.isdir(f"{CONFDIR}/.config"):
49
49
  CONFDIR += '/.config'
50
50
  CONFDIR += "/.pywebexec"
@@ -311,7 +311,7 @@ def parseargs():
311
311
  "-p", "--port", type=int, default=8080, help="HTTP server listen port"
312
312
  )
313
313
  parser.add_argument(
314
- "-d", "--dir", type=str, default=os.getcwd(), help="Serve target directory"
314
+ "-d", "--dir", type=str, help=f"Serve target directory. default {CONFDIR}"
315
315
  )
316
316
  parser.add_argument(
317
317
  "-t",
@@ -328,6 +328,9 @@ def parseargs():
328
328
  choices=["start","stop","restart","status","shareterm", "term"])
329
329
 
330
330
  args = parser.parse_args()
331
+ if not os.path.exists(CONFDIR):
332
+ os.mkdir(CONFDIR, mode=0o700)
333
+ args.dir = args.dir or CONFDIR
331
334
  if os.path.isdir(args.dir):
332
335
  try:
333
336
  os.chdir(args.dir)
@@ -338,9 +341,7 @@ def parseargs():
338
341
  print(f"Error: {args.dir} not found", file=sys.stderr)
339
342
  sys.exit(1)
340
343
  if not os.path.exists(COMMAND_STATUS_DIR):
341
- os.makedirs(COMMAND_STATUS_DIR)
342
- if not os.path.exists(CONFDIR):
343
- os.mkdir(CONFDIR, mode=0o700)
344
+ os.mkdir(COMMAND_STATUS_DIR, mode=0o700)
344
345
  if args.action == "term":
345
346
  COMMAND_STATUS_DIR = f"{os.getcwd()}/{COMMAND_STATUS_DIR}"
346
347
  sys.exit(start_term())
@@ -267,14 +267,12 @@ span {
267
267
  width: 100%;
268
268
  }
269
269
  .popup-button {
270
- background: none;
271
- border: none;
270
+ background-color: transparent;
271
+ background-image: url("/static/images/popup.svg");
272
272
  cursor: pointer;
273
+ border: none;
273
274
  padding: 0;
274
- margin-left: 5px;
275
275
  vertical-align: middle;
276
- }
277
- .popup-button img {
278
276
  width: 16px;
279
277
  height: 16px;
280
278
  }
@@ -111,9 +111,7 @@ async function fetchCommands() {
111
111
  ${command.command.startsWith('term') ? '' : command.status === 'running' ? `<button onclick="stopCommand('${command.command_id}', event)">Stop</button>` : `<button onclick="relaunchCommand('${command.command_id}', event)">Run</button>`}
112
112
  </td>
113
113
  <td class="monospace outcol">
114
- <button class="popup-button" onclick="openPopup('${command.command_id}', event)">
115
- <img src="/static/images/popup.svg" alt="Popup">
116
- </button>
114
+ <button class="popup-button" onclick="openPopup('${command.command_id}', event)"></button>
117
115
  ${command.last_output_line || ''}
118
116
  </td>
119
117
  `;
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 = '1.4.12'
16
- __version_tuple__ = version_tuple = (1, 4, 12)
15
+ __version__ = version = '1.4.13'
16
+ __version_tuple__ = version_tuple = (1, 4, 13)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: pywebexec
3
- Version: 1.4.12
3
+ Version: 1.4.13
4
4
  Summary: Simple Python HTTP Exec Server
5
5
  Home-page: https://github.com/joknarf/pywebexec
6
6
  Author: Franck Jouvanceau
@@ -76,8 +76,14 @@ $ pip install pywebexec
76
76
 
77
77
  ## Quick start
78
78
 
79
- * put in a directory the scripts/commands/links to commands you want to expose
80
- * start http server serving current directory executables listening on 0.0.0.0 port 8080
79
+ * share terminal
80
+ ```shell
81
+ $ pywebexec shareterm
82
+ ```
83
+
84
+ * serve executables
85
+ * put in a directory the scripts/commands/links to commands you want to expose
86
+ * start http server serving current directory executables listening on 0.0.0.0 port 8080
81
87
  ```shell
82
88
  $ pywebexec -d <dir>
83
89
  ```
@@ -1,8 +1,8 @@
1
1
  pywebexec/__init__.py,sha256=4spIsVaF8RJt8S58AG_wWoORRNkws9Iwqprj27C3ljM,99
2
- pywebexec/pywebexec.py,sha256=bo_rh0wsEkcOXltOZMiZlojqABCAQqDM33cJGUUmnrU,26922
3
- pywebexec/version.py,sha256=Zv4TpC5V6FOmlNNowuZivqOrr2E0lJ1Gpdzj7o5gDYw,413
2
+ pywebexec/pywebexec.py,sha256=KNRO31L0ArCxkS9Ph98YKzMumn0j41-ocr9TkQgKMmQ,26977
3
+ pywebexec/version.py,sha256=bhORB-auReBqhWH8Z8Dx1LQ8cW3mTgChFk4qt6yE3rs,413
4
4
  pywebexec/static/css/Consolas NF.ttf,sha256=DJEOzF0eqZ-kxu3Gs_VE8X0NJqiobBzmxWDGpdgGRxI,1313900
5
- pywebexec/static/css/style.css,sha256=sDBhZ-csW5THIKfTDsHqxCSg6rIJ91Oh15sjw_HjJo4,5702
5
+ pywebexec/static/css/style.css,sha256=cGJHPFj23SQ_bFpesfUaFA3VFxhXtpRUOL_zzx3x_X8,5726
6
6
  pywebexec/static/css/xterm.css,sha256=gy8_LGA7Q61DUf8ElwFQzHqHMBQnbbEmpgZcbdgeSHI,5383
7
7
  pywebexec/static/images/aborted.svg,sha256=_mP43hU5QdRLFZIknBgjx-dIXrHgQG23-QV27ApXK2A,381
8
8
  pywebexec/static/images/copy.svg,sha256=d9OwtGh5GzzZHzYcDrLfNxZYLth1Q64x7bRyYxu4Px0,622
@@ -15,7 +15,7 @@ pywebexec/static/images/running.gif,sha256=iYuzQGkMxrakSIwt6gPieKCImGZoSAHmU5MUN
15
15
  pywebexec/static/images/success.svg,sha256=PJDcCSTevJh7rkfSFLtc7P0pbeh8PVQBS8DaOLQemmc,489
16
16
  pywebexec/static/js/commands.js,sha256=8JDb3Q55EJOYf2Q9Uy6qEuqAnn1oGjM0RndgQ4aOjqo,7725
17
17
  pywebexec/static/js/popup.js,sha256=i7BPBh6oS0Q6H528DwP6KwJ8CKh7ULwm1rLHSbyvDhk,4656
18
- pywebexec/static/js/script.js,sha256=QlYuIdvolTwxkJtgp7-X1IRM9Hr8D08iQCyCzZjv3hk,12255
18
+ pywebexec/static/js/script.js,sha256=x3YJn61YOpV5bSum3nrV7MRP7lMAAWv1-mhWBJen2nE,12161
19
19
  pywebexec/static/js/xterm/LICENSE,sha256=EU1P4eXTull-_T9I80VuwnJXubB-zLzUl3xpEYj2T1M,1083
20
20
  pywebexec/static/js/xterm/ansi_up.min.js,sha256=KNGV0vEr30hNqKQimTAvGVy-icD5A1JqMQTtvYtKR2Y,13203
21
21
  pywebexec/static/js/xterm/xterm-addon-fit.js,sha256=Pprm9pZe4SadVXS5Bc8b9VnC9Ex4QlWwA0pxOH53Gck,1460
@@ -23,9 +23,9 @@ pywebexec/static/js/xterm/xterm.js,sha256=Bzka76jZwEhVt_LlS0e0qMw7ryGa1p5qfxFyeo
23
23
  pywebexec/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
24
  pywebexec/templates/index.html,sha256=DYtT555wSNhnFtzzHhPMWJireynCJNnAuTytpoORQeE,2321
25
25
  pywebexec/templates/popup.html,sha256=T6_tAOUoA58sA1oxB5pb8i42RenoMdCsH8T86Gccb6Q,945
26
- pywebexec-1.4.12.dist-info/LICENSE,sha256=gRJf0JPT_wsZJsUGlWPTS8Vypfl9vQ1qjp6sNbKykuA,1064
27
- pywebexec-1.4.12.dist-info/METADATA,sha256=cCiJmWvh3DHBVJa0uRdM6-oMEBFyU3g0nSNxrhz5Y1I,7724
28
- pywebexec-1.4.12.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
29
- pywebexec-1.4.12.dist-info/entry_points.txt,sha256=l52GBkPCXRkmlHfEyoVauyfBdg8o-CAtC8qQpOIjJK0,55
30
- pywebexec-1.4.12.dist-info/top_level.txt,sha256=vHoHyzngrfGdm_nM7Xn_5iLmaCrf10XO1EhldgNLEQ8,10
31
- pywebexec-1.4.12.dist-info/RECORD,,
26
+ pywebexec-1.4.13.dist-info/LICENSE,sha256=gRJf0JPT_wsZJsUGlWPTS8Vypfl9vQ1qjp6sNbKykuA,1064
27
+ pywebexec-1.4.13.dist-info/METADATA,sha256=vbf7BnbahIuCrkt8wGfyAo25vU5PqIGHgaor4L8uV2Y,7801
28
+ pywebexec-1.4.13.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
29
+ pywebexec-1.4.13.dist-info/entry_points.txt,sha256=l52GBkPCXRkmlHfEyoVauyfBdg8o-CAtC8qQpOIjJK0,55
30
+ pywebexec-1.4.13.dist-info/top_level.txt,sha256=vHoHyzngrfGdm_nM7Xn_5iLmaCrf10XO1EhldgNLEQ8,10
31
+ pywebexec-1.4.13.dist-info/RECORD,,