atomstorage 0.1.2.1
API for storing and retrieving Atom entries.
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 | |
- Author: Roberto De Almeida
- Home Page: http://dealmeida.net/projects/atomstorage
- License: MIT
- Package Index Owner: roberto
- DOAP record: atomstorage-0.1.2.1.xml
