Beispiel #1
0
def list_archives():
    year_list = {}
    for entry in list(Entry.select()):
        year = entry.post_on.strftime('%Y')
        year_list[year] = year
    if year_list:
        return json.dumps(year_list)
    else:
        return json.dumps([])
Beispiel #2
0
def list_archives():
    year_list = {}
    for entry in list(Entry.select()):
        year = entry.post_on.strftime('%Y')
        year_list[year] = year
    if year_list:
        return json.dumps(year_list)
    else: 
        return json.dumps([])
Beispiel #3
0
def list_entries(entry_id=None, day=None, month=None, year=None, slug=None):
    entries = None
    start_date = None
    end_date = None
    if entry_id:
        entries = Entry.select(
            AND(Entry.q.id == entry_id, Entry.q.deleted == False,
                Entry.q.draft == False))
    elif year and not month and not day:
        start_date = datetime.strptime(year, '%Y')
        end_date = start_date + timedelta(days=365)
    elif year and month and not day:
        start_date = datetime.strptime('%s-%s' % (year, month), '%Y-%m')
        end_date = start_date + timedelta(days=31)
    elif day and month and year:
        time_string = "%s-%s-%s" % (year, month, day)
        start_date = datetime.strptime(time_string, DATE_FORMAT)
        end_date = start_date + timedelta(days=1)

    if not entries:
        if slug:
            entries = Entry.select(
                AND(
                    Entry.q.draft == False, Entry.q.slug == slug,
                    Entry.q.deleted == False,
                    AND(Entry.q.post_on > start_date,
                        Entry.q.post_on < end_date)))
        elif start_date:
            entries = Entry.select(
                AND(
                    Entry.q.draft == False, Entry.q.deleted == False,
                    AND(Entry.q.post_on > start_date,
                        Entry.q.post_on < end_date))).orderBy("-post_on")
        else:
            entries = Entry.select(
                AND(Entry.q.draft == False,
                    Entry.q.deleted == False)).orderBy("-post_on")

    comment_form = EntryCommentForm()
    return render_template('list_entries.html',
                           data={
                               'entries': entries,
                               'cform': comment_form
                           })
Beispiel #4
0
def list_entries(entry_id=None, day=None, month=None, year=None, slug=None):
    entries = None
    start_date = None
    end_date = None
    if entry_id:
        entries = Entry.select(AND(Entry.q.id == entry_id,
                                   Entry.q.deleted == False,
                                   Entry.q.draft == False))
    elif year and not month and not day:
        start_date = datetime.strptime(year, '%Y')
        end_date = start_date + timedelta(days=365)
    elif year and month and not day:
        start_date = datetime.strptime('%s-%s' % (year, month), '%Y-%m')
        end_date = start_date + timedelta(days=31)
    elif day and month and year:
        time_string = "%s-%s-%s" % (year, month, day)
        start_date = datetime.strptime(time_string, DATE_FORMAT)
        end_date = start_date + timedelta(days=1)
    
    if not entries:
        if slug:
            entries = Entry.select(AND(Entry.q.draft == False,
                                        Entry.q.slug == slug,
                                        Entry.q.deleted == False,
                                        AND(Entry.q.post_on > start_date,
                                            Entry.q.post_on < end_date)))
        elif start_date:
            entries = Entry.select(AND(Entry.q.draft == False,
                                       Entry.q.deleted == False,
                                       AND(Entry.q.post_on > start_date,
                                           Entry.q.post_on < end_date))
                                   ).orderBy("-post_on")
        else:
            entries = Entry.select(AND(Entry.q.draft == False,
                                       Entry.q.deleted == False)
                                   ).orderBy("-post_on")

    comment_form = EntryCommentForm()
    return render_template('list_entries.html', data={'entries': entries,
                                                      'cform': comment_form})