Beispiel #1
0
 def GET(self):
     i = web.input(q='',
                   page=1,
                   limit=100,
                   subject='',
                   work_id='',
                   _type='',
                   sorts='')
     sorts = i.sorts.split(',')
     page = int(i.page)
     limit = int(i.limit)
     url = lending.compose_ia_url(query=i.q,
                                  limit=limit,
                                  page=page,
                                  subject=i.subject,
                                  work_id=i.work_id,
                                  _type=i._type,
                                  sorts=sorts)
     works = lending.get_available(url=url) if url else []
     result = {
         'query': url,
         'works': [work.dict() for work in works],
     }
     return delegate.RawText(json.dumps(result),
                             content_type="application/json")
Beispiel #2
0
 def GET(self):
     i = web.input(q=None,
                   page=1,
                   limit=100,
                   subject=None,
                   work_id=None,
                   _type=None,
                   sorts=None)
     url = lending.compose_ia_url(query=i.q,
                                  limit=i.limit,
                                  page=i.page,
                                  subject=i.subject,
                                  work_id=i.work_id,
                                  _type=i._type,
                                  sorts=i.sorts)
     result = {
         'query':
         url,
         'works': [
             work.dict() for work in lending.add_availability(
                 lending.get_available(url=url))
         ]
     }
     return delegate.RawText(simplejson.dumps(result),
                             content_type="application/json")
Beispiel #3
0
def get_ia_carousel_books(query=None,
                          subject=None,
                          work_id=None,
                          sorts=None,
                          _type=None,
                          limit=None):
    if 'env' not in web.ctx:
        delegate.fakeload()

    elif query in CAROUSELS_PRESETS:
        query = CAROUSELS_PRESETS[query]

    limit = limit or lending.DEFAULT_IA_RESULTS
    books = lending.get_available(
        limit=limit,
        subject=subject,
        work_id=work_id,
        _type=_type,
        sorts=sorts,
        query=query,
    )
    formatted_books = [
        format_book_data(book) for book in books if book != 'error'
    ]
    return formatted_books
Beispiel #4
0
def get_ia_carousel_books(query=None, subject=None, work_id=None, sorts=None,
                          _type=None, limit=None):
    if 'env' not in web.ctx:
        delegate.fakeload()

    elif query in CAROUSELS_PRESETS:
        query = CAROUSELS_PRESETS[query]

    limit = limit or lending.DEFAULT_IA_RESULTS
    books = lending.get_available(limit=limit, subject=subject, work_id=work_id,
                                  _type=_type, sorts=sorts, query=query)
    formatted_books = [format_book_data(book) for book in books if book != 'error']
    return formatted_books
Beispiel #5
0
 def GET(self):
     i = web.input(q='', page=1, limit=100, subject='',
                   work_id='', _type='', sorts='')
     sorts = i.sorts.split(',')
     page = int(i.page)
     limit = int(i.limit)
     url = lending.compose_ia_url(
         query=i.q, limit=limit, page=page, subject=i.subject,
         work_id=i.work_id, _type=i._type, sorts=sorts)
     result = {
         'query': url,
         'works': [
             work.dict() for work in lending.add_availability(
                 lending.get_available(url=url)
             )
         ]
     }
     return delegate.RawText(
         simplejson.dumps(result),
         content_type="application/json")