These forums have been archived and are now read-only.

The new forums are live and can be found at https://forums.eveonline.com/

EVE Technology Lab

 
  • Topic is locked indefinitely.
 

API checker - Simple tool to do background checks. (No longer simple!)

Author
ItsmeHcK1
Immortalis Inc.
Shadow Cartel
#81 - 2013-01-25 20:21:10 UTC
ItsmeHcK1
Immortalis Inc.
Shadow Cartel
#82 - 2013-01-26 21:15:17 UTC
Aaaaand done!
Added standing importing, killboard crawling and more.
Note that killboard crawling doesn't actually work. The EvE-Kill API is kind of b0rked on that front. Until they fix it, it will just return the last few mails they want us to see, regardless of what I do. (problems listed here)
So for now, setting the months value higher than 1 does not do anything. (except prolong the process)
I strongly suggest setting it to 1 for now.

Download here.
Akira Menoko
Silnare
#83 - 2013-01-28 07:26:24 UTC
I gave the new version a quick try but the program crashes after I start trying to run an API check, even when setting the crawl back feature to 1 month.

When I try the standings import feature with either a corp or character API, I get an unhandled exception error and nothing gets imported.

Let me know what type of information you need to help figure it out.

ItsmeHcK1
Immortalis Inc.
Shadow Cartel
#84 - 2013-01-28 16:41:08 UTC  |  Edited by: ItsmeHcK1
Akira Menoko wrote:
I gave the new version a quick try but the program crashes after I start trying to run an API check, even when setting the crawl back feature to 1 month.

How and when does it crash exactly?
If it's a full-on crash, it should give you an error message, can you tell me which one?

Akira Menoko wrote:
When I try the standings import feature with either a corp or character API, I get an unhandled exception error and nothing gets imported.

I didn't actually add support for corporation keys... Should probably look into that. P
Same thing here; can you tell me which exception?
If you click on 'Show report' or something like that (damn my Dutch Windows) you should be able to find the error report. (You can just send me the whole thing if that's easier.)
Akira Menoko
Silnare
#85 - 2013-01-28 17:08:09 UTC
When trying to do the API check there is no exception error text. All that happens is windows reports that "API Checker v2 has stopped working" with the option to close the program. After doing some checking, this only happens when entering the "parsing social life" stage of the API check when Contacts is selected in the Scan Settings tab. If contacts is unselected everything works fine.

When trying to do the standings import the exception error I get is:
Quote:

************** Exception Text **************
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.FormatException: Input string was not in a correct format.
at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
at System.Int32.Parse(String s, IFormatProvider provider)
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
at System.RuntimeMethodHandle.InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams)
at EVE.Net.APIReader.ParsePrimitive(Object parent, PropertyInfo property, XPathNodeIterator xml)
at EVE.Net.APIReader.ParseRowset(Object parent, PropertyInfo property, XPathNodeIterator xml)
at EVE.Net.APIReader.ParseXml(Object parent, PropertyInfo property, XPathNodeIterator xml)
at EVE.Net.APIReader.ParseObject(Object api_obj, XPathNodeIterator xml)
at EVE.Net.APIReader.Query(String uri, Object api_obj, String fmt, Object[] args)
at EVE.Net.Character.ContactList.Query()
at APIchecker.ProjectOverview.importStanding_OnAccept(Object sender, EventArgs e)
at APIchecker.StandingImport.PopUpBox_OnAccept(Object sender, EventArgs e)
at APIchecker.PopUpBox.pictureAccept_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


I've tried it both in Windows 7 and Windows 8. The older version, 2.10, still works fine.

It's a shame the walk back feature won't work. I know the Eve API has the weakness of giving only the last 25, but I was hoping pulling information from Eve-Kill would compensate for that. Maybe that will change once your problems with their API is fixed.
ItsmeHcK1
Immortalis Inc.
Shadow Cartel
#86 - 2013-01-28 19:35:46 UTC
Did you copy the new Eve.Net DLL to your working folder? (I changed it for this release, that might be the thing.)

As for the general crash, when it says the program has stopped working, it should give a bit of a timer where it's searching for a solution. When you finish that, you should have the option to view an error log.
Akira Menoko
Silnare
#87 - 2013-01-28 20:18:28 UTC
I deleted the working folder and extracted from the version 2.20 download, so everything is the most current.

The general crash doesn't give me the option to view an error report, so I had to dig in the windows logs to find something. There were three event logs, 2 errors and one information. They are listed in the order they occured:

Quote:

Event ID: 1026
Application: API checker v2.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Reflection.TargetInvocationException
Stack:
at EVE.Net.APIReader.Query(System.String, System.Object, System.String, System.Object[])
at EVE.Net.Character.ContactList.Query()
at APIchecker.CharacterInformation.Fetch(System.Object)
at System.Threading.ThreadHelper.ThreadStart_Context(System.Object)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
at System.Threading.ThreadHelper.ThreadStart(System.Object)


