alexander-pick / MKMTool

MKMTool ist a helper application I wrote for tinkering around with optimization of sale processes on magiccardmarket.eu and the idea of automisation of some tasks most people wouldn’t be able to get done by pure manpower.
GNU Affero General Public License v3.0
65 stars 15 forks source link

Bad #10

Closed papagelos closed 5 years ago

papagelos commented 5 years ago

Under "check for cheap deals" menu

"Check Now" (default settings) returns thousands of errors of ERR Msg : The remote server returned an error: (404) Not Found. ERR URL : https://api.cardmarket.com/ws/v2.0/users//articles?start=0&maxResults=1000

"Check selected list" returns exception error.

System.NullReferenceException: Object reference not set to an instance of an object. at MKMTool.CheckWantsView.checkListButton_Click(Object sender, EventArgs e) in D:\Torrents\MKMTool-master\MKMTool\CheckWantsView.cs:line 158 at System.Windows.Forms.Control.OnClick(EventArgs e) at System.Windows.Forms.Button.OnClick(EventArgs e) at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ButtonBase.WndProc(Message& m) at System.Windows.Forms.Button.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

tomasjanak commented 5 years ago

Hi, the problem for the first one is that it is trying to get all articles for a specific seller, but the name of the seller is not specified (that's why there is nothing between "/users/" and "/articles" in the URL). However, on default settings the "check from a specified user" should be disabled, there is a check box for it - is it really on by default? If so, that is a mistake, I'll fix in the evening. Also, there should be a line with "break;" after line 256 in CheckWantsView.cs so that it does not loop indefinitely once an error like this (non-existing seller) is found, i'll fix that too, but you can easily do it yourself in the meantime.

The second one is a bug I apparently introduced with the last update, the "article["language"]["idLanguage"].InnerText" on line 158 in CheckWantsView.cs should be just "article["idLanguage"].InnerText", i.e. delete the ["language"]. Don't know why I did that, probably some copy-pasting gone wrong, sorry. In any case, I have a suspicion it actually never worked correctly for checking all languages that are specified in the want list, I'll look into that as well when I am at all the fixing.

papagelos commented 5 years ago

"check from a specified user" is disabled by default, it still produces this result with empty // username.

I tried inputing a username, and the result was that it checked cards in the start but then again an infinite error-loop of "Object reference not set to an instance of an object"

tomasjanak commented 5 years ago

OK, i've made the fixes and uploaded them (either wait for Alexander to approve it or get it from my fork (https://github.com/tomasjanak/MKMTool). I'm not sure why you are getting the error if an existing username is specified, but in any case it will now not go infinite and just stops after the first encountered error.

The wantlist check now seems to work, at least from testing it on my short wantlists. Apart from the bug I introduced there has actually been an update from MKM to the API that needed to be accounted for, so even if I didn't screw up, it would be crashing anyway for different reason, so I have an excuse :)

papagelos commented 5 years ago

The Wantlist Check does indeed work.

The "check now" button does no longer produce infinite errors. The problem however is that it produces nothing else either. When I press the button, nothing happens, at all, except that it always highlights the "minumum condition" input. But whatever I choose in that list, when I press "check now" button, it goes back to highlighting the condition.

tomasjanak commented 5 years ago

yes, I have the same issue, there seems to be some issue with the local database, it never find anything no matter which set I choose, I thought that's just on my side...not sure what is wrong there.

tomasjanak commented 5 years ago

This bug has been fixed in version 0.7, so I will close this now.