bugy / script-server Goto Github PK
View Code? Open in Web Editor NEWWeb UI for your scripts with execution management
License: Other
Web UI for your scripts with execution management
License: Other
Also, it seems that password request output from svn is terminal-dependent, i.e. it's not printed in non-terminal mode.
There should be less than 0.1s delay after the script has finished and UI updates correspondingly (currently it means that ExecuteButton should be unlocked, and StopButton should be locked)
The combobox field in parameters panel is shifted up above other fields baseline.
Firefox ESR (45.4.0) on debian 8
Currently script names used as a hashes in the URL. However linking such pages to other people looks bad: either the link will be cut at the first space or spaces will be urlencoded (decreasing readability). So all spaces should be replaced with some other symbol (e.g. underscore).
Backward compatibility should be supported, i.e. old links should still work after this feature.
Run simple script (from test pack) for 20000 occurrences of "long long long" text.
As a result, some lines won't be printed.
If you try to open a page with hash (e.g. .../index.html#my_script) it doesn't show the script info
When you press back button in browser, the URL changes, but the page is not updated
(at least in Chrome)
The value should be selected from ComboBox, script should provide all allowed values
This should be available at least for default values.
Currently script server is working via plain HTTP only. There should be possilibility to turn on HTTPS.
Proposal:
Additionally: test on windows
Currently scripts are run from the folder of the server. It would be nice to have a possibility to specify runFolder for the script (since some scripts can use relative paths).
If your select another script, the previous script info should be cleared, even if the opening of the new one failed.
It would be even better to show, that loading script info failed.
Currently, for each script run, log file is created, and it contains caller IP in the name.
However hostname can provide more information at a glance, so if hostname can be acquired, it should be used for filename.
Also, main log file should log both caller IP and hostname.
How to reproduce:
open a config with a lot of parameters and update the page untill error occurs
Web console exception:
Uncaught TypeError: this.validate is not a function
PID in filename makes not much sense, since it won't help to find the proper file at all. However the running host for example or time will help.
It should be understood how this log file can be improve and implemented
Scripts can produce output with colouring mode (e.g. grep --color ..). Script server should show such output as colored as well.
Currently such output is shown like:
�[01;31m�[KI'm called�[m�[K
So we need to decode the color and create corresponding coloring at the web GUI for such blocks.
Both font and background can be colored.
For testing purposes we can extend Write to file script, with showing all occurences (including old ones) of the added text with different color. Like changing the last line of the script to:
cat ~/simple.txt | grep --color=always -E "$text|$"
And possible show some other information with different background.
Currently execution log is sent only to web page and not logged anywhere.
It should be logged somewhere, so it will be possible to analyze what was happening.
If a page without hash is opened, it shouldn't show "Execute" button
With support of validation and min/max values
If you connect to the server without specifying a page (http://my-host:5000/), then nothing is loaded. index.html should be loaded in this case
If one config is invalid, then only this script shouldn't work (and probably should be not shown)
Currently this parameter is specified (and read) as a string, i.e. it should be specified like this:
"requires_terminal": "false",
It should be changed to be read as a boolean (without quotes)
LDAP authorization should be configurable using web.json file.
For this new config section should be added, which should look like:
{
...
"authorization": {
"type": "LDAP",
"config": {
//some LDAP based config parameters
}
}
}
Currently external resources are loaded each time. It would be better to make them static files
If you put some wrong value (e.g. e1) in int field, it will show message "required", however it should show message "integer expected"
If you have a script, which is reading input values by order (e.g. in bash: var1=$1), rather than by parameters (e.g. "script.sh -p val"), it's useful just to omit "param" in the parameter configuration.
Expected - script should be stopped when switching, and button should be reenabled
Since it's hard to predict, whether used commands in the script behave differently, being invoked in terminal, it should be better to launch all the scripts in terminal mode by default.
See some more info in my comment in #2 (comment)
make errournous js code for execute button (e.g. when we receive a response, just throw an exception). It causes execute button to hang (which is ok in case of unexpected error), but if you reload the page (F5) the button is not working
Currently script server is not running on windows because of different issues (paths, modules, working with processes, etc.). This should be fixed
Such parameters should not be visible on UI, but should be sent to the script
E.g. we have a script for deleting a file in temp folder, it would be nice to send a user a list of the files in this folder, so the required one could be selected.
Error log:
2016-08-11 17:25:00,831 [scriptServer.INFO] Calling script: ...
2016-08-11 17:25:00,851 [tornado.access.INFO] 200 POST /scripts/execute (...) 120.47ms
Exception in thread Thread-58:
Traceback (most recent call last):
File "/usr/lib/python3.5/threading.py", line 914, in _bootstrap_inner
self.run()
File "/usr/lib/python3.5/threading.py", line 862, in run
self._target(_self._args, *_self._kwargs)
File "/home/shepilov/DEV/github/script-server/execution.py", line 176, in pipe_process_output
if data and (self.encoding.lower() == "utf-8"):
AttributeError: 'NoneType' object has no attribute 'lower'
In #28 was fixed blocking os.read, but the fix depends on the fcntl module, which is available only for linux.
This module shouldn't be used for windows
If you run write_file script (from testing suite) and try to terminate the server (using ctrl+C) it won't stop and could only be killed.
I suspect, that not all child processes are terminated properly
Now in order to launch the server, user has to use
python3 launcher.py command
There should be a way just to launch it
Some scripts can create file(s) as a result of execution. There should be a possibility to download these files.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.