#322 let price providers support MA

Feature
closed
nobody
None
1
2014-05-17
2014-03-20
kannerke
No

In order to make it easier to add price providers: let them do the work:

add an option to add a download url of price providers, to download a (defined) xml file(s) with card prices (as defined in previous feature 318).

This way, when someone wants to support MagicAssistant, all they have to do, is to offer xml files on a certain location. No special parser or treatment will be needed in that case.

On startup, MagicAssistant can check if the xml file at the Price Provider side has been changed, and ask to update the file if so.

Discussion

  • All price providers have their own variation of sets names and they don't use gatherer id.
    Even if I define set/name as key of a card, I won't be able to match it because set name would be different then in gatherer. Plus I don't think they will support another format just for my app, especially because I cannot do direct sales

     
  • kannerke
    kannerke
    2014-03-20

    I just finished adding the price list to my server: http://kannerke.dyndns.org/mtgserver/get_pricelist (for now only prices for Theros and Born of the Gods)

    Big store's probably won't add this to their site, but I had more some sort of collectioner's cloud in my mind: people can make links to other collectors for both prices and card lists (missing and spare).

    When adding some extra features to MA, people could quickly see which collector has interesting cards available without being dependant of others sites and without the need to import their collection or wanted cards (again).

    Via simple web servers, people could exchange their rates and card lists.

     
  • Collection is slightly different. There are actually two prices columns in MA - db price - price of cards for sale on internet - it is related to database entry - not to a specific card. And there is user price column - it is intended to record actual price for which card was bought and it is stored with card instance in collection. Yes I can extend price provider mechanism to specify url in that xml in prices/ and format and MA can load prices from that url. If you want to have some sort of read-only cloud base collection sharing - that is a different story (feature) - which would be relatively easy to implement too

     
  • kannerke
    kannerke
    2014-03-21

    a read-only cloud based approach doesn't seem necessary to me. I think being able to look at the prices offline will be more wanted.

    When supporting muliple xml files, the location specified should point to a index page/file, listing all the xml files. (or an archive (e.g. zip, containing all xml files; this might be easier)

     

  • Anonymous
    2014-03-21

    Why multiple? I only support one per provider, it is slower to read multiple files, I am not sure what is the benefit.

     
  • changes are in 1.3.1.2

    Custom price provider

    You can define you own price provider and MA can load prices from it, as long as these prices in the format this software understands. To do that you create a file, i.e My_Provider.xml which looks like this below and put it in WORKSPACE/magiccards/MagicDB/prices folder

    <cards>
    <property name="currency" value="USD"/>
    <property name="url" value="http://mysite.com/mypricelist.xml"/>
    <list>
    <mc>
    <id>243482</id>
    <dbprice>0.09</dbprice>
    </mc>
    </list>
    <cards>

    That defines new provider called "My_Provider" and sets the price of a card with gatherer id 243482 to 9 cents in USD (US Dollars) currency. You can have multiple mc records there. URL can be specified if prices are published online in exact same format as this file, in this case when user selects update prices, it will re-load the file from this url, and store back to this xml file locally.

     


Anonymous


Cancel   Add attachments