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([])
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 })
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})