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