I added the ability to refresh API of characters from the main view about 6 months ago. The character is saved in the database along with the API information, making it possible to do these quick refreshes. The longer term plan was to include an option to automatically update characters at startup.
However, there are some nagging issues. For example, what happens if the API has been changed and the settings in the database no longer work? At this time, it simply fails silently.
Ideal solution: there's a handy module called InfoBar that does what browsers do and pops up a simple notification message. This would be useful not only in API failure but in other problems in pyfa (can't get price data, for example). However, this isn't available for wxPython 2.8, so unless we're willing to do a bit of work (the whole chromeTabs module is borked when using 2.9), this is not a viable option.
Another way I can think of is to make a new column dirtyAPISettings in database and, if there is a failure, mark it True. Possibly activate the Character Editor dialog with a message stating to update API settings. If dirtyAPISettings is true, disable all API activities for that character.
That's the big thing. Besides that, I would also like to handle specific failures (API server down, API errors)
I added the ability to refresh API of characters from the main view about 6 months ago. The character is saved in the database along with the API information, making it possible to do these quick refreshes. The longer term plan was to include an option to automatically update characters at startup.
However, there are some nagging issues. For example, what happens if the API has been changed and the settings in the database no longer work? At this time, it simply fails silently.
Ideal solution: there's a handy module called InfoBar that does what browsers do and pops up a simple notification message. This would be useful not only in API failure but in other problems in pyfa (can't get price data, for example). However, this isn't available for wxPython 2.8, so unless we're willing to do a bit of work (the whole chromeTabs module is borked when using 2.9), this is not a viable option.
Another way I can think of is to make a new column
dirtyAPISettings
in database and, if there is a failure, mark itTrue
. Possibly activate the Character Editor dialog with a message stating to update API settings. IfdirtyAPISettings
is true, disable all API activities for that character.That's the big thing. Besides that, I would also like to handle specific failures (API server down, API errors)