Commit graph

1227 commits

Author SHA1 Message Date
Joe Knapper
ecbdd8a5bf Added measure_settling_time function to autofocus 2021-12-01 13:09:32 +00:00
Kaspar Emanuel
13f7252dd7 Move Vue app to a js directory 2021-09-16 15:13:17 +01:00
Richard Bowman
515bee1422 Merge branch 'check-error-in-task-submitter-response' into 'master'
Move error handling for taskSubmitter

See merge request openflexure/openflexure-microscope-server!138
2021-09-07 14:57:25 +00:00
Richard
3d33218072 Move error handling for taskSubmitter
taskSubmitter ended up in a confused state if the initial POST request
encountered an error.
I've updated `startPolling` to return a Promise, and moved the
error handling code to the top level.

This doesn't change anything for the case where we get a non-error
response to the POST request, but means that e.g. 400 errors
get caught and displayed properly.
2021-08-26 23:12:47 +01:00
Richard
ae96340d79 Remove unused import 2021-08-23 20:53:04 +01:00
Richard Bowman
6a484514a9 Remove vestigial error handling code
LabThings now handles HTTPErrors properly, so I am removing
this copy-pasted workaround.
2021-08-23 16:08:50 +01:00
Richard Bowman
3e02fe4790 Merge branch 'static-docs' into 'master'
Improved API docs

See merge request openflexure/openflexure-microscope-server!133
2021-08-17 11:33:40 +00:00
Richard Bowman
040d7d4ba6 Fix action wrapper
The action wrapper was using an unbound function - it
now passes the extension object as self.

We were incorrectly passing endpoint names as positional arguments -
this is fixed and I now use a keyword argument.
2021-08-17 12:11:20 +01:00
Richard
b7c15886e9 Use neater spread operator to copy objects
Rather than Object.assign, I now use the ... operator to
ensure that dictionaries don't pollute each other in computed
properties.
2021-08-09 21:57:52 +01:00
Richard
332ecad19b Update caniuse-lite 2021-08-02 10:31:07 +01:00
Richard
3cdfd52a77 Added controls for smart stack 2021-07-25 09:14:33 +01:00
Richard
9fa545f3fa Typing fix
mypy doesn't like adding attributes to functions, so
I have used the described_operation decorator to
add type hints to the functions.
2021-07-25 03:38:20 +01:00
Richard
a8b1efb7cd Removed openapi endpoints (now in LabThings) 2021-07-25 01:23:44 +01:00
Richard
7b54abc210 blackened 2021-07-19 22:22:58 +01:00
Richard
34af06b1d1 Document route parameter in nested dictionaries 2021-07-19 22:21:39 +01:00
Richard
ec992c083f Describe filename param in capture download 2021-07-19 21:40:28 +01:00
Richard
36be07b276 Responses and parameters for zipbuilder 2021-07-19 21:32:08 +01:00
Richard
ba0f78df84 fix typing in autofocus
I have an Optional dz, which is then
populated with a default if it's None.
I've added an explicit cast() to explain this to mypy.
2021-07-19 21:18:25 +01:00
Richard
72f3c11fdd linting and typing fixes 2021-07-19 20:29:13 +01:00
Richard
b7c9d3b73b Sorted remaining content_type issues and blackened 2021-07-19 20:09:09 +01:00
Richard
38fbe530d2 Fix externalDocs entries
My externalDocs entries in the "tags" metadata section
of the OpenAPI description were not valid.
This is now fixed.
2021-07-19 11:56:40 +01:00
Richard
077d6fdc4b Added OpenAPI validation from apispec 2021-07-19 11:50:50 +01:00
Richard
6a7c305468 Started adding more content to openapi 2021-07-14 19:15:26 +01:00
Richard
48fa1842a9 Fixed stage schemas
If missing=None, we need to specify allow_None=False
in order to generate valid OpenAPI.
This may also be fixed by an upstream change in LabThings.

Also, OneOf was being used incorrectly in StageTypeProperty.
2021-07-13 22:53:35 +01:00
Richard
50ad9d4369 Fixed content dicts to be valid OpenAPI
For functions that return JPEGs, we were
 using "content_type": "image/jpeg"
 instead we should use "content": { "image/jpeg": {}}
