Skip to main content

API for storing and retrieving Atom entries.

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for atomstorage, version 0.1.2.1
Filename, size File type Python version Upload date Hashes
Filename, size atomstorage-0.1.2.1-py2.4.egg (8.3 kB) File type Egg Python version 2.4 Upload date Hashes View
Filename, size atomstorage-0.1.2.1.tar.gz (5.2 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page