This Python plugin for Gnumeric provides a way to fetch Guild Wars 2 item data from the GW2Spidy web API and store it in a specially named and formatted sheet for use in your calculations.
Just drop the spidy/
folder in your Gnumeric plugins directory1, enable it in the Gnumeric plugins interface, and there you go.
To get started using this GW2Spidy plugin with your spreadsheet, a special "Spidy sheet" must be created.
Using the "Update GW2Spidy Data" command in the "Data -> Get External Data" menu will create an empty "Spidy sheet" for you if it does not exist.
The "Spidy sheet" looks like this:
ID | Name | Buy | Sell |
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
The column headers use a special function called spidy_col(str,str)
which is called with two string arguments: display
, which is simply the text that will be displayed in the cell, and field
, which corresponds to an item data field in a GW2Spidy Item Data API response dictionary.
You must include a data_id
column.
When this plugin creates a new "Spidy sheet" for you, it will have some predefined columns you can take a look at.
Once you have your spidy_col()
columns set-up, all you have to do is input GW2Spidy item IDs2 into the data_id
column of your Spidy table, and the other information will be fetched from GW2Spidy automatically the next time you use "Update GW2Spidy Data".
- Other worksheets may not update automatically after refreshing
Whenever you update the GW2Spidy data, you will likely need to manually recalculate the workbook. This can be done by selecting "Recalculate" from the "Edit" menu, or by simply pressing
F9
.- Warning and error messages are not displayed
There is currently no way to know what is happening inside the plugin without starting Gnumeric from the command line. All errors and warnings are printed to the terminal and fail silently in the UI.
- Gnumeric UI hangs while refreshing
I'm not aware of any way to get the plugin to query data in a background thread, and all items are refreshed synchronously, so if you have a lot of items to refresh, the UI can hang for a very surprising amount of time until it's finished. I'll see if I can at least get some sort of progress dialog working at some point.