pywebexec 2.1.16__tar.gz → 2.1.18__tar.gz

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.
Files changed (83) hide show
  1. {pywebexec-2.1.16/pywebexec.egg-info → pywebexec-2.1.18}/PKG-INFO +1 -1
  2. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/js/executables.js +1 -2
  3. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/js/schemaform.js +25 -11
  4. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/js/swagger-form.js +1 -1
  5. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/version.py +2 -2
  6. {pywebexec-2.1.16 → pywebexec-2.1.18/pywebexec.egg-info}/PKG-INFO +1 -1
  7. {pywebexec-2.1.16 → pywebexec-2.1.18}/.github/workflows/python-publish.yml +0 -0
  8. {pywebexec-2.1.16 → pywebexec-2.1.18}/.gitignore +0 -0
  9. {pywebexec-2.1.16 → pywebexec-2.1.18}/LICENSE +0 -0
  10. {pywebexec-2.1.16 → pywebexec-2.1.18}/README.md +0 -0
  11. {pywebexec-2.1.16 → pywebexec-2.1.18}/pyproject.toml +0 -0
  12. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/__init__.py +0 -0
  13. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/host_ip.py +0 -0
  14. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/pywebexec.py +0 -0
  15. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/css/form.css +0 -0
  16. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/css/markdown.css +0 -0
  17. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/css/style.css +0 -0
  18. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/css/swagger-ui.css +0 -0
  19. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/css/swagger-ui.css.map +0 -0
  20. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/css/xterm.css +0 -0
  21. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/fonts/CommitMonoNerdFontMono-Regular.ttf +0 -0
  22. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/fonts/LICENSE +0 -0
  23. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/fonts/glyphicons-halflings-regular.eot +0 -0
  24. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/fonts/glyphicons-halflings-regular.svg +0 -0
  25. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/fonts/glyphicons-halflings-regular.ttf +0 -0
  26. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/fonts/glyphicons-halflings-regular.woff +0 -0
  27. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/fonts/glyphicons-halflings-regular.woff2 +0 -0
  28. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/images/aborted.svg +0 -0
  29. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/images/copy.svg +0 -0
  30. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/images/copy_ok.svg +0 -0
  31. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/images/down-arrow.svg +0 -0
  32. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/images/failed.svg +0 -0
  33. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/images/favicon.svg +0 -0
  34. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/images/fit-tty.svg +0 -0
  35. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/images/fit-win.svg +0 -0
  36. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/images/font-decrease.svg +0 -0
  37. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/images/font-increase.svg +0 -0
  38. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/images/norun.svg +0 -0
  39. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/images/pause.svg +0 -0
  40. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/images/popup.svg +0 -0
  41. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/images/resume.svg +0 -0
  42. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/images/running.svg +0 -0
  43. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/images/success.svg +0 -0
  44. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/images/swagger-ui.svg +0 -0
  45. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/js/js-yaml/LICENSE +0 -0
  46. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/js/js-yaml/js-yaml.min.js +0 -0
  47. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/js/marked/LICENSE.md +0 -0
  48. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/js/marked/marked.min.js +0 -0
  49. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/js/popup.js +0 -0
  50. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/js/script.js +0 -0
  51. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/js/swagger-ui/LICENSE +0 -0
  52. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/js/swagger-ui/swagger-ui-bundle.js +0 -0
  53. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/js/swagger-ui/swagger-ui-standalone-preset.js +0 -0
  54. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/js/xterm/LICENSE +0 -0
  55. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/js/xterm/addon-canvas.js +0 -0
  56. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/js/xterm/addon-canvas.js.map +0 -0
  57. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/js/xterm/addon-fit.js +0 -0
  58. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/js/xterm/addon-fit.js.map +0 -0
  59. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/js/xterm/addon-unicode-graphemes.js +0 -0
  60. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/js/xterm/addon-unicode-graphemes.js.map +0 -0
  61. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/js/xterm/addon-unicode11.js +0 -0
  62. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/js/xterm/addon-unicode11.js.map +0 -0
  63. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/js/xterm/xterm.js +0 -0
  64. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/js/xterm/xterm.js.map +0 -0
  65. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/jsonform/LICENSE +0 -0
  66. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/jsonform/deps/README.md +0 -0
  67. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/jsonform/deps/img/glyphicons-halflings.png +0 -0
  68. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/jsonform/deps/jquery.min.js +0 -0
  69. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/jsonform/deps/jsv.js +0 -0
  70. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/jsonform/deps/underscore.js +0 -0
  71. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/static/jsonform/lib/jsonform.js +0 -0
  72. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/swagger.yaml +0 -0
  73. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/templates/__init__.py +0 -0
  74. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/templates/index.html +0 -0
  75. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/templates/popup.html +0 -0
  76. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec/templates/swagger_ui.html +0 -0
  77. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec.egg-info/SOURCES.txt +0 -0
  78. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec.egg-info/dependency_links.txt +0 -0
  79. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec.egg-info/entry_points.txt +0 -0
  80. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec.egg-info/requires.txt +0 -0
  81. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexec.egg-info/top_level.txt +0 -0
  82. {pywebexec-2.1.16 → pywebexec-2.1.18}/pywebexecdev +0 -0
  83. {pywebexec-2.1.16 → pywebexec-2.1.18}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: pywebexec
