#!/usr/bin/env python # vim:encoding=utf-8: import cgitb cgitb.enable() import sys import os import cgi import cgiutil import isbntool import ltapi import naver import aladdin import zinfo import yaz import account import useragent useragent.install() def isbn_form(): cgiutil.print_header('ISBN 검색', 'style.css') print '
' print '' print '데모 버전 보기' print '
' cgiutil.print_footer() def return_link(): print ''
print '검색으로 돌아갑니다.
'
print '
'
print_info('ISBN', isbn, 'isbn')
if not isbntool.validate(isbn):
print '올바른 ISBN이 아닙니다.
'
print '
'
print_progress('LibraryThing에 등록되어 있는지 확인합니다')
if ltapi.thingISBN(isbn):
url = ltapi.link_isbn(isbn)
print '이미 있습니다.
' % (url,)
print '
' print_progress('네이버에서 책 정보를 검색합니다') api = naver.NaverOpenAPI(account.naverkey) book = api.book(isbn) if book: title = cgiutil.encode(book.title()) publication = cgiutil.encode(book.publication()) print_info('제목', title, 'title') print_info('출판사', publication, 'publication') date = book.date() hidden_input('date', date) print '
' else: print '없습니다.'
print_progress('책 표지를 검색합니다')
cover = None
naver_cover = book.cover()
if naver_cover:
print '네이버'
print '' % (naver_cover,)
cover = naver_cover
aladdin_cover = aladdin.cover(isbn)
if aladdin_cover:
print '알라딘'
print '
' % (aladdin_cover,)
cover = aladdin_cover
print '
'
if cover:
hidden_input('cover', cover)
print '
'
print_progress('원서명으로 LibraryThing을 검색합니다')
url = ltapi.link_title(original_title)
if url:
print '%s' % (url, original_title),
author_url = ltapi.link_author(author)
print 'by %s.
' % (author_url, author)
hidden_input('workid', ltapi.get_lastpart(url))
hidden_input('authorid', ltapi.get_lastpart(author_url))
print '
' print '' print '
' def z3950_query(server, isbn): name, zurl, charset, dir = server print ''
print_progress(name + '에서 원서명과 원저자명을 검색합니다')
api = yaz.YAZ(zurl, charset, dir)
book = api.get(isbn)
if not book:
print '없습니다.
'
print '
'
print_progress('LibraryThing에 로그인합니다')
api = ltapi.signup(account.username, account.password)
if not api:
print '실패했습니다.
'
print '