#!/usr/bin/perl
##
# File : get_modo_artids.pl
# Date : 12/Nov/2017
# Author : spjspj
# Purpose : Get the artid for each face art of each card from modo (mtgo)
# this then goes into some form of image such as:
# http://mtgoclientdepot.onlinegaming.wizards.com/Graphics/Cards/Pics/161922_typ_reg_sty_050.jpg
# "" /00100_typ_reg_sty_001.jpg
# "" /01440_typ_reg_sty_010.jpg
# "" /102392_typ_reg_sty_010.jpg
# "" /400603_typ_reg_sty_050.jpg
# This program expects that you've copied the relevant .xml files from an installation of mtgo
# into the current working directory for this perl script:
# For example: CARDNAME_STRING.xml, client_BNG.xml,
# Also, it expects to be running on windows
##
use strict;
use LWP::Simple;
use POSIX qw(strftime);
# From xmage code - fix from MODO to XMAGE type set codes
my %fix_set_codes;
$fix_set_codes {"2U"} = "2ED";
$fix_set_codes {"3E"} = "3ED";
$fix_set_codes {"4E"} = "4ED";
$fix_set_codes {"5E"} = "5ED";
$fix_set_codes {"6E"} = "6ED";
$fix_set_codes {"7E"} = "7ED";
$fix_set_codes {"AL"} = "ALL";
$fix_set_codes {"AP"} = "APC";
$fix_set_codes {"AN"} = "ARN";
$fix_set_codes {"AQ"} = "ATQ";
$fix_set_codes {"CM1"} = "CMA";
$fix_set_codes {"DD3_DVD"} = "DD3DVD";
$fix_set_codes {"DD3_EVG"} = "DD3EVG";
$fix_set_codes {"DD3_GLV"} = "DD3GLV";
$fix_set_codes {"DD3_JVC"} = "DD3JVC";
$fix_set_codes {"DK"} = "DRK";
$fix_set_codes {"EX"} = "EXO";
$fix_set_codes {"FE"} = "FEM";
$fix_set_codes {"HM"} = "HML";
$fix_set_codes {"IA"} = "ICE";
$fix_set_codes {"IN"} = "INV";
$fix_set_codes {"1E"} = "LEA";
$fix_set_codes {"2E"} = "LEB";
$fix_set_codes {"LE"} = "LEG";
$fix_set_codes {"MI"} = "MIR";
$fix_set_codes {"MM"} = "MMQ";
$fix_set_codes {"MPS_KLD"} = "MPS";
$fix_set_codes {"NE"} = "NEM";
$fix_set_codes {"NE"} = "NMS";
$fix_set_codes {"OD"} = "ODY";
$fix_set_codes {"PR"} = "PCY";
$fix_set_codes {"PS"} = "PLS";
$fix_set_codes {"P2"} = "PO2";
$fix_set_codes {"PO"} = "POR";
$fix_set_codes {"PK"} = "PTK";
$fix_set_codes {"ST"} = "STH";
$fix_set_codes {"TE"} = "TMP";
$fix_set_codes {"CG"} = "UDS";
$fix_set_codes {"UD"} = "UDS";
$fix_set_codes {"GU"} = "ULG";
$fix_set_codes {"UZ"} = "USG";
$fix_set_codes {"VI"} = "VIS";
$fix_set_codes {"WL"} = "WTH";
# Main
{
my $card = $ARGV [0];
# Example: Abandoned Sarcophagus
my $vals = `find /I "CARDNAME" *CARDNAME*STR*`;
my %ids;
my %set_names;
my $count = 0;
while ($vals =~ s/^.*CARDNAME_STRING_ITEM id='(.*?)'>(.*?)<\/CARDNAME_STRING.*\n//im)
{
$ids {$1} = $2;
$count++;
}
print ("Finished reading $count names\n");
#$vals = `find /I "<" *lient*`;
$vals = `findstr /I "CARDNAME_STRING DIGITALOBJECT ARTID CLONE FRAMESTYLE " *lient* | find /I /V "_DO.xml"`;
my $current_artid = "";
my $current_clone_id = "";
my $current_doc_id = "";
my $current_line = "";
my $current_name = "";
my $current_set = "";
my $num_set = 1;
my %docid_to_clone;
while ($vals =~ s/^(.*)\n//im)
{
my $line = $1;
$line =~ m/^client_(.*)?\.xml/;
$current_set = $1;
# *** IN
# *** IN
#
# *** IN
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
if ($line =~ m/