import os
os.environ['DJANGO_SETTINGS_MODULE']='web.settings'
from web.library.models import *
from django.db.models import Q
from util import *

def search_book_cmd(search_strings, search_description=False):
	books = search_book(search_strings, search_description)
	format = '%13s %10s %-40s %15s'
	for book in books:
		b_id = book.getid() or ''
		title = cut_str(book.title, 40)
		# TODO author
		author = ''
		print format % (book.isbn, b_id, title, author)

def search_book(search_strings, search_description=False):
	basic_query = Book.objects
	for word in search_strings:
		basic_query=basic_query.filter(Q(title__icontains=word) | 
		                               Q(subtitle__icontains=word) |
					       Q(id__id__icontains=word) |
					       Q(person__person__first_name__icontains=word) |
					       Q(person__person__last_name__icontains=word))
	return remove_duplicates(basic_query.all())

def remove_duplicates(list):
	d = {}
	for i in list:
		d[i]=None
	return d.keys()