Quote:

Event ID: 1000
Faulting application name: API checker v2.exe, version: 2.2.0.1, time stamp: 0x510445cd
Faulting module name: KERNELBASE.dll, version: 6.1.7601.18015, time stamp: 0x50b83c8a
Exception code: 0xe0434352
Fault offset: 0x0000c41f
Faulting process id: 0x13f8
Faulting application start time: 0x01cdfd92c06396ce
Faulting application path: F:\Games\EVE\Apps\APIcheckerv220\API checker v2.exe
Faulting module path: C:\Windows\syswow64\KERNELBASE.dll
Report Id: 0c6fbbd2-6986-11e2-99f1-001b2135eeb0


Quote:

Event ID: 1001
Fault bucket 3458737304, type 5
Event Name: CLR20r3
Response: Not available
Cab Id: 0

Problem signature:
P1: api checker v2.exe
P2: 2.2.4774.39854
P3: 510445cd
P4: mscorlib
P5: 4.0.0.0
P6: 50484bd7
P7: e4c
P8: 5a
P9: System.FormatException
P10:

Attached files:
C:\Users\username\AppData\Local\Temp\WER6442.tmp.WERInternalMetadata.xml

These files may be available here:
C:\Users\username\AppData\Local\Microsoft\Windows\WER\ReportArchive\AppCrash_api checker v2.e_707cc50313db9432371ce3f6b98b277dc54ebf3_05208baf

Analysis symbol:
Rechecking for solution: 0
Report Id: 0c6fbbd2-6986-11e2-99f1-001b2135eeb0
Report Status: 0
ItsmeHcK1
Immortalis Inc.
Shadow Cartel
#88 - 2013-01-28 21:20:00 UTC  |  Edited by: ItsmeHcK1
Mkay, let's look into that.
ItsmeHcK1
Immortalis Inc.
Shadow Cartel
#89 - 2013-01-29 09:36:27 UTC
Fixed the number conversion error that Akira reported, new version available here.
Kosmoto Gothwen
Frenemy Logicians
#90 - 2013-01-29 14:28:14 UTC
I'm giving the tool a shot because I'm curious. But unfortunately it crashed for me with the latest version.

Here's what I did to get the error:
Open new project > Entered an API with access mask 8921408 (all the public info) didn't parse hardly anything so tried another with access mask 5964281 (more realistic as to what info I care about when looking at a character) > In the project overview dialog box i clicked the check box of the first api and then it crashed.

I opened VS debugger and this is the error: System.NullReferenceException {"Object reference not set to an instance of an object."} Doesn't mean much to me since I do web programming, but hopefully you can reproduce and debug :)
ItsmeHcK1
Immortalis Inc.
Shadow Cartel
#91 - 2013-01-29 19:46:07 UTC  |  Edited by: ItsmeHcK1
Sadly, I can't reproduce it. :(
The access mask doesn't really matter programmatically, it just shows you less information if it doesn't have access.

Does it fail every time, or was it a one time thing? Are you working from an existing project, creating a new one or using quickstart?

Also, fixed some more bugs. Update here.
Akira Menoko
Silnare
#92 - 2013-01-30 02:37:28 UTC
I think this is a fantastic piece of software and I hope you keep on improving it.
Kosmoto Gothwen
Frenemy Logicians
#93 - 2013-01-30 22:15:14 UTC
ItsmeHcK1 wrote:
Sadly, I can't reproduce it. :(
The access mask doesn't really matter programmatically, it just shows you less information if it doesn't have access.

Does it fail every time, or was it a one time thing? Are you working from an existing project, creating a new one or using quickstart?

Also, fixed some more bugs. Update here.



I was doing it on a new unsaved project. May have just been a fluke, trying it out again now. Will let you know how things go....
Kosmoto Gothwen
Frenemy Logicians
#94 - 2013-01-30 22:47:14 UTC
First let me say I like where your going with this.

However I'm finding it quite difficult to test with the current caching mechanics, can you add a temp option to disable cache so I can force it to pull API data.

It hasn't crashed for me with the latest download but I did find one minor thing right off the bat, 1) While in the project dialog box, if I re-size the dialog box the content container (tabular portion) doesn't re-size with the window.

I do really like the direction you are taking with this tool. I look forward to seeing it extended to include other chunks of the api. It also is giving me ideas for expanding on my smf recruiting tool.
Meritsa
Caldari Provisions
Caldari State
#95 - 2013-01-31 22:20:09 UTC
Hello,

Really nice piece of handy software. Our corporation is starting recruiting people and we want to keep our recruiting automated and simple for new pilots and our recruit officers. I built up a whole system on our website for rec officers to review&pass judgement for applications and was thinking I need to build the whole big tables of data to sort all information etc... Now we can just simply use your program to get real detailed info about everything the API key can give and I didn't need to write looooong parsers haha.

Thanks again, and keep up the great work!

