brickoptimizer - optimize the price of Bricklinks Wanted List
C
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gitattributes
.gitignore
COPYING
Makefile
Makefile.linux
README
brickoptimizer.c
cacert.pem
form_generator.c
form_generator.h
insert.c
mask.c
mask.h
optimizer.c
optimizer.h
parser.c
parser.h
wanted_list.c
wanted_list.h

README

brickoptimizer
==============

1. DESCRIPTION
2. INSTRUCTIONS
3. COPYRIGHT



1. DESCRIPTION
==============

brickoptimizer - optimize the price of Bricklink Wanted Lists


This piece of software is intended to be used by the Lego™ aficionados.

It uses Bricklink (http://www.bricklink.com) Wanted Lists to generate forms so you can buy bricks in the
least number of stores as possible paying the least price you can get.

Libraries needed to run Brickoptimizer:
libtidy (http://tidy.sourceforge.net)
libcurl (http://curl.haxx.se/libcurl/c)
libcurl is necessary to retrieve Bricklink web pages whilst libtidy is responsible for parsing HTML pages.

The idea is based on Brickficiency (https://code.google.com/p/brickficiency) which intends to do the same
thing (and it do it perfectly) but somehow didn't work on my 64 bits computer because the binary produced
from Perl language has some restrictions.

Feel free to ask, change, complain, curse or improve. I'd be glad to hear from you.



2. INSTRUCTIONS
===============

usage: brickoptimizer <username> <password> <wanted list name> <session_id>

- <username>: Bricklink.com username
- <password>: Bricklink.com password
- <wanted list name>: Name of the Wanted List with items you want to buy
- <session_id>: A session ID number of your browser session with Bricklink. It can be obtained by viewing
				the source from any store buying form. The "b=" part of the <FORM METHOD="POST"...> is the
				session ID you need.

Brickoptimizer will login to your Bricklink account to gather information on the provided Wanted List name.
It will print URLs of the stores with the best prices for your items and create HTML forms to add the items
to your cart.

These forms will only work correctly if you provide a valid session ID. A session ID is obtained each time
you login to Bricklink.com. The connection from Brickoptimizer will have a different session ID from your
browser session ID.

The HTML forms will add the items to the cart of the session provided. If you provide the session ID of your
browser, it will be easy to verify that the items were added to your cart.

To obtain the session ID of your browser, follow the steps below:
- Open http://www.bricklink.com/ on the web browser of your choice;
- Login to your account;
- Open any store Add to Cart form (any page from any store where you select the number of items to add);
- Open the source code of this web page;
- Search for the line "<FORM METHOD="POST" ACTION="storeDetail.asp?"
- The session ID will be the number (may be negative) after the "b="

If you do not provide a valid session ID, the form will still be created, but the items will not show on the
cart of your web browser. You can still change the session ID of the forms aftwards by editing the HTML
files created by Brickoptimizer.



3. COPYRIGHT
============

Brickoptimizer is distributed under the GNU GPLv3 License and may be distributed provided the following
disclaimer remains unchanged:

   Copyright (C) 2013  Gustavo Miranda Teixeira (gustavo@ice.ufjf.br)
   
   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 3 of the License, or
   (at your option) any later version provided this disclaimer remains
   unchanged.
   
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.
   
   You should have received a copy of the GNU General Public License
   along with this program; If not, see <http://www.gnu.org/licenses/>.

   
TidyLib uses a MIT-like license. This license allows you to do almost anything with the code, except to
represent your changes as coming from the W3C.
Source: http://tidy.cvs.sourceforge.net/tidy/tidy/include/tidy.h?view=markup
TidyLib binary was obtained from: http://www.paehl.com/open_source/?HTML_Tidy_for_Windows

libcurl is true Open Source/Free Software and meet all definitions as such. It means that you are free to
modify and redistribute all contents of the curl distributed archives. You may also freely use libcurl in
your commercial projects.]
Source: http://curl.haxx.se/docs/copyright.html