Saturday, October 04, 2008

Scanning Your DVD, Book, Comic, ... Collection

Update: Version 0.6 released.

If you're like me, you have a lot of DVDs, books, comics, whatever ... and a few years ago, you kind of lost your grip on your collection. Whenever there is a DVD sale, you invariantly come home with a movie you already have.

After the German Linux Magazin published an article how to setup a laser scanner with Amazon, I decided to get me one and give it a try. Unfortunately, the Perl script has a few problems:

  • It's written in Perl.
  • It's written in Perl.
  • It's written in Perl.
  • There is no download link for the script without line numbers.
  • The DB setup script is missing.
  • The script uses POE.
  • It's hard to add new services.
  • Did I mention that it's written in Perl? Right.

So I wrote a new version in Python. You can find the docs how to use it in the header of each file. Additionally, I've included a file "Location codes.odt". You can edit it with OpenOffice and put the names of the places where you store your stuff in there. Before you start to scan in the EAN/UPC codes of the stuff in a new place, scan the location code and upcscan.py will make the link for you. It will also ask you for a nice name of the location when you scan a location code for the first time.

If you need more location codes, you can generate them yourself. The codes starting with "200" are for private use, so there is no risk of a collision. I'm using this Python script to generate the GIF images. Just put this at the end of the script:

if __name__=='__main__':
    import sys
    s = checksum(sys.argv[1])
    img = genbarcode(s, 1)
    img.save('EAN13-%s.gif' % s, 'GIF')
    print error

There is a primitive tool to generate a HTML page from your goods and a small tool to push your own cover images into the database if Amazon doesn't provide one.

Note: You'll need an AWS account for the script to work. The script will tell you where to get your account ID and where you need to put the ID when you start it for the first time.

Download upscan-0.1.tar.gz (54KB, MD5 Checksum)

2 comments:

Anonymous said...

nuff'respect, i love it.

Anonymous said...

Hi, have one small problem, even 0.6 doesn't recognize CDs, only checks for German or English books or DVDs but no check-up for CDs and than they are always in the list of failed requests. Do I do something wrong???

Regards Axel