Commit Graph

184 Commits

Author SHA1 Message Date
Jason Gerard DeRose
58a3b1d091 85: Added ReadOnly._lock() method to make class easier to use; updated subclasses and unit tests 2008-08-08 21:28:56 +00:00
Jason Gerard DeRose
6dc60a18c7 84: Renamed Proxy.__public to Proxy.__public__ so it works with Abstract.implements() 2008-08-08 20:55:08 +00:00
Jason Gerard DeRose
b0976a5208 83: Added unit tests for plugable.Abstract 2008-08-08 20:39:34 +00:00
Jason Gerard DeRose
d171dc9011 82: Cleaned up unit tests for public.option; added some doodles in plugable.Base 2008-08-08 19:53:45 +00:00
Jason Gerard DeRose
8e46824815 81: Switch from tab to 4-space indentation 2008-08-08 17:11:29 +00:00
Jason Gerard DeRose
f656e31a7e 80: Cleaned up docstring for option.normalize() 2008-08-08 16:43:24 +00:00
Jason Gerard DeRose
b3fc5f9a41 79: More work on option and cmd 2008-08-08 06:18:12 +00:00
Jason Gerard DeRose
9ee10d383d 78: Renamed opt to option; started fleshing out cmd more 2008-08-08 04:47:42 +00:00
Jason Gerard DeRose
62dc9a78fd 77: A few stylistic changes 2008-08-07 23:11:02 +00:00
Jason Gerard DeRose
14a0658464 76: Fleshed out opt.validate(); added corresponding unit tests 2008-08-07 06:23:02 +00:00
Jason Gerard DeRose
8cbd8343be 75: Fixed opt.__rules_iter; added corresponding unit tests 2008-08-07 06:02:46 +00:00
Jason Gerard DeRose
2cc88a7a32 74: Finished opt.__rules_iter(); is_rule(obj) now returns False if obj is not callable; updated unit tests 2008-08-07 05:02:56 +00:00
Jason Gerard DeRose
8a6041b797 73: Started work on validation rules for opt; added corresponding unit tests 2008-08-07 04:51:21 +00:00
Jason Gerard DeRose
fadbae6420 72: Started work on public.opt class; added corresponding unit tests 2008-08-07 03:38:49 +00:00
Jason Gerard DeRose
f904cb0422 71: Proxy now uses base.__public__ instead of base.public; updated unit tests 2008-08-07 00:51:34 +00:00
Jason Gerard DeRose
778a019129 70: Plugin.__repr__ now again returns 'module_name.class_name()' form; updated unit test 2008-08-07 00:35:51 +00:00
Jason Gerard DeRose
19dbd57141 69: Made Proxy.base a private attribute; updated unit tests 2008-08-07 00:21:50 +00:00
Jason Gerard DeRose
7335af8a9e 68: Ported to changes in NameSpace, Proxy; updated unit tests 2008-08-07 00:14:38 +00:00
Jason Gerard DeRose
03bad04e7b 67: Deleted NameSpace, Proxy; renamed NameSpace2, Proxy2 to NameSpace, Proxy 2008-08-06 23:22:29 +00:00
Jason Gerard DeRose
e63453a858 66: Added NameSpace2 (bit simpler than NameSpace, better suited to Proxy2); added corresponding unit tests 2008-08-06 22:59:50 +00:00
Jason Gerard DeRose
f13f1226b4 65: Finished simplified Proxy2 class; updated unit tests 2008-08-06 21:54:56 +00:00
Jason Gerard DeRose
0c7769473c 64: Almost finish with Proxy2, where base class is passed to __init__ and methods use @export decorator; added corresponding unit tests 2008-08-06 20:38:07 +00:00
Jason Gerard DeRose
57534ca5a0 63: Started fleshing out public.cmd 2008-08-06 15:54:27 +00:00
Jason Gerard DeRose
495f96a73f 62: NameSpace no longer takes base=base kwarg 2008-08-06 15:06:39 +00:00
Jason Gerard DeRose
4e825ba2d9 61: Proxy now does a setattr for all callable attributes in __slots__ (and uses __getattr__ for rest 2008-08-06 14:59:54 +00:00
Jason Gerard DeRose
293b31ac75 60: Remeved depreciated base.py, crud.py; remeved corresponding test_base.py, test_crud.py 2008-08-06 14:30:21 +00:00
Jason Gerard DeRose
62d2cd65f2 59: Removed NameSpace.__call__ method (returned max_len) 2008-08-06 14:27:33 +00:00
Jason Gerard DeRose
2081987186 58: A bit of docstring cleanup in plugable.py 2008-08-06 14:22:38 +00:00
Jason Gerard DeRose
e618d99bc7 57: to_cli() function no longer replaces '__' with '.'; from_cli() function no longer replaces '.' with '__'; updated unit tests 2008-08-06 03:58:15 +00:00
Jason Gerard DeRose
8865f516df 56: Fixed Proxy.__call__ 2008-08-06 03:51:33 +00:00
Jason Gerard DeRose
277685439c 55: Cleaned up print_api() function in ipa script 2008-08-06 03:27:00 +00:00
Jason Gerard DeRose
c6f69e1c66 54: Added plugable.Proxy._clone() method; fleshed out public.obj; updated unit tests; port ipa script 2008-08-06 02:00:18 +00:00
Jason Gerard DeRose
f31f7813fe 53: Changed plugable.Registar so the same plugin can be added to in the ns for more than one base (for cmd and mthd) 2008-08-05 23:34:59 +00:00
Jason Gerard DeRose
159207514f 52: Got cli working against new framework 2008-08-05 22:21:57 +00:00
Jason Gerard DeRose
1fce1487f9 51: Moved old_plugins.py back to plugins.py 2008-08-05 21:28:29 +00:00
Jason Gerard DeRose
175dfc121a 50: Moved plugins.py to old_plugins.py 2008-08-05 21:14:37 +00:00
Jason Gerard DeRose
f193dcba27 49: Added public.PublicAPI class; added some basic unit tests for same 2008-08-05 21:10:49 +00:00
Jason Gerard DeRose
907107001b 48: Added public.py with base classes for 'public' api used for XML-RPC, CLI, and UI; added corresponding unit stests 2008-08-05 07:39:50 +00:00
Jason Gerard DeRose
56fa454fdd 47: Added plugable.check_identifier() function; added corresponding unit tests 2008-08-05 06:33:09 +00:00
Jason Gerard DeRose
d134b48306 46: plugable.API now takes allowed base class in __init__ and creates Registrar at API.register, thereby coupling the two; updated correspending unit tests 2008-08-05 05:12:09 +00:00
Jason Gerard DeRose
2b3c2238f6 45: Fixed docstring typo in plugable.__doc__ 2008-08-05 04:40:44 +00:00
Jason Gerard DeRose
42c53b2a53 44: Added Plugin.finalize() method called by API after all plugin instances are created; updated corresponding unit tests 2008-08-05 04:24:19 +00:00
Jason Gerard DeRose
c3bf5ad857 43: Fleshed out new plugable.API class; added corresponding unit tests 2008-08-05 03:21:52 +00:00
Jason Gerard DeRose
74f5719078 42: plugable.Plugin.__init__() now takes the plugable.API instance as its single argument 2008-08-01 21:25:46 +00:00
Jason Gerard DeRose
a0f480a414 41: New plugable.NameSpace now has attributes set for each member; updated unit tests 2008-08-01 20:58:48 +00:00
Jason Gerard DeRose
f3762a76c0 40: Rewrote dictionary interface for plugable.NameSpace to better suite new architecture 2008-08-01 20:42:35 +00:00
Jason Gerard DeRose
4fe8e52ecb 39: Added unit tests for Registrar.__iter__() 2008-08-01 07:00:08 +00:00
Jason Gerard DeRose
8881e4a543 38: dict interface of Registrar now works with both classes and strings as the key 2008-08-01 06:44:30 +00:00
Jason Gerard DeRose
5eac2ea15f 37: Renamed tstutil.yes_raises() to raises(); changed test_plugable.py to use raises() throughout 2008-08-01 06:02:29 +00:00
Jason Gerard DeRose
4ac7ad99d6 36: Added more functionality to tests.tstutil; added corresponding tests.test_tstutil unit tests 2008-08-01 05:44:11 +00:00
Jason Gerard DeRose
8a964d02b5 35: Renamed unit_common.py to tstutil.py 2008-08-01 03:15:50 +00:00
Jason Gerard DeRose
31fc955355 34: Added tests.unit_common with frequently used utility functions; split ro __setattr__, __delattr__ methods out of Proxy and into new ReadOnly base class; added corresponding unit tests 2008-08-01 03:12:17 +00:00
Jason Gerard DeRose
f53dec2600 33: Finished unit tests for plugable.Proxy 2008-08-01 01:47:49 +00:00
Jason Gerard DeRose
a131ebf724 32: Added Plugin and Proxy base classes in plugable module, along with to_cli() and from_cli() functions; added correspending unit tests 2008-07-31 22:36:15 +00:00
Jason Gerard DeRose
d7569a84b9 31: Renamed exceptions.py to errors.py 2008-07-31 18:57:10 +00:00
Jason Gerard DeRose
bc1675dc38 30: Added plugable module with more generic implementation of Registrar; added corresponding unit tests 2008-07-28 04:34:25 +00:00
Jason Gerard DeRose
8b64314359 29: Some experimentation to make the Registar more generalized 2008-07-25 03:17:24 +00:00
Jason Gerard DeRose
fc33f5d359 28: Added new base.Register class that is a more generic way of doing the plugin registration and doesn't itself instatiate any plugins; added corresponding unit tests 2008-07-22 06:41:33 +00:00
Jason Gerard DeRose
0c574d8300 27: Added quick hack for replace('-', '_') problem I'm having 2008-07-21 01:58:22 +00:00
Jason Gerard DeRose
7273d48169 26: Added AbstractCommand.get_doc() method to return the gettext translated summary of command; added get_doc() method to all example 2008-07-21 01:44:59 +00:00
Jason Gerard DeRose
48c7da47c7 25: Updated plugin examples, ipa script 2008-07-20 23:43:16 +00:00
Jason Gerard DeRose
15c419de12 24: Ported Registar to changes around Attribute; updated unit tests 2008-07-20 23:09:29 +00:00
Jason Gerard DeRose
6f58880dcd 23: Added base.Attribute class that determins the object association via class naming convention instead of through the _obj attribute 2008-07-20 21:42:35 +00:00
Jason Gerard DeRose
f3faaf2d29 22: Named.name property now calls _get_name() at first evaluation to make changing the behaviour in subclasses easier 2008-07-20 18:55:53 +00:00
Jason Gerard DeRose
14339cfae0 20: Updated example plugins, added '_api_' command to ipa script with prints the api 2008-07-20 18:36:02 +00:00
Jason Gerard DeRose
89e9b7eaec 19: Removed depreciated base2.py and test_base2.py files 2008-07-20 18:10:56 +00:00
Jason Gerard DeRose
9b3e2f5cec 18: Moved base2 stuff into base 2008-07-20 18:10:08 +00:00
Jason Gerard DeRose
66cd39f519 17: Registar.finalize() now sets the commands property on each object with commands 2008-07-20 17:33:17 +00:00
Jason Gerard DeRose
cf32ac3370 16: Changed base2.WithObj.__set_obj() slightly so that its gets locked into read-only even when _obj is None 2008-07-20 07:20:00 +00:00
Jason Gerard DeRose
0cb26ef3ec 15: Added ipalib.base2 module where I'm experimenting with a 3rd approach that is a hybrid of the first two: a decoupled late binding OO strategy 2008-07-20 07:09:28 +00:00
Jason Gerard DeRose
c2df391569 14: Added Named.cli property that returns name.replace('_', '-'); Named.doc property now does a strip() to make it more user-friendly; added test_Named unit tests which somehow got dropped, uppdated with new Named properties 2008-07-20 03:48:36 +00:00
Jason Gerard DeRose
370282819d 13: Starting playing around with 'ipa' cli script 2008-07-20 03:32:22 +00:00
Jason Gerard DeRose
739e67ca7d 12: Fixed test_base.test_API.test_finalize() unit tests now that CrudLike has 4 commands, not 5 2008-07-20 02:40:49 +00:00
Jason Gerard DeRose
700d58ac1e 11: Added submodules needed to triger the plugin loading, etc., so I can start work on the cli demo 2008-07-20 02:03:15 +00:00
Jason Gerard DeRose
7acf12e988 10: Updated base.API to reflect the fact that base.Object is now the new unit of plugin functionality; updated corresponding unit tests 2008-07-20 01:29:59 +00:00
Jason Gerard DeRose
ccd8eb3373 9: Reorganized new work and unit tests based around base.Object being the plugin definining unit 2008-07-19 23:40:23 +00:00
Jason Gerard DeRose
e76160b01d 8: Experimental work on more OO definition of what gets pluged into API.commands 2008-07-19 21:51:07 +00:00
Jason Gerard DeRose
26c9f4c881 7: Roughed out API.finalize(); added corresponding unit tests 2008-07-19 08:31:46 +00:00
Jason Gerard DeRose
91adc9c2d0 6: Fleshed out API.register_command, made correpsonding unit tests much more rigorous 2008-07-19 07:43:48 +00:00
Jason Gerard DeRose
e8257ad531 5: Fleshed out base.Named, added corresponding unit tests 2008-07-19 06:03:34 +00:00
Jason Gerard DeRose
ef7594ffe1 4: Got basics of API.register_command() working; added corresponding unit tests 2008-07-19 04:28:03 +00:00
Jason Gerard DeRose
5470a0d29a 3: Finished NameSpace and cerresponding unit tests 2008-07-19 00:56:09 +00:00
Jason Gerard DeRose
00f4da79a9 2: Got basics of NameSpace working, added corresponding unit tests 2008-07-18 20:31:12 +00:00
Jason Gerard DeRose
556abfaf0b 1: Started roughing out ipalib package 2008-07-18 17:51:34 +00:00