Last active
August 31, 2021 19:47
-
-
Save bdunnette/bd1b3c1d75d473fcb71a163b87ac44bb to your computer and use it in GitHub Desktop.
query VersaTrak from a Pluto.jl notebook
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
### A Pluto.jl notebook ### | |
# v0.15.1 | |
using Markdown | |
using InteractiveUtils | |
# This Pluto notebook uses @bind for interactivity. When running this notebook outside of Pluto, the following 'mock version' of @bind gives bound variables a default value (instead of an error). | |
macro bind(def, element) | |
quote | |
local el = $(esc(element)) | |
global $(esc(def)) = Core.applicable(Base.get, el) ? Base.get(el) : missing | |
el | |
end | |
end | |
# ╔═╡ 37726bdf-50c4-4ad1-b858-e4298a708f08 | |
using HTTP,JSON, JSONTables, DataFrames, DataFramesMeta , PlutoUI | |
# ╔═╡ b7aa38fc-0c22-4876-8574-f0b72829244d | |
md""" | |
VersaTrak Server URL: $(@bind vt_url TextField((50,1))) | |
""" | |
# ╔═╡ 3f087190-a632-404a-b061-75be682ef4d6 | |
session = HTTP.get(vt_url * "/usersession/action/instanceList"; cookies = true) | |
# ╔═╡ ea8b928c-aee9-42db-840f-841e59cb1388 | |
instances = JSON.parse(String(session.body))["instances"] | |
# ╔═╡ 6a9abad6-822f-40e3-9494-313f1da15f23 | |
instance_list = [(i["id"],i["name"]) for i in instances] | |
# ╔═╡ 32b5e4f5-355f-41bc-8647-03f69499b3e0 | |
md""" | |
Instance: $(@bind vt_instance Select([i[1] => i[2] for i in instance_list])) | |
""" | |
# ╔═╡ 6d62878e-7fe7-416c-a6f3-6702b6dfbb03 | |
md""" | |
Username: $(@bind vt_user TextField()) | |
Password: $(@bind vt_pass PasswordField()) | |
""" | |
# ╔═╡ 6fafa9ef-9fc1-4485-9edf-3fe8f95cda81 | |
logon_response = HTTP.post(vt_url * "usersession/action/logon", ["Content-Type" => "application/json"], JSON.json(Dict("username"=>vt_user,"password"=>vt_pass,"instance"=>vt_instance))) | |
# ╔═╡ 9d9603bf-341c-4c71-be4e-d3f424f2e28a | |
vt_token = JSON.parse(String(logon_response.body))["jwt"] | |
# ╔═╡ c8d2d7d9-01e3-4a8b-9352-cad44906ed29 | |
vt_headers = Dict("Authorization"=>"Bearer " * vt_token,"Content-Type" => "application/json") | |
# ╔═╡ e19a1ed2-8f32-431f-867c-c960bed7f8e3 | |
vt_locations = JSON.parse(String(HTTP.get(vt_url * "/location",vt_headers).body)) | |
# ╔═╡ db6931cb-aee2-46c7-bebf-1cdc1fed18f6http://www.mybinder.ovh/ | |
location_list = [(l["id"], l["name"]) for l in values(vt_locations) if l["parentId"] != ""] | |
# ╔═╡ 9cee4771-97ce-4118-94b0-29df1564d45b | |
md""" | |
Location: $(@bind vt_location Select([i[1] => i[2] for i in location_list])) | |
""" | |
# ╔═╡ 094cc9b7-8d9e-44ba-a497-7dd13b4f3599 | |
current_status = JSON.parse(String(HTTP.get(vt_url * "/currentstatus",vt_headers).body)) | |
# ╔═╡ 4c443efc-f3ea-48ad-aa7e-34167a76bf92 | |
dt = DataFrame("id" => collect(keys(current_status)), "data" => collect(values(current_status))) | |
# ╔═╡ b7f2a139-7706-49d4-b5ef-bfa4a499c2c2 | |
dt.name = [x["name"] for x in collect(values(dt.data))] | |
# ╔═╡ b1b77234-2fd3-46f9-ad6b-d1c517e93b65 | |
dt.loc_id = [x["loc"]["id"] for x in collect(values(dt.data))] | |
# ╔═╡ 72240e26-19b2-461e-a6e7-a0fa39d0df80 | |
dt.isDisabled = [x["isDisabled"] for x in collect(values(dt.data))] | |
# ╔═╡ bb598a27-c5ff-4665-a4d3-ef5ca370f903 | |
loc_dt = filter(:loc_id => ==(vt_location), dt) | |
# ╔═╡ 5b435007-8fea-4aa9-84d5-df44d5943d7c | |
loc_disabled = filter(:isDisabled => ==(true), loc_dt) | |
# ╔═╡ 00000000-0000-0000-0000-000000000001 | |
PLUTO_PROJECT_TOML_CONTENTS = """ | |
[deps] | |
DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" | |
DataFramesMeta = "1313f7d8-7da2-5740-9ea0-a2ca25f37964" | |
HTTP = "cd3eb016-35fb-5094-929b-558a96fad6f3" | |
JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" | |
JSONTables = "b9914132-a727-11e9-1322-f18e41205b0b" | |
PlutoUI = "7f904dfe-b85e-4ff6-b463-dae2292396a8" | |
[compat] | |
DataFrames = "~1.2.2" | |
DataFramesMeta = "~0.9.0" | |
HTTP = "~0.9.13" | |
JSON = "~0.21.2" | |
JSONTables = "~1.0.1" | |
PlutoUI = "~0.7.9" | |
""" | |
# ╔═╡ 00000000-0000-0000-0000-000000000002 | |
PLUTO_MANIFEST_TOML_CONTENTS = """ | |
# This file is machine-generated - editing it directly is not advised | |
[[ArgTools]] | |
uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" | |
[[Artifacts]] | |
uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" | |
[[Base64]] | |
uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" | |
[[Chain]] | |
git-tree-sha1 = "cac464e71767e8a04ceee82a889ca56502795705" | |
uuid = "8be319e6-bccf-4806-a6f7-6fae938471bc" | |
version = "0.4.8" | |
[[Compat]] | |
deps = ["Base64", "Dates", "DelimitedFiles", "Distributed", "InteractiveUtils", "LibGit2", "Libdl", "LinearAlgebra", "Markdown", "Mmap", "Pkg", "Printf", "REPL", "Random", "SHA", "Serialization", "SharedArrays", "Sockets", "SparseArrays", "Statistics", "Test", "UUIDs", "Unicode"] | |
git-tree-sha1 = "727e463cfebd0c7b999bbf3e9e7e16f254b94193" | |
uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" | |
version = "3.34.0" | |
[[Crayons]] | |
git-tree-sha1 = "3f71217b538d7aaee0b69ab47d9b7724ca8afa0d" | |
uuid = "a8cc5b0e-0ffa-5ad4-8c14-923d3ee1735f" | |
version = "4.0.4" | |
[[DataAPI]] | |
git-tree-sha1 = "ee400abb2298bd13bfc3df1c412ed228061a2385" | |
uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" | |
version = "1.7.0" | |
[[DataFrames]] | |
deps = ["Compat", "DataAPI", "Future", "InvertedIndices", "IteratorInterfaceExtensions", "LinearAlgebra", "Markdown", "Missings", "PooledArrays", "PrettyTables", "Printf", "REPL", "Reexport", "SortingAlgorithms", "Statistics", "TableTraits", "Tables", "Unicode"] | |
git-tree-sha1 = "d785f42445b63fc86caa08bb9a9351008be9b765" | |
uuid = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" | |
version = "1.2.2" | |
[[DataFramesMeta]] | |
deps = ["Chain", "DataFrames", "MacroTools", "Reexport"] | |
git-tree-sha1 = "807e984bf12084b39d99bb27e27ad45bf111d3a1" | |
uuid = "1313f7d8-7da2-5740-9ea0-a2ca25f37964" | |
version = "0.9.0" | |
[[DataStructures]] | |
deps = ["Compat", "InteractiveUtils", "OrderedCollections"] | |
git-tree-sha1 = "7d9d316f04214f7efdbb6398d545446e246eff02" | |
uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" | |
version = "0.18.10" | |
[[DataValueInterfaces]] | |
git-tree-sha1 = "bfc1187b79289637fa0ef6d4436ebdfe6905cbd6" | |
uuid = "e2d170a0-9d28-54be-80f0-106bbe20a464" | |
version = "1.0.0" | |
[[Dates]] | |
deps = ["Printf"] | |
uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" | |
[[DelimitedFiles]] | |
deps = ["Mmap"] | |
uuid = "8bb1440f-4735-579b-a4ab-409b98df4dab" | |
[[Distributed]] | |
deps = ["Random", "Serialization", "Sockets"] | |
uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" | |
[[Downloads]] | |
deps = ["ArgTools", "LibCURL", "NetworkOptions"] | |
uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" | |
[[Formatting]] | |
deps = ["Printf"] | |
git-tree-sha1 = "8339d61043228fdd3eb658d86c926cb282ae72a8" | |
uuid = "59287772-0a20-5a39-b81b-1366585eb4c0" | |
version = "0.4.2" | |
[[Future]] | |
deps = ["Random"] | |
uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820" | |
[[HTTP]] | |
deps = ["Base64", "Dates", "IniFile", "Logging", "MbedTLS", "NetworkOptions", "Sockets", "URIs"] | |
git-tree-sha1 = "44e3b40da000eab4ccb1aecdc4801c040026aeb5" | |
uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3" | |
version = "0.9.13" | |
[[IniFile]] | |
deps = ["Test"] | |
git-tree-sha1 = "098e4d2c533924c921f9f9847274f2ad89e018b8" | |
uuid = "83e8ac13-25f8-5344-8a64-a9f2b223428f" | |
version = "0.5.0" | |
[[InteractiveUtils]] | |
deps = ["Markdown"] | |
uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" | |
[[InvertedIndices]] | |
deps = ["Test"] | |
git-tree-sha1 = "15732c475062348b0165684ffe28e85ea8396afc" | |
uuid = "41ab1584-1d38-5bbf-9106-f11c6c58b48f" | |
version = "1.0.0" | |
[[IteratorInterfaceExtensions]] | |
git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856" | |
uuid = "82899510-4779-5014-852e-03e436cf321d" | |
version = "1.0.0" | |
[[JSON]] | |
deps = ["Dates", "Mmap", "Parsers", "Unicode"] | |
git-tree-sha1 = "8076680b162ada2a031f707ac7b4953e30667a37" | |
uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" | |
version = "0.21.2" | |
[[JSON3]] | |
deps = ["Dates", "Mmap", "Parsers", "StructTypes", "UUIDs"] | |
git-tree-sha1 = "b3e5984da3c6c95bcf6931760387ff2e64f508f3" | |
uuid = "0f8b85d8-7281-11e9-16c2-39a750bddbf1" | |
version = "1.9.1" | |
[[JSONTables]] | |
deps = ["JSON3", "StructTypes", "Tables"] | |
git-tree-sha1 = "459afa5a26abed5065a954bdd937b75a41c6dff9" | |
uuid = "b9914132-a727-11e9-1322-f18e41205b0b" | |
version = "1.0.1" | |
[[LibCURL]] | |
deps = ["LibCURL_jll", "MozillaCACerts_jll"] | |
uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" | |
[[LibCURL_jll]] | |
deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] | |
uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" | |
[[LibGit2]] | |
deps = ["Base64", "NetworkOptions", "Printf", "SHA"] | |
uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" | |
[[LibSSH2_jll]] | |
deps = ["Artifacts", "Libdl", "MbedTLS_jll"] | |
uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" | |
[[Libdl]] | |
uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" | |
[[LinearAlgebra]] | |
deps = ["Libdl"] | |
uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" | |
[[Logging]] | |
uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" | |
[[MacroTools]] | |
deps = ["Markdown", "Random"] | |
git-tree-sha1 = "0fb723cd8c45858c22169b2e42269e53271a6df7" | |
uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" | |
version = "0.5.7" | |
[[Markdown]] | |
deps = ["Base64"] | |
uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" | |
[[MbedTLS]] | |
deps = ["Dates", "MbedTLS_jll", "Random", "Sockets"] | |
git-tree-sha1 = "1c38e51c3d08ef2278062ebceade0e46cefc96fe" | |
uuid = "739be429-bea8-5141-9913-cc70e7f3736d" | |
version = "1.0.3" | |
[[MbedTLS_jll]] | |
deps = ["Artifacts", "Libdl"] | |
uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" | |
[[Missings]] | |
deps = ["DataAPI"] | |
git-tree-sha1 = "2ca267b08821e86c5ef4376cffed98a46c2cb205" | |
uuid = "e1d29d7a-bbdc-5cf2-9ac0-f12de2c33e28" | |
version = "1.0.1" | |
[[Mmap]] | |
uuid = "a63ad114-7e13-5084-954f-fe012c677804" | |
[[MozillaCACerts_jll]] | |
uuid = "14a3606d-f60d-562e-9121-12d972cd8159" | |
[[NetworkOptions]] | |
uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" | |
[[OrderedCollections]] | |
git-tree-sha1 = "85f8e6578bf1f9ee0d11e7bb1b1456435479d47c" | |
uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" | |
version = "1.4.1" | |
[[Parsers]] | |
deps = ["Dates"] | |
git-tree-sha1 = "438d35d2d95ae2c5e8780b330592b6de8494e779" | |
uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" | |
version = "2.0.3" | |
[[Pkg]] | |
deps = ["Artifacts", "Dates", "Downloads", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] | |
uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" | |
[[PlutoUI]] | |
deps = ["Base64", "Dates", "InteractiveUtils", "JSON", "Logging", "Markdown", "Random", "Reexport", "Suppressor"] | |
git-tree-sha1 = "44e225d5837e2a2345e69a1d1e01ac2443ff9fcb" | |
uuid = "7f904dfe-b85e-4ff6-b463-dae2292396a8" | |
version = "0.7.9" | |
[[PooledArrays]] | |
deps = ["DataAPI", "Future"] | |
git-tree-sha1 = "cde4ce9d6f33219465b55162811d8de8139c0414" | |
uuid = "2dfb63ee-cc39-5dd5-95bd-886bf059d720" | |
version = "1.2.1" | |
[[PrettyTables]] | |
deps = ["Crayons", "Formatting", "Markdown", "Reexport", "Tables"] | |
git-tree-sha1 = "0d1245a357cc61c8cd61934c07447aa569ff22e6" | |
uuid = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d" | |
version = "1.1.0" | |
[[Printf]] | |
deps = ["Unicode"] | |
uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" | |
[[REPL]] | |
deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] | |
uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" | |
[[Random]] | |
deps = ["Serialization"] | |
uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" | |
[[Reexport]] | |
git-tree-sha1 = "45e428421666073eab6f2da5c9d310d99bb12f9b" | |
uuid = "189a3867-3050-52da-a836-e630ba90ab69" | |
version = "1.2.2" | |
[[SHA]] | |
uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" | |
[[Serialization]] | |
uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" | |
[[SharedArrays]] | |
deps = ["Distributed", "Mmap", "Random", "Serialization"] | |
uuid = "1a1011a3-84de-559e-8e89-a11a2f7dc383" | |
[[Sockets]] | |
uuid = "6462fe0b-24de-5631-8697-dd941f90decc" | |
[[SortingAlgorithms]] | |
deps = ["DataStructures"] | |
git-tree-sha1 = "b3363d7460f7d098ca0912c69b082f75625d7508" | |
uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c" | |
version = "1.0.1" | |
[[SparseArrays]] | |
deps = ["LinearAlgebra", "Random"] | |
uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" | |
[[Statistics]] | |
deps = ["LinearAlgebra", "SparseArrays"] | |
uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" | |
[[StructTypes]] | |
deps = ["Dates", "UUIDs"] | |
git-tree-sha1 = "8445bf99a36d703a09c601f9a57e2f83000ef2ae" | |
uuid = "856f2bd8-1eba-4b0a-8007-ebc267875bd4" | |
version = "1.7.3" | |
[[Suppressor]] | |
git-tree-sha1 = "a819d77f31f83e5792a76081eee1ea6342ab8787" | |
uuid = "fd094767-a336-5f1f-9728-57cf17d0bbfb" | |
version = "0.2.0" | |
[[TOML]] | |
deps = ["Dates"] | |
uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" | |
[[TableTraits]] | |
deps = ["IteratorInterfaceExtensions"] | |
git-tree-sha1 = "c06b2f539df1c6efa794486abfb6ed2022561a39" | |
uuid = "3783bdb8-4a98-5b6b-af9a-565f29a5fe9c" | |
version = "1.0.1" | |
[[Tables]] | |
deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "LinearAlgebra", "TableTraits", "Test"] | |
git-tree-sha1 = "d0c690d37c73aeb5ca063056283fde5585a41710" | |
uuid = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" | |
version = "1.5.0" | |
[[Tar]] | |
deps = ["ArgTools", "SHA"] | |
uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" | |
[[Test]] | |
deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] | |
uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" | |
[[URIs]] | |
git-tree-sha1 = "97bbe755a53fe859669cd907f2d96aee8d2c1355" | |
uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4" | |
version = "1.3.0" | |
[[UUIDs]] | |
deps = ["Random", "SHA"] | |
uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" | |
[[Unicode]] | |
uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" | |
[[Zlib_jll]] | |
deps = ["Libdl"] | |
uuid = "83775a58-1f1d-513f-b197-d71354ab007a" | |
[[nghttp2_jll]] | |
deps = ["Artifacts", "Libdl"] | |
uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" | |
[[p7zip_jll]] | |
deps = ["Artifacts", "Libdl"] | |
uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" | |
""" | |
# ╔═╡ Cell order: | |
# ╟─37726bdf-50c4-4ad1-b858-e4298a708f08 | |
# ╟─b7aa38fc-0c22-4876-8574-f0b72829244d | |
# ╟─3f087190-a632-404a-b061-75be682ef4d6 | |
# ╟─ea8b928c-aee9-42db-840f-841e59cb1388 | |
# ╟─6a9abad6-822f-40e3-9494-313f1da15f23 | |
# ╟─32b5e4f5-355f-41bc-8647-03f69499b3e0 | |
# ╟─6d62878e-7fe7-416c-a6f3-6702b6dfbb03 | |
# ╟─6fafa9ef-9fc1-4485-9edf-3fe8f95cda81 | |
# ╟─9d9603bf-341c-4c71-be4e-d3f424f2e28a | |
# ╟─c8d2d7d9-01e3-4a8b-9352-cad44906ed29 | |
# ╟─e19a1ed2-8f32-431f-867c-c960bed7f8e3 | |
# ╟─db6931cb-aee2-46c7-bebf-1cdc1fed18f6 | |
# ╟─9cee4771-97ce-4118-94b0-29df1564d45b | |
# ╟─094cc9b7-8d9e-44ba-a497-7dd13b4f3599 | |
# ╟─4c443efc-f3ea-48ad-aa7e-34167a76bf92 | |
# ╠═b7f2a139-7706-49d4-b5ef-bfa4a499c2c2 | |
# ╠═b1b77234-2fd3-46f9-ad6b-d1c517e93b65 | |
# ╟─72240e26-19b2-461e-a6e7-a0fa39d0df80 | |
# ╠═bb598a27-c5ff-4665-a4d3-ef5ca370f903 | |
# ╠═5b435007-8fea-4aa9-84d5-df44d5943d7c | |
# ╟─00000000-0000-0000-0000-000000000001 | |
# ╟─00000000-0000-0000-0000-000000000002 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment