Использование isbntools с web2py

Я использую web2py для создания страницы, где я ищу книги по названию / автору / ключевому слову / и т.д. и ISBN, и я не могу понять, как использовать isbntools в веб-приложении. Я уверен, что это что-то простое, что я упускаю, но это первое веб-приложение, которое я когда-либо создавал, и оно предназначено для классного проекта. Это связанная часть моего контроллера:

from isbntools import *

def index():
    form=SQLFORM.factory(
     Field('title',label='Try entering a title:'),
     Field('author',label='Or an author:'),
     Field('ISBN',label='Even better if you have the ISBN'),
     Field('fromDate',label='When is the earliest the book might have come out?'),
     Field('toDate',label='...and the latest?'))
    if form.process().accepted:
        titledata = isbn_goom form.vars.title bibtex
        authordata = isbn_goom form.vars.author bibtex
        isbndata = isbn_meta merge form.vars.ISBN bibtex
        print(titledata)
        print(authordata)
        print(isbndata)
    return dict(form=form)

Это часть информации о билете, которую я получаю:

Ошибка билета для Bibbly ID билета

96.255.27.81.2014-05-01.21-50-27.f66e0b53-b5bd-4621-8dbd-b6f30e8a6af1 неверный синтаксис (default.py, строка 21) Версия web2py™ Версия 2.8.2-stable+timestamp.2013.11.28.13.54.07 Python Python 2.7.5+: /usr/local/bin/uwsgi (префикс: /usr)

строка 21 titledata = isbn_goom "form.vars.title" bibtex ^ SyntaxError: неверный синтаксис

2 ответа

Решение

isbm_goom скрипт командной строки Это то, что вы хотите?! (Вы не можете использовать его в своем коде, как это!)

Я предлагаю вам использовать самую последнюю версию isbntools и адаптировать этот фрагмент

from isbntools.contrib.modules.goom import goom
from isbntools.dev.fmt import fmtbib

...

titledata = goom.query(form.vars.title)
for r in titledata:
    print((fmtbib('bibtex', r)))

Поскольку python жалуется на синтаксическую ошибку, это означает, что речь идет о буквальном коде, который вы написали. Интерпретатор Python не может понять, что вы имеете в виду, потому что вы указали что-то "невозможное" в языке. В данном случае речь идет о пробеле после isbn_goom а также form.vars.title, Поскольку я не знаю и не вижу никаких заявлений относительно isbn_goom я предполагаю, что это из isbntools библиотека. Чтобы попробовать библиотеку, лучше всего узнать об этом в отдельном сеансе консоли на вашем собственном компьютере. Смотрите страницу Pypi для некоторых примеров.

Об устранении синтаксических ошибок: Вы можете попробовать отредактировать код в любом приличном редакторе кода, и он даст вам подсказки об ошибках такого рода. По умолчанию будет проста редактор Python, который поставляется с любой установкой по умолчанию.

Другие вопросы по тегам