Secrets of Strixhaven
released on April 24, 2026!

Order now on CardKingdom Order now on TcgPlayer

Secrets of Strixhaven
released on April 24, 2026!

Order now on CardKingdom Order now on TcgPlayer
4 total results       Page 1 of 1
You must login or register to post a new reply
Posts [ 1 to 4 ]
Trade score 0 (100%)
Members
Registered: 25-Nov-2010 05:57
Copy&pasting with a browser catches a lot of "[You have 4 cards in this set, but only 3 in your Inventory and Wishlist.]"
and related garbage, so I wrote a script to export a deck from deckbox. Paste URL, get deckbox to stdout.

I hope it will be of some use to others. By the way some function to export deck in simple text-based format would be pretty neat.

#!/usr/bin/env ruby

require "rubygems"
require "hpricot"

def extract_card(tr)
count = (tr/".card_count")
return nil if count.empty?
[count.text.to_i, (tr/".card_name a").text]
end

def extract(url)
body = `curl -s "#{url}"`
doc = Hpricot(body)
main = doc/".main.deck/tr"
side = doc/".sideboard.deck/tr"
main = main.map{|tr| extract_card(tr)}.compact
side = side.map{|tr| extract_card(tr)}.compact
[main, side]
end

url = ARGV[0]

main, side = extract(url)

puts "Mainboard (#{main.map{|cnt,name| cnt}.inject(&:+)}):"
puts main.map{|cnt, name| "#{cnt}x #{name}"}

unless side.empty?
puts "\nSideboard (#{side.map{|cnt,name| cnt}.inject(&:+)}):"
puts side.map{|cnt, name| "#{cnt}x #{name}"}
end[/0][/main, side][/count.text.to_i, (tr/".card_name a").text][/You have 4 cards in this set, but only 3 in your Inventory and Wishlist.]
Trade score 1 (100%)
Members
Registered: 28-Aug-2009 07:38
You could also copy/paste from the page generated for printing the deck...
Trade score 0 (100%)
Members
Registered: 25-Nov-2010 05:57
Trade score 0 (100%)
Members
Registered: 26-Dec-2010 16:00
Trickster wrote:You could also copy/paste from the page generated for printing the deck...

There's not even a need for that, you can just save it as a .txt file.
Posts [ 1 to 4 ]
4 total results       Page 1 of 1
You must login or register to post a new reply