skip to navigation
skip to content

atomstorage 0.1.2.1

API for storing and retrieving Atom entries.

Downloads ↓

This module defines a simple API for storing and retrieving Atom entries in different storage backends. Entries are defined using a JSON-like syntax:

>>> import datetime
>>> entry = {'id'     : 'http://example.com/1',
...          'title'  : 'My first entry',
...          'updated': datetime.datetime.utcnow(),
...         }

The module comes with a shelve backend:

>>> from atomstorage import EntryManager
>>> em = EntryManager('shelve://file.db')
>>> em.create_entry(entry)
{'updated': datetime.datetime(2006, 8, 15, 16, 27, 7, 960677),
 'id': 'http://example.com/1',
 'title': 'My first entry'}

New backends can be easily added by creating a module and setting an atomstorage.backend entry point. A SQLite backend is currently being developed.

The API defines a few methods the entry manager should have. To retrieve all entries, sorted by time (last to first):

>>> entries = em.get_entries()

The last 10 entries:

>>> entries = em.get_entries(10)

Retrieve the entry with id "1":

>>> entry = em.get_entry("1")

Delete the same entry:

>>> em.delete_entry("1")

Get all entries from August 2006:

>>> entries = em.get_entries_by_date(2006, 8)

Or from the "tech" category:

>>> entries = em.get_entries_by_category("tech")

To search for entries mentioning "Python":

>>> entries = em.search("Python")

The API is by no means final. Comments, suggestions, patches and critics are welcome.

 
File Type Py Version Uploaded on Size # downloads
atomstorage-0.1.2.1-py2.4.egg (md5) Python Egg 2.4 2006-09-25 8KB 1551
atomstorage-0.1.2.1.tar.gz (md5) Source 2006-09-25 5KB 824