Show
Ignore:
Timestamp:
05/28/07 15:49:13 (18 months ago)
Author:
Tarek Ziad?? <tarek@…>
Message:

overall fix

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • atomisator/entries.py

    r85 r92  
    2424""" 
    2525from datetime import datetime 
     26from time import strftime 
    2627from sqlalchemy import * 
     28from sqlalchemy.exceptions import * 
    2729 
    2830_connector = None 
     31TIME_FMT = '%Y-%m-%d %H:%M:%S' 
    2932 
    3033class Entries(object): 
     
    3235    def __init__(self, sqluri): 
    3336        self._mapper = self._getEntriesMapper(sqluri) 
    34         self._mapper.create() 
     37        try: 
     38            self._mapper.create() 
     39        except SQLError: 
     40            pass # already there 
    3541 
    3642    def getConnector(self): 
     
    5056                     Column('creation_date', DateTime)) 
    5157 
    52     def insert_entry(self, url, title, content, date=datetime.now(), 
    53                      creation_date=datetime.now()): 
     58    def insert_entry(self, url, title, content, date=strftime(TIME_FMT), 
     59                     creation_date=strftime(TIME_FMT)): 
    5460        """inserts entry""" 
    5561        inserter = self._mapper.insert() 
    5662        inserter.execute(url=url, title=title, content=content, date=date, 
    5763                         creation_date=creation_date) 
     64 
     65    def insert_entries(self, entries): 
     66        """insert entries""" 
     67        for entry in entries: 
     68            if 'url' in entry: 
     69                url = entry['url'] 
     70            else: 
     71                url = entry['link'] 
     72 
     73            if 'creation_date' not in entry: 
     74                entry['creation_date'] = strftime(TIME_FMT) 
     75 
     76            content = entry['content'] 
     77 
     78            entry_date = entry['date'] 
     79            if isinstance(entry_date, basestring): 
     80                try: 
     81                    entry_date = datetime.strptime(entry_date, 
     82                                                   '%Y-%m-%dT%H:%M:%S+00:00') 
     83                    strftime(TIME_FMT, entry_date.timetuple()) 
     84                except ValueError: 
     85                    pass 
     86 
     87            self.insert_entry(url, entry['title'], content, 
     88                              entry_date, entry['creation_date']) 
     89 
    5890 
    5991    def select_entries(self, *args):