eida / a10y Goto Github PK
View Code? Open in Web Editor NEWAvailability webservice user interface
License: GNU General Public License v3.0
Availability webservice user interface
License: GNU General Public License v3.0
! compute mergegaps with the actual timespan.
BadIdentifier: '9M_00X00_00_DLE' is an invalid id; identifiers must contain only letters, numbers, underscores, or hyphens, and must not begin with a number.
Maybe the rule is on the station code ? Which can in fact start with a number.
On this screen shot (request: https://ws.resif.fr/fdsnws/availability/1/query?format=text&network=RA&station=OGH*&starttime=2023-12-01T00:00:00&endtime=2023-12-08T15:11:02&quality=D,R) the OGH1 channels do not start at 1 of december.
All the lines should align vertically on a "virtual" timeline that is consistent between each line.
A user should want to see in a same result view the availability plots from distinct NSLC (several different networks for instance) to have a quick glance.
This could be done by reading a configuration file, a bit like when making dataselect POST request.
We can come up with a simple configuration syntax, one line per request:
MERGE OPTION1
MERGE OPTION2
NODE NET STA LOC CHA STARTTIME ENDTIME QUALITY
NODE NET STA LOC CHA STARTTIME ENDTIME QUALITY
NODE NET STA LOC CHA STARTTIME ENDTIME QUALITY
A keystroke (for instance e
like edit) would open an editor in order to edit this configuration file more easily.
When launching the tool, you can either:
$XDG_CONFIG_DIR/a10y/selections/*
)-s
optionThis implies asking to the EIDA (or IRIS maybe also) routing system in order to resolve virtual networks to actual NSLCs
Make it like a log.
Provide just max 2 or 3 shortcuts and "? for help" to pop up the help screen.
And if user hit ? => Show a more detailed documentation
By using github workflow, automatically build and publish the binaries in a release.
This can be triggered when we create a new tag on the main branch for instance ?
Would this be easy to do ?
Using asciinema tool, you could record a session in order to make a nice demonstration.
No need for speech or sound, just a simple 1 minute demonstration in order for the user to have a rapid view of what the tool is for.
optionally it would be very cool to post the video on peertube (instead of asciinema.org) :)
Add conda installation instructions in the readme
User would be so excited about being able to ask for a virtual network.
We need to think about how this can be done.
Use dotted lines to represent small traces.
If user wants details, she can capture the timespan and issue a new request.
┄ ┄ ┄ ┄ ┄
If by mistake someone issues a VERY large request, she should be able to cancel it.
I wrote down the desirable configuration fetching mecanism in the documentation.
Can you fix this ?
Choose a colorbling friendly palette.
Look at this article: https://davidmathlogic.com/colorblind/
Maybe IBM palette is OK for our app ?
Maybe it could be usefull to switch between views of the output.
One view is the plain text view, the other is the availability bars.
We have to come up with sensitive default values.
Those can be setup with a configuration file like $XDG_CONFIG_DIR/a10y/config.toml
Use case:
./a10y --node RESIF
If putting a wrong time string, the application crashes very disgracefully:
ValueError: time data '2019-01-14' does not match format '%Y-%m-%dT%H:%M:%S'
Would be useful to validate inputs.
Maybe useful to put a warning mark or in red invalid inputs (even gray out the SEND button)
Would be awesome: https://textual.textualize.io/widget_gallery/#loadingindicator
It seems shift+enter key binding is not available in textual. We need to choose another for sending request. For now I will use ctrl+s (s for send).
You can see below the available keys and choose another:
Escape = "escape"
ShiftEscape = "shift+escape"
Return = "return"
ControlAt = "ctrl+@"
ControlA = "ctrl+a"
ControlB = "ctrl+b"
ControlC = "ctrl+c"
ControlD = "ctrl+d"
ControlE = "ctrl+e"
ControlF = "ctrl+f"
ControlG = "ctrl+g"
ControlH = "ctrl+h"
ControlI = "ctrl+i"
ControlJ = "ctrl+j"
ControlK = "ctrl+k"
ControlL = "ctrl+l"
ControlM = "ctrl+m"
ControlN = "ctrl+n"
ControlO = "ctrl+o"
ControlP = "ctrl+p"
ControlQ = "ctrl+q"
ControlR = "ctrl+r"
ControlS = "ctrl+s"
ControlT = "ctrl+t"
ControlU = "ctrl+u"
ControlV = "ctrl+v"
ControlW = "ctrl+w"
ControlX = "ctrl+x"
ControlY = "ctrl+y"
ControlZ = "ctrl+z"
Control1 = "ctrl+1"
Control2 = "ctrl+2"
Control3 = "ctrl+3"
Control4 = "ctrl+4"
Control5 = "ctrl+5"
Control6 = "ctrl+6"
Control7 = "ctrl+7"
Control8 = "ctrl+8"
Control9 = "ctrl+9"
Control0 = "ctrl+0"
ControlShift1 = "ctrl+shift+1"
ControlShift2 = "ctrl+shift+2"
ControlShift3 = "ctrl+shift+3"
ControlShift4 = "ctrl+shift+4"
ControlShift5 = "ctrl+shift+5"
ControlShift6 = "ctrl+shift+6"
ControlShift7 = "ctrl+shift+7"
ControlShift8 = "ctrl+shift+8"
ControlShift9 = "ctrl+shift+9"
ControlShift0 = "ctrl+shift+0"
ControlBackslash = "ctrl+backslash"
ControlSquareClose = "ctrl+right_square_bracket"
ControlCircumflex = "ctrl+circumflex_accent"
ControlUnderscore = "ctrl+underscore"
Left = "left"
Right = "right"
Up = "up"
Down = "down"
Home = "home"
End = "end"
Insert = "insert"
Delete = "delete"
PageUp = "pageup"
PageDown = "pagedown"
ControlLeft = "ctrl+left"
ControlRight = "ctrl+right"
ControlUp = "ctrl+up"
ControlDown = "ctrl+down"
ControlHome = "ctrl+home"
ControlEnd = "ctrl+end"
ControlInsert = "ctrl+insert"
ControlDelete = "ctrl+delete"
ControlPageUp = "ctrl+pageup"
ControlPageDown = "ctrl+pagedown"
ShiftLeft = "shift+left"
ShiftRight = "shift+right"
ShiftUp = "shift+up"
ShiftDown = "shift+down"
ShiftHome = "shift+home"
ShiftEnd = "shift+end"
ShiftInsert = "shift+insert"
ShiftDelete = "shift+delete"
ShiftPageUp = "shift+pageup"
ShiftPageDown = "shift+pagedown"
ControlShiftLeft = "ctrl+shift+left"
ControlShiftRight = "ctrl+shift+right"
ControlShiftUp = "ctrl+shift+up"
ControlShiftDown = "ctrl+shift+down"
ControlShiftHome = "ctrl+shift+home"
ControlShiftEnd = "ctrl+shift+end"
ControlShiftInsert = "ctrl+shift+insert"
ControlShiftDelete = "ctrl+shift+delete"
ControlShiftPageUp = "ctrl+shift+pageup"
ControlShiftPageDown = "ctrl+shift+pagedown"
BackTab = "shift+tab"
F1 = "f1"
F2 = "f2"
F3 = "f3"
F4 = "f4"
F5 = "f5"
F6 = "f6"
F7 = "f7"
F8 = "f8"
F9 = "f9"
F10 = "f10"
F11 = "f11"
F12 = "f12"
F13 = "f13"
F14 = "f14"
F15 = "f15"
F16 = "f16"
F17 = "f17"
F18 = "f18"
F19 = "f19"
F20 = "f20"
F21 = "f21"
F22 = "f22"
F23 = "f23"
F24 = "f24"
ControlF1 = "ctrl+f1"
ControlF2 = "ctrl+f2"
ControlF3 = "ctrl+f3"
ControlF4 = "ctrl+f4"
ControlF5 = "ctrl+f5"
ControlF6 = "ctrl+f6"
ControlF7 = "ctrl+f7"
ControlF8 = "ctrl+f8"
ControlF9 = "ctrl+f9"
ControlF10 = "ctrl+f10"
ControlF11 = "ctrl+f11"
ControlF12 = "ctrl+f12"
ControlF13 = "ctrl+f13"
ControlF14 = "ctrl+f14"
ControlF15 = "ctrl+f15"
ControlF16 = "ctrl+f16"
ControlF17 = "ctrl+f17"
ControlF18 = "ctrl+f18"
ControlF19 = "ctrl+f19"
ControlF20 = "ctrl+f20"
ControlF21 = "ctrl+f21"
ControlF22 = "ctrl+f22"
ControlF23 = "ctrl+f23"
ControlF24 = "ctrl+f24"
The config.toml should be a toml syntax: https://toml.io/en/
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.