PS. Should I release my plugin I created from Pheal's real nice API code? I created the plugin for Wordpress, cause it's a nice CMS to start expanding on. Maybe some other corps would find use for simple drag&drop Eve API class inside wordpress...

:P

ItsmeHcK1
Immortalis Inc.
Shadow Cartel
#96 - 2013-01-31 23:00:59 UTC  |  Edited by: ItsmeHcK1
Thank you both for the kind words!

Kosmoto Gothwen wrote:
However I'm finding it quite difficult to test with the current caching mechanics, can you add a temp option to disable cache so I can force it to pull API data.

It's possible, yes, but CCP won't reply with new data until the cache timer expires anyway...
I'm curious though, what do you run into that needs a refresh over current data?

Kosmoto Gothwen wrote:
1) While in the project dialog box, if I re-size the dialog box the content container (tabular portion) doesn't re-size with the window.

Indeed, I hadn't even noticed that. Will be fixed in the next release. (That is, I've put it in, just need to build and upload again. P )


Meritsa wrote:
PS. Should I release my plugin I created from Pheal's real nice API code? I created the plugin for Wordpress, cause it's a nice CMS to start expanding on. Maybe some other corps would find use for simple drag&drop Eve API class inside wordpress...

Couldn't hurt!
I find releasing software gets you a bit of public liking as well, so there's no downside! P
Kosmoto Gothwen
Frenemy Logicians
#97 - 2013-02-01 01:06:20 UTC  |  Edited by: Kosmoto Gothwen
Quote:
Kosmoto Gothwen wrote:
However I'm finding it quite difficult to test with the current caching mechanics, can you add a temp option to disable cache so I can force it to pull API data.

ItsmeHcK1 wrote:
It's possible, yes, but CCP won't reply with new data until the cache timer expires anyway...
I'm curious though, what do you run into that needs a refresh over current data?

The reason I mention this is because I entered an API and it didn't return data, so I added a new api but I couldn't 'Run API Check' again until the cache timer expired. I realize it wouldn't pull new data but a way to clear the cache would make bug hunting against changing API's to verify data faster.

Now I was able to run it again so I was able to start testing things and see the functionality. Must say I'm really liking the data thus far.

I did notice according to your tool I have 2 suspect awox km's but I assure you I would never do that intentionally. So ... oh just thought of one that probably would return that result, it was a training excersize of some new pilots on how to get away after loosing a ship and what to expect, knowledge is power, impressive if it is that one because that would of been in maybe 2010 ... anyways, I have no idea what the 2nd one would be, adding a link to the suspected km's in the 'danger assessment' pane would be really nice. So if I was looking at someones info I could question them about the circumstances of the km.
ItsmeHcK1
Immortalis Inc.
Shadow Cartel
#98 - 2013-02-01 15:04:41 UTC
Kosmoto Gothwen wrote:
The reason I mention this is because I entered an API and it didn't return data, so I added a new api but I couldn't 'Run API Check' again until the cache timer expired. I realize it wouldn't pull new data but a way to clear the cache would make bug hunting against changing API's to verify data faster.

It doesn't actually cache that part.
Whenever an API check is started, the button is disabled to prevent the threads colliding and whatnot, but it should be enabled as soon as it's finished.
Did it never get enabled again?

Kosmoto Gothwen wrote:
I did notice according to your tool I have 2 suspect awox km's but I assure you I would never do that intentionally. So ... oh just thought of one that probably would return that result, it was a training excersize of some new pilots on how to get away after loosing a ship and what to expect, knowledge is power, impressive if it is that one because that would of been in maybe 2010 ... anyways, I have no idea what the 2nd one would be, adding a link to the suspected km's in the 'danger assessment' pane would be really nice. So if I was looking at someones info I could question them about the circumstances of the km.

It flags any blue-on-blue action as a possible awox. (Excluding mails with 0 damage and a webifier as aggressive module - webbing freighters or whatever.)
They will be highlighted in the kill list with a color of your choice. (Standard is orange.)
Finding it should be pretty easy - scroll down the list, it'll stand out. P
I agree a direct link would be nice though, I'll see about adding that in the next release.
Chancellor Martok
State War Academy
Caldari State
#99 - 2013-02-01 15:26:13 UTC
downloaded and opened using winrar. P

API checker v2.exe is not a valid Win32 application. Oops

? Question
Kosmoto Gothwen
Frenemy Logicians
#100 - 2013-02-01 15:26:59 UTC
ItsmeHcK1 wrote:
It flags any blue-on-blue action as a possible awox. (Excluding mails with 0 damage and a webifier as aggressive module - webbing freighters or whatever.)
They will be highlighted in the kill list with a color of your choice. (Standard is orange.)
Finding it should be pretty easy - scroll down the list, it'll stand out. P
I agree a direct link would be nice though, I'll see about adding that in the next release.


Oh found them, I see it flagged instances where I was the victim and flagged me as possible awox'er. Not sure if that's intended but seems to be a bug in my eyes.