2021-07-13 22:52:10 +01:00
Richard
9892c7079a moved find_microscope into functions 2021-07-13 22:50:42 +01:00
Richard
00531a93bf Fixed response descriptions for stream/RAM capture 2021-07-06 15:24:43 +01:00
Richard
c81c4eb64d Better API docs for autofocus extension 2021-07-06 15:24:17 +01:00
Richard
202d942c90 Add entry point to generate OpenAPI yaml/json
This is designed to be used as a console entry point so we can generate
the OpenAPI description without starting the server.
2021-07-06 15:23:42 +01:00
Richard Bowman
5b63745ad0 Merge branch 'imjoy-support' into 'master'
Added imjoy support

Closes #157

See merge request openflexure/openflexure-microscope-server!120
2021-06-29 12:08:52 +00:00
Richard
8157fa6d58 Add YAML export from APISpec 2021-06-27 21:08:48 +01:00
Richard
f5711d953d linter fixes 2021-06-22 12:09:01 +01:00
Richard
d73b0afd36 Disable ImJoy control
If the environment variable is disabling ImJoy, don't allow
the user to enable it with the tick-box.
2021-06-22 12:08:17 +01:00
Richard
33b3ffc7f7 Rely on store to enforce IMJOY_ENABLED
This removes some now-redundant code.
2021-06-22 12:07:27 +01:00
Richard
29de95fe74 Enforce ENABLE_IMJOY variable in store
The store now won't let you enable imjoy if the environment
variable is not set to "true"
2021-06-22 12:06:48 +01:00
Richard
3921f5de76 Remove commented-out code 2021-06-22 10:57:48 +01:00
Richard
03cb019864 Don't remember the "scanCapture" setting
Given that it changes the "capture" button from
single image acquisition to a long running scan,
I think it's less confusing if the "scan capture" setting
is not remembered across page refreshes.
2021-06-03 16:21:03 +01:00
Richard
318c4088dd Auto-open scan section if enabled
Saving default to local storage has a problem:
if you have ticked "scan", the section is not
visible by default so it's easy to start a scan
by accident.  I've now forced it to be open if
the scanCapture checkbox is true.
2021-06-03 16:16:00 +01:00
Richard
31faaaf161 Whitespace linting fixes 2021-06-03 16:10:03 +01:00
Richard
178d6fb84b Fix ame of CaptureContent 2021-06-03 16:09:51 +01:00
Richard
8afa503867 Scan settings are now remembered
This is done in local storage, and I'm
quite pleased with how neat it is!
Happy to be corrected on a better way to pass `this` though!
2021-06-03 16:09:40 +01:00
Richard
dae818b6b5 Typo in webpack directive 2021-05-31 12:46:30 +01:00
Richard
9d088916a9 Linter fixes 2021-05-31 12:45:30 +01:00
Richard
a1313ae1c5 Fix CSS for plugin list 2021-05-31 12:43:21 +01:00
Richard
9b75e8ec05 Fixed service registration for imjoy 2021-05-31 11:36:32 +01:00
Richard
4716dc8812 Added exposure and autofocus to imjoy service
This is currently untested
2021-05-29 14:34:17 +01:00
Richard
55a9f49fd2 Sundry linting/debug removal 2021-05-29 13:06:52 +01:00
Richard
6a353ccbd3 Added UI controls to enable ImJoy and gallery
There are now tick boxes in "features" settings to
enable/disable ImJoy and the gallery.
These persist in local storage.
2021-05-29 13:06:13 +01:00
Richard
dac1c9a748 Merge branch 'master' into imjoy-support 2021-05-29 12:10:01 +01:00
Richard
d176654e96 Allow ImJoy plugins to be disabled
ImJoy is now loaded dynamically, and can be turned off with
an environment variable.
I've added two new scripts to develop and build without ImJoy.
I suspect these won't see much use, but
they will remind us how to do it when we
want to release a medical version.
The ImJoy "chunk" is named for ease of separation.

Co-authored-by: Kaspar Emanuel <kaspar@monostable.co.uk>
2021-05-29 12:03:55 +01:00