mirror of
https://github.com/viq/NewsBlur.git
synced 2025-04-13 09:38:09 +00:00
45 lines
No EOL
1.9 KiB
Python
45 lines
No EOL
1.9 KiB
Python
from django.utils.dateformat import DateFormat
|
|
import datetime
|
|
from django.utils.http import urlquote
|
|
|
|
def format_story_link_date__short(date):
|
|
parsed_date, date_tuple, today_tuple, yesterday_tuple = _extract_date_tuples(date)
|
|
if date_tuple == today_tuple:
|
|
return parsed_date.format('g:ia').replace('.','')
|
|
elif date_tuple == yesterday_tuple:
|
|
return 'Yesterday, ' + parsed_date.format('g:ia').replace('.','')
|
|
else:
|
|
return parsed_date.format('d M Y, g:ia').replace('.','')
|
|
|
|
def format_story_link_date__long(date):
|
|
parsed_date, date_tuple, today_tuple, yesterday_tuple = _extract_date_tuples(date)
|
|
if date_tuple == today_tuple:
|
|
return 'Today, ' + parsed_date.format('F jS g:ia').replace('.','')
|
|
if date_tuple == yesterday_tuple:
|
|
return 'Yesterday, ' + parsed_date.format('F jS g:ia').replace('.','')
|
|
elif date_tuple[0] == today_tuple[0]:
|
|
return parsed_date.format('l, F jS g:ia').replace('.','')
|
|
else:
|
|
return parsed_date.format('l, F jS, Y g:ia').replace('.','')
|
|
|
|
def _extract_date_tuples(date):
|
|
parsed_date = DateFormat(date)
|
|
date_tuple = datetime.datetime.timetuple(date)[:3]
|
|
today_tuple = datetime.datetime.timetuple(datetime.datetime.utcnow())[:3]
|
|
today = datetime.datetime.today()
|
|
yesterday_tuple = datetime.datetime.timetuple(today - datetime.timedelta(1))[:3]
|
|
|
|
return parsed_date, date_tuple, today_tuple, yesterday_tuple
|
|
|
|
def pre_process_story(entry):
|
|
publish_date = entry.get('published_parsed', entry.get('updated_parsed'))
|
|
entry['published'] = datetime.datetime(*publish_date[:6]) if publish_date else datetime.datetime.utcnow()
|
|
|
|
entry_link = entry.get('link', '')
|
|
protocol_index = entry_link.find("://")
|
|
if protocol_index != -1:
|
|
entry['link'] = (entry_link[:protocol_index+3]
|
|
+ urlquote(entry_link[protocol_index+3:]))
|
|
else:
|
|
entry['link'] = urlquote(entry_link)
|
|
return entry |