3
- Version: 2.1.16
3
+ Version: 2.1.18
4
4
  Summary: Simple Python HTTP Exec Server
5
5
  Home-page: https://github.com/joknarf/pywebexec
6
6
  Author: Franck Jouvanceau
@@ -256,7 +256,6 @@ async function fetchExecutables() {
256
256
 
257
257
  }
258
258
 
259
-
260
259
  paramsInput.addEventListener('focus', () => {
261
260
  const currentCmd = commandInput.value;
262
261
  paramsInput.name = currentCmd;
@@ -302,7 +301,7 @@ paramsInput.addEventListener('focus', () => {
302
301
  console.log('Error running command:', error);
303
302
  }
304
303
  }
305
- });
304
+ }, currentCmd.toString());
306
305
  setHelpDivPosition();
307
306
  paramsContainer.style.display = 'block';
308
307
  const input1 = schemaFormPW.querySelector('input, select, textarea');
@@ -20,7 +20,11 @@ function formInputHandle() {
20
20
  } else {
21
21
  size = 12;
22
22
  }
23
+ if (input.value) {
24
+ size = 2;
25
+ }
23
26
  input.setAttribute('size', size);
27
+ setTimeout(() => adjustInputWidth(input), 1);
24
28
  input.addEventListener('input', () => adjustInputWidth(input));
25
29
  inputHandlers.push(input);
26
30
  }
@@ -48,8 +52,13 @@ function extractKeysAndPlaceholders(obj, formoptions, prefix = '') {
48
52
  }
49
53
  return result;
50
54
  }
51
-
52
- function createSchemaForm(form, schema, onSubmit) {
55
+ let schemaValues = {};
56
+ function createSchemaForm(form, schema, onSubmit, schemaName) {
57
+ if (schemaValues[schemaName]) {
58
+ value = schemaValues[schemaName];
59
+ } else {
60
+ value = {};
61
+ }
53
62
  if (schema && schema.schema_options) {
54
63
  schema_options = schema.schema_options;
55
64
  } else {
@@ -141,6 +150,7 @@ function createSchemaForm(form, schema, onSubmit) {
141
150
  schema: schema,
142
151
  onSubmit: onSubmit,
143
152
  form: formDesc,
153
+ value: value,
144
154
  // params: {
145
155
  // fieldHtmlClass: "input-small",
146
156
  // }
@@ -152,18 +162,22 @@ function createSchemaForm(form, schema, onSubmit) {
152
162
  formInputHandle();
153
163
 
154
164
  form[0].querySelectorAll('textarea').forEach(txt => {
155
- txt.style.height = "0";
156
- txt.style.height = txt.scrollHeight + "px";
157
- txt.setAttribute("spellcheck", "false")
158
- txt.addEventListener("input", (e) => {
159
- e.target.style.height = "0";
160
- e.target.style.height = (e.target.scrollHeight+2) + "px";
161
- });
165
+ txt.style.height = "0";
166
+ setTimeout(() => adjustTxtHeight(txt), 1);
167
+ txt.setAttribute("spellcheck", "false");
168
+ txt.addEventListener("input", () => adjustTxtHeight(txt));
162
169
  });
163
-
170
+ form[0].addEventListener('input', () => {
171
+ schemaValues[schemaName] = jsform.root.getFormValues();
172
+ // localStorage.setItem('schemaValues', JSON.stringify(schemaValues));
173
+ });
174
+
164
175
  return jsform;
165
176
  }
166
-
177
+ function adjustTxtHeight(txt) {
178
+ txt.style.height = "0";
179
+ txt.style.height = txt.scrollHeight + "px";
180
+ }
167
181
  async function getSwaggerSpec() {
168
182
  const response = await fetch('/swagger.yaml');
169
183
  if (!response.ok) {
@@ -88,7 +88,7 @@ window.onload = function() {
88
88
  const form = document.createElement("form");
89
89
  form.id = routePathId;
90
90
  form.classList.add("schema-form");
91
- jsform = createSchemaForm($(form), swaggerSchemas[routePath], null);
91
+ jsform = createSchemaForm($(form), swaggerSchemas[routePath], null, routePath);
92
92
  // form.addEventListener("input", formInput(node, jsform));
93
93
  form.addEventListener("input", addFormInputListener(node, jsform));
94
94
  node.parentNode.insertBefore(form, node.nextSibling);
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '2.1.16'
21
- __version_tuple__ = version_tuple = (2, 1, 16)
20
+ __version__ = version = '2.1.18'
21
+ __version_tuple__ = version_tuple = (2, 1, 18)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: pywebexec
3
- Version: 2.1.16
3
+ Version: 2.1.18
4
4
  Summary: Simple Python HTTP Exec Server
5
5
  Home-page: https://github.com/joknarf/pywebexec
6
6
  Author: Franck Jouvanceau
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes