b5n / django-eveonline-buyback

MIT License
0 stars 0 forks source link

Copying from contract window does not work correctly #4

Closed porowns closed 4 years ago

porowns commented 4 years ago

Data from contract window

Ancient Coordinates Database    530 Sleeper Components  Commodity   
Neural Network Analyzer 912 Sleeper Components  Commodity   
Sleeper Data Library    910 Sleeper Components  Commodity   
Sleeper Drone AI Nexus  370 Sleeper Components  Commodity   

Seems to be treating it as general buyback

b5n commented 4 years ago

Yes, right now we only expect a 'itemname quantity' or 'quantity itemname' (any amount of whitespace separating or padding), since this has additional text it's not being recognized as one of the defined blue loot types.

For the sorter this: Ancient Coordinates Database 530 Sleeper Components Commodity

Looks like this: Ancient Coordinates Database Sleeper Components Commodity

So it's not being mapped to: Ancient Coordinates Database

Where did this input come from? It might take me some time to determine how to parse so many different formats - is it feasible to add requirements for input format?

With this example: Ancient Coordinates Database 530 Sleeper Components Commodity

It's gonna be tricky to determine which is the itemname without storing all possible item names and comparing each delimited string against it - or the inverse of storing and comparing to labels such as 'Commodity' and ignoring them.

b5n commented 4 years ago

I'll add that if this format only applies to blue loot, all of which contain 'Sleeper Components' and 'Commodity' it's a simple fix to remove those from input.

My concern is other formats as they pertain to general items as we would have to store and look up each item to extract it from the input string - or if we knew all the possible labels applied to general items we could probably just remove them from each input string if they are also unique enough to differentiate from item names.

One other note, the format provided in this issue does not work with evepraisal either. However, as stated above, if this only pertains to blue loot - concerns surrounding general items are a non issue.

b5n commented 4 years ago

It looks like I was wrong in my previous comment, the contract format does work with evepraisal - I think github stripped tabs, so copying and pasting from github did not work.

Gonna communicate with the reporter directly regarding requirements and possible solutions, and will communicate any relevant details in this issue thread.

b5n commented 4 years ago

Fix moved into development branch: https://github.com/b5n/django-eveonline-buyback/tree/development.