jqPlayground - An Interactive JSON Processor
By TheXmanCreate / Test / Learn JSON Processing
jqPlayground is an interactive, AutoIt, jq-based, playground for creating and testing JSON filters/queries for processing JSON datasets. It uses the jq UDF for all JSON processing. The dot and bracket notation access in jq is similar to other existing AutoIt JSON parsing UDFs and tools. Therefore, jqPlayground can be used as a general purpose testing & learning tool, regardless of the ultimate UDF or utility you choose to use. jqPlayground comes with numerous examples to help you see and understand how it can be used for simple parsing and much more advanced JSON processing. You can modify and play with the example filters or you can create and test your own.
The only requirement needed to run jqPlayground is that it can find a jq executable. jq executables can be downloaded on the jq Home Page, the jq Downloads page, or as a part of my jq UDF in the AutoIt Downloads section.
jqPlayground will look for the jq executable in the following order of precedence:
If a jqPlayground.ini file exists in the script directory, it will get the path to the jq executable under to following section and key:
JqExePath=<full path to jq exe>
jq-win32.exe or jq-win64.exe in the script directory.
jq.exe in the script directory.
The interface is pretty simple and straight forward. Paste or write whatever JSON you want to play with in the INPUT section. Write whatever parsing or processing filter(s) you want to test in the FILTER section. If necessary, you can select or enter any jq-specific flags you want. Then, either press the RUN button or Ctrl+Enter to execute your filter. You will see the output in the OUTPUT section. If you command was not successful, you will see the error message generated by jq.
There are also numerous examples that can be selected from EXAMPLES dropdown list. Upon selecting an example, it populates the filter, flags, and input as necessary. It then executes the example, showing the output in the OUTPUT section. The examples use one of 2 JSON datasets. BOOKS is a small, simple, JSON dataset that contains a catalog of book information. The NFL JSON dataset is much larger and complex. It is a snapshot of NFL game information during week 1 of the 2018 regular season. Some of the NFL JSON dataset examples really show off the speed and processing capabilities of jq.
If you want to dump the full path of every scalar JSON value in your JSON dataset, you can type "dump" in the FILTER section and press Ctrl+Enter or the RUN button. The output is the same as the jqDump() function in the jq UDF. "Dump" is not a jq filter command. It is a special command that I added to help those new to JSON understand how to access a given JSON value using dot-notation.
Lastly, in the bottom right area of the window, you can see the time it took to execute the filter. Because jqPlayground uses the jq UDF for all of its processing, the times you see are the times you can expect when using the jq UDF in your scripts.
jq Home Page: https://stedolan.github.io/jq
jq Manual: https://stedolan.github.io/jq/manual/
jq Downloads: https://stedolan.github.io/jq/download/
jq Tutorial: https://stedolan.github.io/jq/tutorial/
jq Wiki: https://github.com/stedolan/jq/wiki
Control Viewer (mod.)
By argumentumThis is @Yashied's most excellent control viewer, modified by me, based on the code @boomingranny posted.
There are 2 forum entries, one shows active and the other depreciated, and not seen @Yashied since March 2016, so I feel is OK to post this, tho, i'd take it down upon request.
PS: Do run as Admin if available, as it may not do what you need without the rights.
By argumentum..a more flexible way to handle a
This UDF, declared as the first ( or close to the top ) in a script, will catch the dreaded "AutoIt Error" MsgBox and prettify it, or just plain hide it. Is optional.
Also add an EventLog Entry ( or not, is optional ).
Add an entry in a log file ( or not, is optional ).
Run another program to do something about the mishap ( or not, is optional ).
There is an example of usage in the ZIP along with an example of the other program that handles the aftermath.
By argumentumIn the ZIP is the code and the compiled script.
This is yet another ping the LAN utility.
Is quite fast, as gathering the info. is forked.
The Save Note, saves a note for the given MAC ( you may find it handy )
The Save MACs, saves the listview to an INI file that can be later use for the WakeOnLAN
Right click will bring a context menu to do stuff. DClick will refresh the Ping.
That's it. Comes in handy to have in the USB toolbox
By argumentumgenerates a function that returns all results as an array from the WMI query.
2015.11.28 added a StatusBar. ( was not easy to resize in win10 ) fixed COM handler in generated code 2015.06.11 added a "nice" COM error handler ( in Autoit v3.2 if there is a COM error it'll tell you and no more run, in v3.3 it will let it slide but you don't realize there was one. So I put together a COM error handler that will gather all the errors and show'em to you in an array displayed by _ArrayDisplay. It includes the line number and the line of code it self. nice. ) added the Scite lexer. ( There are code generated that is over 6000 lines long and that is a bit too much for the edit control, so, I decided that since is gonna run in a PC that most likely is to have ScITE, using the DLL just makes sense. Everything that is needed is taken from your installation, colors, fonts, etc. In case that ScITE is not there, then, the edit control would be used. ) 2015.06.08 changed the CIMv2 button to switch between CIMv2 and WMI. ( is a more practical use of the button ) added some support for remote connections. ( executes remotely based in the classes discovered in local PC ) added Save to Disk for the filter by right-click the button. ( is anoying having to set it every time ) fix CPU usage was higher than needed in the main loop. ( ..less abuse on the PC ) added the position in the array to the "select properties". ( when an error pops up, the position is there, making it easier to find it in the listview ) 2015.05.25 fixed "Send to ScITE" ( wasn't working well ) added the ability to remove fields/properties from the generated arrays 2015.05.16 fixed the combobox not working everywhere. added setting to, in addition to Dynamic Classes, to include Abstract Classes. added a filter ( easyer to look for what you need ). 2015.05.15 added custom default setting for display array limit. added custom GoogleIt search ( @SelectedClass is the macro word ). added cache for the Class too ( since is much faster and there is no need to discover every time it runs ). change cache from an entry in the ini to a file of its own and created a subfolder for them when in portable mode ( cleaner that way ). changed the function generation to not have to pass an integer. changed function names when longer than 60 characters ( Au3Check don't like infinitely long names ). changed how F5 works. Now F5 runs and ESC stops. changed code generation from "$Output = $Output &" to $sReturn &=". added \root\namespace:class to the title bar. added a class description above the list of methods ( it just makes sense ). change the default spacing of Array_Join() ( to better identify it was joined ). added a watcher for "Autoit error", to move it to the current screen ( ANSI version ). fixed "Send To ScITE" incomplete send ( it was too much at once ). added to "Send To ScITE" the option to send to a new tab or cursor position. added to the ini, Editor='@ScriptDir & "\..\..\SciTE\SciTE.exe"' , to use in a portable setup, it will normally use ShellExecute(,,,"Edit") added the settings of the editor to the settings GUI. added a button to move the settings and cache from @AppDataDir to @ScriptDir ( to carry your settings and cache as portable ) and back again, if so you want to. added a ScITE "installer", to add this app. to the tools menu. 2015.05.12 fixed the way it returns a value when it, is an array. changed the Google it string ( added "example" ). added for all Properties and Methods with a ValueMap, functions to return value ( descriptions ). added cache of namespaces to the ini file ( it was annoyingly slow ). added full help. ( well, a list of all class, property and method Qualifiers ), to be found at the end of the code. 2015.05.11 added refresh after closing the settings GUI to make the changes reflect in the code already in the editbox 2015.05.10 added preferred monitor to display _ArrayDisplay on the ANSI compile changed internal works for Topmost and Multi-monitor so the code shown in the editbox is always clean of extraneous variables to both compiles. 2015.05.09 ( ANSI compile only ) added multi-monitor support to the ANSI compiled, just in case it fails, that's why not both compiles, so no change in the source code. In any case the code it generates is the same. 2015.05.08 added option to Edit after save file ( why else would you save it ) added save path of saved file to ini, when ini file exists. added Send to ScITE ( easier than copy and paste ) changed the default TAB width to 4 ( looks better in ScITE ) 2015.05.07 added keyboard shortcuts Ctrl-F11 to change font size Ctrl-T to change tab sizes the others are the underscore letter with Ctrl instead of Alt key ( but those should work with Alt. by default too ) added settings saving. default is @AppDataDir & '\ScriptOMaticForAutoIt3\ScriptOMatic.ini' but if one is found in @ScriptDir & '\ScriptOMatic.ini' that is the one to be used. changed in the ANSI version to a more useful _ArrayDisplay version. added cleanup on exit. added tab adjustment. added font choosing. added font background color choosing. added User or Admin mode info. to the title bar. added option to set the string inside the cell (<td 'your string'>) for the user to change the default color and style changed the debug info. to ToolTip, to be better aware of running status. changed the way it writes TEXT and HTML to be so every 100 records. added the ability to open the files from failed or prior runs by double-clicking the radio button. changed file creation naming format to better identify them. 2015.05.06 Better readability for HTML and Text outputs. Left the state of the source code ready for the current version. Added a v22.214.171.124 compiled version ( better behavior under Win 8.1 and 10 ) and renamed the ANSI version. 2015.05.05 Fix a logic that would say fail when it was a limited listing of Namespaces, it now tells that the listing is limited. 2015.05.04 Added announcement of Admin. rights ( user might not know ) rethought the "_Array2D_toHtml.au3" to be an #include ( as it should have been ) reworked the Namespace combobox loading went from MsgBox and ToolTip to TrayTip and TrayIconDebug ( less intrusive ) www search now "Google it" ( MSDN change the links format ) Fixed the compiled _ArrayDisplay from displaying off center 2015.05.03 Added an array rotator ( at times I'd rather see it rotated ) Added an array to html ( to see the array on the browser ), that also can be rotated ( it uses the array rotator ) 2015.05.02 Enable Ctrl-A, C, V, X, Z to use the keyboard Prettified the output a bit more and corrected some typos. 2015.05.01 And added press F5 like in ScITE, ( my finger just goes there ) to the Run button. Also a "STOP" to the run ( at times I mess up and need to ProcessClose ) And set $MB_TOPMOST to the MsgBox ( so I don't loose them from sight ) And made the output of the array to be a function ( easier to use in a script ) And prettified the GUI a bit, not much. ==== EoF ====In the zip is the source code for the current version and an AutoIt v126.96.36.199 ANSI compiled file that should run on any Windows version.
- (and 1 more)
Magic Number Calculator
By TheDcoderPlease refer to the main thread
Autoit SysInfo Clock
By UEZis a small tool in widget style to show the clock, current cpu usage, cpu speed,
memory usage and network activity (tcp, ip and udp). Additionally you can use it as an alarm clock (to stop
alarm clock tone press the left LED (mail) or wait 60 seconds).
The current cpu usage code is beta and might be not working for some CPU models! Autoit SysInfo Clock should
work with all operating systems beginning from Windows XP.
This project is discontinued!
- system info
- (and 6 more)
By JonThis is the AutoIt's version of Microsoft Scriptomatic tool by SvenP.
If you don't know what Scriptomatic is, see:
This version is written in AutoIt script AND it produces an AutoIt script !
- AutoIt version 188.8.131.52 (or higher)
- Some knowledge about WMI