summaryrefslogtreecommitdiff
path: root/src/mailman/rest/webservice.py
Commit message (Collapse)AuthorAgeFilesLines
* Remove more files that are unnecessary.Barry Warsaw2010-02-251-54/+0
|
* Refactor both the mailing lists and membership REST wrappers.Barry Warsaw2010-02-251-210/+0
|
* Refactor domains into a separate file.Barry Warsaw2010-02-251-81/+0
|
* More refactoring:Barry Warsaw2010-02-251-50/+0
| | | | | | | * Rework the [webservice] section to be more useful to restish. * Get rid of the resource_type_link * Add and test some helpers. * Move the root resources to a different module.
* Refactoring the REST support by removing unnecessary stuff and moving otherBarry Warsaw2010-02-251-83/+3
| | | | | | stuff around. We no longer need APIValueError or IResolvePathNames. Also, refactor the creation of the REST server so that it could be used with other WSGI frameworks.
* Complete the conversion to restish. All the tests pass and we're now actuallyBarry Warsaw2010-02-241-21/+158
| | | | | | RESTful. We have to use httplib2 to get DELETE and PUT. This is a prototype and could still use much cleanup.
* * Make the lists.txt doctest pass with restish.Barry Warsaw2010-02-231-4/+98
| | | | | * Put the domain name on the BadDomainSpecificationError * Give the IListManager an __iter__()
* Rip out lazr.restful and replace it with restish. This simpifies a lot of theBarry Warsaw2010-02-231-56/+169
| | | | | REST architecture, at the expense of a few features, and less support. So far so good though.
* Add a lot of comments about lazr.restful 0.9.18.Barry Warsaw2010-02-161-17/+18
|
* Oh FFS. lazr.restful 0.9.18 totally broke our shit by introducingBarry Warsaw2010-02-161-30/+52
| | | | | | | | | | | | | | multiversioned web services. In concept, that's a great idea, but in (current as of 0.9.18) practice it sucks because it /forces/ us to adopt multiversions when really I could care less. After gobs of painful experimentation, this passes all the tests. I guess that means it's right <wink>. Another, more reasonable fix is to re-order when logging is initialized. This is moved to the start of initialize_2() because in the test environment, we don't want to initialize the loggers until after the test configuration has been pushed. Otherwise, because of the changes to support the FHS, logging will go to the wrong place. This really only affects tests, since in operational mode, initialize always happens immediately one after another.
* Happy New Year.Barry Warsaw2010-01-011-1/+1
|
* Add REST API for subscription services.Barry Warsaw2009-12-271-0/+2
|
* * Make IDomainManager a utility, since the config object is global.Barry Warsaw2009-12-081-1/+1
| | | | | | | | * Give IMailingList a .domain attribute which looks up the IDomain for its .host_name. This cleans up a lot of code. * Add a test for the 'confirm' email command. * Suppress blank lines in email command responses. * Make the IDomainCollection a utility.
* Instead of using an adapter, use a utility to get the mailing list manager.Barry Warsaw2009-08-261-1/+2
|
* Test updates and repair.xoBarry Warsaw2009-08-211-1/+2
|
* We don't need the AadminWebServiceRequest any more.Barry Warsaw2009-08-171-8/+2
|
* Minor fixes.Barry Warsaw2009-08-061-1/+0
|
* Get rid of the Traverse class by checking for None returned from ob.get().Barry Warsaw2009-08-061-0/+1
|
* Expose 'transaction' as an alias for config.db in the doctest globs. ThisBarry Warsaw2009-07-211-1/+1
| | | | | | | | means commit() is now transaction.commit() in doctests. Add tests of extended domain creation, which exposes the need to unlock the database (via transaction.abort()) so that the foreground test process doesn't lock the background REST server process.
* Wow. Put domains into the database.Barry Warsaw2009-07-161-4/+5
| | | | | | | | Add an IDomainManager and a global domain manager which can be gotten by adapting the global config object. Add an IDomainCollection interface for exposing the domain manager onto the API.
* Clean a few more lints.Barry Warsaw2009-07-101-0/+3
| | | | | | | | | | | | | | Add get_mailing_lists() which is used just for the web interface. Because of a bug in lazr.restful, this cannot be a generator. Similar change in IDomainSet. Instrument IListManager to be vended through the api. The REST server must be run in a separate process since SQLite does not like objects created in one thread to be used in another thread. Note that this breaks the domain.txt test, but domains really need to be in the database anyway.
* More REST server updates.Barry Warsaw2009-06-291-4/+2
| | | | | | | * Get rid of in-Python adapter registration in favor of ZCML. Eventually, I'd like to get rid of the ZCML. * Set the view_permission to None, but it's still not right. * Add IDomainSet and an adapter from Configuration to IDomainSet.
* Add initialization pre- and post- hooks, configurable in the config file.Barry Warsaw2009-05-151-7/+0
| | | | | | | | | | | This lets you run a bit of Python at various stages of the initialization process. Move the warnings filters to the top mailman package __init__.py so you always get it. lazr.restful is too chatty. The environment variable $MAILMAN_CONFIG_FILE now overrides -C. Hmm, I think we really want it the original way.
* Several RESTful updates.Barry Warsaw2009-05-061-0/+7
| | | | | | * Fix a typo in the runner * Add support for 404 Not Found exceptions * Suppress sha module deprecation warnings from lazr.restful
* /sys -> /systemBarry Warsaw2009-05-041-1/+1
|
* A working test of the REST server. http://localhost:8001/3.0/sys returnsBarry Warsaw2009-05-041-6/+22
| | | | useful information. It's GET only atm.
* The very basics of a working REST server. Only works for localhost:8001/sysBarry Warsaw2009-05-031-8/+12
|
* Moving closer now.Barry Warsaw2009-05-021-0/+88
* Use the source version of lazr.restful until it's cheeseshopped. * IHasGet -> IResolvePathNames * path_override -> None; we don't need this * Simplify publication. We don't need anything fancy, except that what sucks is that it seems like we need to unwrap the security proxy in callObject() * Adaptation to IAbsoluteURL still doesn't work right.