Esempio n. 1
0
def render_element_index(database_column, linked_table, folder):
    shift = 0
    off = int(request.args.get("offset") or 0)
    entries = calibre_db.session.query(
        func.upper(func.substr(database_column, 1, 1)).label('id'), None, None)
    # query = calibre_db.generate_linked_query(config.config_read_column, db.Books)
    if linked_table is not None:
        entries = entries.join(linked_table).join(db.Books)
    entries = entries.filter(calibre_db.common_filters()).group_by(
        func.upper(func.substr(database_column, 1, 1))).all()
    elements = []
    if off == 0:
        elements.append({'id': "00", 'name': _("All")})
        shift = 1
    for entry in entries[off + shift -
                         1:int(off + int(config.config_books_per_page) -
                               shift)]:
        elements.append({'id': entry.id, 'name': entry.id})
    pagination = Pagination(
        (int(off) / (int(config.config_books_per_page)) + 1),
        config.config_books_per_page,
        len(entries) + 1)
    return render_xml_template('feed.xml',
                               letterelements=elements,
                               folder=folder,
                               pagination=pagination)
Esempio n. 2
0
def get_open_tasks():

    try:
        page = int(request.args.get("page",1))
    except ValueError:
        page = 1

    with db.session_scope() as sess:

        per_page = 10

        task_count = sess.query(db.OpenTask)\
                .filter(db.OpenTask.solved == False).count()
        open_tasks = sess.query(db.OpenTask)\
            .order_by(db.OpenTask.datetime.asc(), func.substr(db.OpenTask.id, 0, func.length(db.OpenTask.id) - 2))\
            .filter(db.OpenTask.solved == False)\
            .offset((page-1) * per_page).limit(per_page)\
            .all()

        pagination = Pagination(page=page, 
                total=task_count,
                search=False,
                per_page=per_page,
                bs_version=3)

        return render_template("task_list.html", 
                tasks = open_tasks, 
                pagination = pagination)
Esempio n. 3
0
def feed_seriesindex():
    shift = 0
    off = int(request.args.get("offset") or 0)
    entries = calibre_db.session.query(func.upper(func.substr(db.Series.sort, 1, 1)).label('id'))\
        .join(db.books_series_link).join(db.Books).filter(calibre_db.common_filters())\
        .group_by(func.upper(func.substr(db.Series.sort, 1, 1))).all()
    elements = []
    if off == 0:
        elements.append({'id': "00", 'name':_("All")})
        shift = 1
    for entry in entries[
                 off + shift - 1:
                 int(off + int(config.config_books_per_page) - shift)]:
        elements.append({'id': entry.id, 'name': entry.id})
    pagination = Pagination((int(off) / (int(config.config_books_per_page)) + 1), config.config_books_per_page,
                            len(entries) + 1)
    return render_xml_template('feed.xml',
                               letterelements=elements,
                               folder='opds.feed_letter_series',
                               pagination=pagination)
Esempio n. 4
0
 def language(self):
     return func.substr(self.expr, 1, 2)
Esempio n. 5
0
 def territory(self):
     return func.substr(self.expr, 4, 2)
Esempio n. 6
0
 def language(self):
     return func.substr(self.expr, 1, 2)
Esempio n. 7
0
 def territory(self):
     return func.substr(self.expr, 4, 2)