Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Populating a Django DateTimeField with feedparser

I'm attempting to read my school's athletics/activities calendar, available in iCal or RSS format, into a Django Events model using feedparser.

Everything works, except the dates. Feedparser populates item.updated_parsed with a "9-tuple" but I can't figure out how to make this into something Django will accept in a DateTimeField. (I've used those before, but they've only ever been populated by datetime.datetime.now()).

Any ideas?

like image 493
jacobbaer Avatar asked Jun 09 '11 01:06

jacobbaer


2 Answers

Covert the time.struct_time object into a datetime.datetime object:

from time import mktime
from datetime import datetime
dt = datetime.fromtimestamp(mktime(item['updated_parsed']))
like image 163
zeekay Avatar answered Sep 28 '22 16:09

zeekay


Well the Django DateTime field accepts python datetime.datetime objects so you have to convert from what Feedparser is providing you, and a datetime object. That's easy enough:

from datetime import datetime
time_object = datetime(nine_tuple[:8])

EDIT: How do you convert a Python time.struct_time object into a datetime object?

like image 27
Timmy O'Mahony Avatar answered Sep 28 '22 14:09

Timmy O'Mahony