Commit Graph

3380 Commits

Author SHA1 Message Date
Jason Gerard DeRose
f45dcdd0d0 237: Ported public.Method to new Option; updated corresponding unit tests 2008-09-03 00:01:45 +00:00
Jason Gerard DeRose
5bfbbe3c38 236: Ported pubic.Command to new Option; updated corresponding unit tests 2008-09-02 23:40:44 +00:00
Jason Gerard DeRose
c9662adcf7 235: Added Public.option instance attribute; updated corresponding unit tests; disable some broken unit tests 2008-09-02 22:19:39 +00:00
Jason Gerard DeRose
4f4e8e2712 234: Renamed Option2 to Option 2008-09-02 20:33:08 +00:00
Jason Gerard DeRose
2784847b73 233: Removed public.Option class; removed corresponding unit tests 2008-09-02 20:16:34 +00:00
Jason Gerard DeRose
adf8b9b2d8 232: Added Option2.get_values() method; added corresponding unit tests 2008-09-02 19:29:00 +00:00
Jason Gerard DeRose
85f7a08e5d 231: Added Option2.get_default() method; added corresponding unit tests 2008-09-02 19:05:10 +00:00
Jason Gerard DeRose
bc08225dcd 230: Renamed allow_None kwarg to allow_none 2008-09-02 17:44:07 +00:00
Jason Gerard DeRose
f2da06c5cf 229: Option2.__init__() now uses check_type() 2008-09-02 17:41:55 +00:00
Jason Gerard DeRose
8b7fe7139d 228: plugable.check_name() now uses errors.check_type() 2008-09-02 17:29:01 +00:00
Jason Gerard DeRose
6697b955ee 227: check_type() and check_isinstance() now take arguments in (value, type_, name) order so the first two match the built-in isinstance() call signature 2008-09-02 16:42:39 +00:00
Jason Gerard DeRose
5af91df9a5 226: check_type() and check_isinstance() now return the value; updated corresponding unit tests 2008-09-02 15:15:03 +00:00
Jason Gerard DeRose
2fa8d3be74 225: Added errors.check_type() and errors.check_isinstance() functions; added corresponding unit tests 2008-08-29 23:53:04 +00:00
Jason Gerard DeRose
44ff0b3d23 224: Reworked IPATypeError class into raise_TypeError function 2008-08-29 07:05:06 +00:00
Jason Gerard DeRose
76b30dff15 223: IPATypeError takes as first argument, has attribute 2008-08-29 06:04:38 +00:00
Jason Gerard DeRose
03daa91d1c 222: Fixed broken assertion in IPATypeError; did more work on docstrings in same 2008-08-29 04:29:29 +00:00
Jason Gerard DeRose
8dc0e263da 221: Added errors.IPATypeError exception; added new test_errors.py module with corresponding unit tests 2008-08-29 03:48:33 +00:00
Jason Gerard DeRose
61b5b7a848 220: Renamed Option2.validate_scalar() to Option2.__validate_scalar(); added Option2.normalize() method; added corresponding unit tests 2008-08-29 03:17:26 +00:00
Jason Gerard DeRose
992a5dadbe 218: Finished unit tests for Option2.validate(), Option2.validate_scalar() 2008-08-28 20:30:08 +00:00
Jason Gerard DeRose
a6ec94da60 217: Started work on new Option2 class that is more declarative and doesn't require subclassing from Option 2008-08-28 18:31:06 +00:00
Jason Gerard DeRose
283c6f8fce 216: Added ipa_types.Enum.validate() method; added corresponding unit tests 2008-08-28 07:57:07 +00:00
Jason Gerard DeRose
c83c478ae1 215: Added basics of ipa_types.Enum class; added corresponding unit tests 2008-08-28 06:56:45 +00:00
Jason Gerard DeRose
07ac867ed3 214: Added ipa_types.Bool.validate() method; added corresponding unit tests 2008-08-28 05:06:13 +00:00
Jason Gerard DeRose
b865b30511 213: Added ipa_type.Bool class; added corresponding unit tests 2008-08-28 04:54:48 +00:00
Jason Gerard DeRose
d121a729aa 212: Type.__init__() now can also raise TypeError; added unit tests for Type.__init__() 2008-08-28 02:45:04 +00:00
Jason Gerard DeRose
039b9a2a9b 210: Type.__init__() now takes the type as the first argument, does not use subclass attribute; updated Int, Unicode, and their unit tests accordingly 2008-08-28 02:02:03 +00:00
Jason Gerard DeRose
2b01bdc112 209: Added Type.__call__() method; fleshed out Type.convert() method; added corresponding unit tests 2008-08-28 01:38:29 +00:00
Jason Gerard DeRose
5da1d4bb86 207: Added Unicode.validate() method and corresponding unit tests 2008-08-27 23:40:34 +00:00
Jason Gerard DeRose
8fbc01ca86 206: Finished unit tests for Unicode.__init__() 2008-08-27 22:56:51 +00:00
Jason Gerard DeRose
2984041d00 205: Continued work on Unicode.__init__() and corresponding unit tests 2008-08-27 22:26:35 +00:00
Jason Gerard DeRose
e6cecfdcf2 204: Fixed logic error in check_min_max(); started work on argument validation for Unicode 2008-08-27 21:52:13 +00:00
Jason Gerard DeRose
89ea3acd0a 203: Finished ipa_types.check_min_max() function; added corresponding unit tests; ipa_types.Int now uses check_min_max() 2008-08-27 21:20:19 +00:00
Jason Gerard DeRose
6b214cbccf 202: Started work on type classes in ipa_types module; added corresponding unit tests 2008-08-27 20:09:19 +00:00
Jason Gerard DeRose
330c17730c 201: Added new cli command 'console' that starts a custom interactive Python console 2008-08-27 00:25:33 +00:00
Jason Gerard DeRose
74a3cf8d28 200: Added plugins/override.py with an example of overriding a plugin 2008-08-26 19:43:56 +00:00
Jason Gerard DeRose
6226837eea 199: Updated user_login and user_initials example plugins to use Option.default_from 2008-08-26 19:23:50 +00:00
Jason Gerard DeRose
845c0d8bc6 198: Renamed Command.default() to Command.get_default(); Command.get_default_iter() now correctly calls Option.get_default() instead of Option.default() 2008-08-26 19:13:55 +00:00
Jason Gerard DeRose
0e47948695 197: Added new public.Option.get_default() method that calls Option.default_from() if it's a DefaultFrom instance, and otherwise returns Option.default (the static default value) 2008-08-26 19:02:24 +00:00
Jason Gerard DeRose
0755c218ff 196: DefaultFrom.__call__() now returns values from callback even if not basestring; small work on DefaultFrom docstrings 2008-08-26 16:52:46 +00:00
Jason Gerard DeRose
87fabaa717 195: Started on docstring for public.DefaultFrom 2008-08-26 01:07:24 +00:00
Jason Gerard DeRose
5157d8fc50 194: Removed like to Bazaar Plugin doc as it's not very relevant 2008-08-26 00:28:43 +00:00
Jason Gerard DeRose
45a6ee50b1 193: Removed depreciated public.PublicAPI class; removed corresponding unit tests 2008-08-26 00:06:00 +00:00
Jason Gerard DeRose
0d35c96f1a 192: Added a quick console example to docstring in ipalib/__init__.py 2008-08-26 00:04:15 +00:00
Jason Gerard DeRose
2fc3819bec 191: Removed ipalib/api.py module; standard plugable.API instance is now in ipalib.__init__.py 2008-08-25 23:35:29 +00:00
Jason Gerard DeRose
513bbb32b9 190: Renamed public.option class to public.Option 2008-08-25 22:10:23 +00:00
Jason Gerard DeRose
c646dfddde 188: Added unit tests for public.Object.finalize() method 2008-08-22 22:49:56 +00:00
Jason Gerard DeRose
af52671e13 187: Renamed plubic.obj to Object; reworked plublic.Object unit tests to use ClassChecker 2008-08-22 21:50:53 +00:00
Jason Gerard DeRose
f60fa06ce2 186: Renamed public.attr to Attribute; reworked public.Attribute unit tests using ClassChecker 2008-08-22 21:27:25 +00:00
Jason Gerard DeRose
5bf6a9eb09 185: Renamed public.prop to Property 2008-08-22 20:32:23 +00:00
Jason Gerard DeRose
a1b5d928fb 184: Renamed public.mthd class to Method 2008-08-22 20:23:19 +00:00
Jason Gerard DeRose
cad924168e 183: Added public.DefaultFrom class; added corresponding unit tests 2008-08-22 20:07:17 +00:00
Jason Gerard DeRose
b0ec8fe551 182: Renamed plublic.cmd base class to Command 2008-08-15 19:49:04 +00:00
Jason Gerard DeRose
99450358af 181: Changed docstrings on example plugins to use itial capital 2008-08-15 19:19:42 +00:00
Jason Gerard DeRose
594e7512b7 180: Fixed a few things in public.py that were broken by the changed NameSpace iter behaiviour 2008-08-15 19:15:24 +00:00
Jason Gerard DeRose
ab10f0843b 179: DictProxy now has __call__() method that iterates through the values; removed __call__() method from NameSpace as it subclasses from DictProxys; DictProxy unit tests now test __call__() 2008-08-15 05:19:02 +00:00
Jason Gerard DeRose
a24f2121d5 178: Registrar now subclasses from DictProxy; made Registrar.__iter__ behave same as the other container emulation in plugable.py, and made the dictorary interface return the base and the attribute interface return the MagicDict; updated API class and unit tests 2008-08-15 05:07:17 +00:00
Jason Gerard DeRose
5ed58fdb42 177: Docstring cleanup in NameSpace.__call__() 2008-08-15 03:45:07 +00:00
Jason Gerard DeRose
db8099febc 176: PluginProxy now subclasses from SetProxy 2008-08-15 03:41:17 +00:00
Jason Gerard DeRose
233293fb4a 175: Renamed Proxy to PluginProxy 2008-08-15 03:32:38 +00:00
Jason Gerard DeRose
ec0596b429 174: Fleshed out docstrings for SetProxy, DictProxy, and MagicDict 2008-08-15 03:24:37 +00:00
Jason Gerard DeRose
3e3b596f68 173: NameSpace now subclasses from DictProxy 2008-08-15 01:46:11 +00:00
Jason Gerard DeRose
1a92bdf29b 172: API now subclasses from DictProxy 2008-08-15 01:32:20 +00:00
Jason Gerard DeRose
e43a5c642e 171: MagicDict now subclasses from DictProxy; updated unit tests 2008-08-15 01:24:51 +00:00
Jason Gerard DeRose
f6c2181eeb 170: Added SetProxy and DictProxy classes to plugable so container emulation can be consolidated 2008-08-15 01:04:19 +00:00
Jason Gerard DeRose
88a5b3ae25 169: Renamed DictProxy to MagicDict 2008-08-14 23:49:36 +00:00
Jason Gerard DeRose
07cd537277 168: plugable.API now implements the all the usual container methods 2008-08-14 22:13:42 +00:00
Jason Gerard DeRose
5f38daf6de 167: In API.finalize(), lock(plugin) is used instead of plugin.__lock__(); more docstring improvements in plugable.py 2008-08-14 21:40:37 +00:00
Jason Gerard DeRose
d229a76474 165: Added unit tests for plugable.lock() function; replaced occurances of 'self.__lock__()' with 'lock(self)' in plugable.py 2008-08-14 20:32:35 +00:00
Jason Gerard DeRose
43c04f1cd3 163: Docstring improvement for ipalib/__init__.py and plugable.py 2008-08-14 19:36:54 +00:00
Jason Gerard DeRose
f423f2c9f0 162: Added link to container emulation documentation in plugable.py docstring 2008-08-14 18:59:12 +00:00
Jason Gerard DeRose
7c64c8b954 161: Registrar now takes advantage of DictProxy; updated corresponding unit tests 2008-08-14 18:50:21 +00:00
Jason Gerard DeRose
87cad5078a 160: DictProxy now checks type of d in __init__(); updated unit tests 2008-08-14 17:29:13 +00:00
Jason Gerard DeRose
b403fd822b 159: Added plugable.DictProxy class; added corresponding unit tests; added setitem(), delitem() functions to tstutil 2008-08-14 17:21:21 +00:00
Jason Gerard DeRose
ca53615ddd 158: Name local arg 'cls' to 'klass' in Registrar methods to avoid confusion with classmethods; some docstring improvement in Registrar 2008-08-14 09:38:28 +00:00
Jason Gerard DeRose
a3dc04ade4 157: More docstring cleanup; fixed remaining epydoc warnings 2008-08-14 09:01:02 +00:00
Jason Gerard DeRose
f0dfb9f873 156: Fixed all broken docstring cross references 2008-08-14 08:28:48 +00:00
Jason Gerard DeRose
8c27f4c2de 155: More docstring cleanup in plugable.py 2008-08-14 07:43:43 +00:00
Jason Gerard DeRose
00f4272662 154: Merged ProxyTarget functionality into Plugin to make things a bit clearer 2008-08-14 07:10:07 +00:00
Jason Gerard DeRose
a59d6698d2 153: Started cleaning up docstrings in Proxy and also experimented with restructuredtext formatting 2008-08-14 06:53:05 +00:00
Jason Gerard DeRose
b10fc16113 152: Updated unit tests check_name() now that it returns the name 2008-08-14 05:56:01 +00:00
Jason Gerard DeRose
3b9df638ce 151: Rearanged tests in test_plugable.py to match definition order in plugable.py 2008-08-14 05:54:15 +00:00
Jason Gerard DeRose
ba8d32a110 150: NameSpace.__iter__() now iterates through the names, not the members; added NameSpace.__call__() method which iterates through the members; NameSpace no longer requires members to be Proxy instances; updated unit tests and affected code; cleaned up NameSpace docstrings and switch to epydoc param docstrings 2008-08-14 05:46:20 +00:00
Jason Gerard DeRose
d95133b66f 149: CLI.run() now does an arg.decode('utf-8') for args in sys.argv so that non-ascii characters work 2008-08-14 01:09:11 +00:00
Jason Gerard DeRose
fe7440735d 148: Added some basic out put for cli.help.__call__() method 2008-08-13 07:20:10 +00:00
Jason Gerard DeRose
024345e1f0 147: Changed cmd calling signature to __call__(self, *args, **kw) 2008-08-13 06:41:39 +00:00
Jason Gerard DeRose
d422ef1134 146: Removed CLI.parse_kw() method and corresponding unit tests 2008-08-13 06:40:25 +00:00
Jason Gerard DeRose
337c9964d4 145: Added new CLI.parse() method; added corresponding unit tests 2008-08-13 06:25:42 +00:00
Jason Gerard DeRose
6924d5e25e 144: Made properties in example plugins all required 2008-08-13 05:25:00 +00:00
Jason Gerard DeRose
b4ad681f41 143: Added errors.RequirementError exception; cmd.validate() now raises RequirementError if a required option is missing 2008-08-13 05:14:12 +00:00
Jason Gerard DeRose
47fed6c4c2 142: python2.4: Fixed custom exceptions in errors.py as exceptions in Python2.4 are not new-style classes 2008-08-13 04:11:26 +00:00
Jason Gerard DeRose
c9072183a6 141: Fixed unit tests for CLI.finalize() 2008-08-13 04:10:23 +00:00
Jason Gerard DeRose
14cdb57b50 140: Added a skeleton help command in cli.py 2008-08-13 04:02:39 +00:00
Jason Gerard DeRose
b9fa9dc240 139: Removed dummy gettext _() func from cli.py; improved CLI.print_commands() 2008-08-13 03:15:00 +00:00
Jason Gerard DeRose
0fed74b56d 138: Added ProxyTarget.doc property; CLI.print_commands() now uses cmd.doc instead of cmd.get_doc() 2008-08-13 02:34:36 +00:00
Jason Gerard DeRose
69f7132365 137: Removed depreciated PublicAPI.max_cmd_len property 2008-08-13 02:12:08 +00:00
Jason Gerard DeRose
05cefc2af6 136: CLI.print_commands() now prints cmd.get_doc() as well 2008-08-13 02:10:09 +00:00
Jason Gerard DeRose
76df64954d 135: Added unit test for CLI dictoinary interface 2008-08-13 02:00:31 +00:00
Jason Gerard DeRose
0b5efa2a62 134: Added CLI.mcl (Max Command Length) property; added corresponding unit tests 2008-08-13 01:52:17 +00:00
Jason Gerard DeRose
c0b5069fa0 133: Renamed run.py to api.py 2008-08-13 01:26:30 +00:00
Jason Gerard DeRose
66bbe8bf2f 132: Removed test util.py file 2008-08-13 01:20:01 +00:00
Jason Gerard DeRose
12d662c1b7 131: Renamed Plugins/ to plugins/ 2008-08-13 01:18:00 +00:00
Jason Gerard DeRose
13a3de7442 130: Renamed startup.py to load_plugins.py 2008-08-13 01:03:32 +00:00
Jason Gerard DeRose
8212be5c4b 129: Deleted the test mod1.py, mod2.py files 2008-08-13 00:58:49 +00:00
Jason Gerard DeRose
e9b715f2c4 128: Fixed startup.py, example.py to work with new plugin locations 2008-08-13 00:56:46 +00:00
Jason Gerard DeRose
ba6cb2bf92 127: Removed depreciated identity.py 2008-08-13 00:47:54 +00:00
Jason Gerard DeRose
f8d9a62c29 126: Renamed plugins.py to Plugins/example.py 2008-08-13 00:43:23 +00:00
Jason Gerard DeRose
d5b0bc1b54 125: Added some generic auto-import stuff 2008-08-13 00:40:13 +00:00
Jason Gerard DeRose
70cbe10624 124: Fixed case in example in ReadOnly class docstring 2008-08-12 23:45:36 +00:00
Jason Gerard DeRose
7db3aae1b2 123: API.finalize() now raises AssetionError if called more than once; added corresponding unit tests 2008-08-12 23:40:36 +00:00
Jason Gerard DeRose
64054a673c 122: The dictorary interface to CLI now has keys build using to_cli(), rather than converting at each call 2008-08-12 23:33:02 +00:00
Jason Gerard DeRose
b72cfa5dcc 121: Renamed API.__call__() method to API.finalize() 2008-08-12 22:52:37 +00:00
Jason Gerard DeRose
f767543fe7 120: Moved ProxyTarget below Proxy to emphasize relationship with Plugin; added docstrings for ProxyTarget.implements() and implemented_by() classmethods; fixed typo in Plugin.finalize() docstring 2008-08-12 22:40:06 +00:00
Jason Gerard DeRose
8640523632 119: Added ProxyTarget.implemented_by() classmethod; added corresponding unit tests 2008-08-12 21:45:54 +00:00
Jason Gerard DeRose
9ac8a8b499 118: Added user_login.default() method as another example; print_call() now prints sorted by the keys in ascending order 2008-08-12 19:22:48 +00:00
Jason Gerard DeRose
4acb7567c4 117: Improved readability of cmd.print_call() 2008-08-12 18:02:49 +00:00
Jason Gerard DeRose
7bbeb2db69 116: Added a user_initials property plugin to demostrate default() method 2008-08-12 17:42:21 +00:00
Jason Gerard DeRose
99d7638ff5 115: CLI now parses out kw args; cmd.__call__() now uses print_n_call() to give feedback on the calling 2008-08-12 16:49:23 +00:00
Jason Gerard DeRose
bc4b26ffca 114: Fixed cmd.__get_options(); more work on CLI 2008-08-12 02:03:47 +00:00
Jason Gerard DeRose
902614a762 113: Fixed regex used in attr.__init__(); added unit tests for mthd.get_options() 2008-08-11 22:12:23 +00:00
Jason Gerard DeRose
afdbc42b2e 112: More work on cli.py 2008-08-11 21:38:30 +00:00
Jason Gerard DeRose
c1a125256b 111: Minor changes to mthd and prop classes; updated mthd and prop unit tests 2008-08-11 21:14:07 +00:00
Jason Gerard DeRose
9282418291 110: Started fleshing out more in cli.py 2008-08-11 19:35:57 +00:00
Jason Gerard DeRose
5313e5a491 109: Cleanups in cmd; added unit tests for cmd.validate() 2008-08-11 19:11:26 +00:00
Jason Gerard DeRose
8a6ece2ffb 108: Changed cmd.default() so that it now only return dictionary of values for which defaults were generated; updated unit tests 2008-08-11 17:57:07 +00:00
Jason Gerard DeRose
fd6c215d59 107: Some cleanup in cmd; added unit tests for cmd.default() method 2008-08-11 17:37:33 +00:00
Jason Gerard DeRose
8aee8e060c 106: Fixed some typos in cmd.__get_options(); added unit tests for cmd.options and cmd.normalize() 2008-08-11 16:29:37 +00:00
Jason Gerard DeRose
879133d28a 105: Added a default implementation of cmd.get_options; added corresponding unit tests 2008-08-11 00:21:12 +00:00
Jason Gerard DeRose
f6b69a5905 104: public.option now subclasses from plugable.Plugin; cleaned up unit tests for option 2008-08-10 22:23:22 +00:00
Jason Gerard DeRose
d7958f3fde 103: Fixed missing API.__keys assignment 2008-08-09 19:48:47 +00:00
Jason Gerard DeRose
0edb22c9ac 102: After the API instance calls plugin.finalize(), it also calls plugin.__lock__() 2008-08-09 19:39:58 +00:00
Jason Gerard DeRose
543aea31a4 101: Registrar now subclasses from ReadOnly 2008-08-09 19:33:13 +00:00
Jason Gerard DeRose
0e532cd7b3 100: Cleaned up NameSpace docstrings; cleanup up NameSpace unit tests 2008-08-09 19:28:01 +00:00
Jason Gerard DeRose
e756e12718 99: Cleaned up unit tests for plugable.Plugin 2008-08-09 19:09:10 +00:00
Jason Gerard DeRose
5315514f6c 98: Completed docstrings in Proxy 2008-08-09 18:58:46 +00:00
Jason Gerard DeRose
9712eae51c 97: Some whitespace and docstring cleanup; Plugin now subclasses from ProxyTarget 2008-08-09 05:19:40 +00:00
Jason Gerard DeRose
409f688ef5 96: Fixed typo is ReadOnly docstring 2008-08-09 04:37:37 +00:00
Jason Gerard DeRose
72f3132d2b 95: Improved docstrings for ReadOnly class; added ReadOnly.__islocked__() method; added corresponding unit tests 2008-08-09 04:35:06 +00:00
Jason Gerard DeRose
3495c67d57 94: Renamed Proxy._clone() method to Proxy.__clone__(); updated unit tests 2008-08-09 01:46:12 +00:00
Jason Gerard DeRose
cc5b017494 93: Added Proxy.implements() method; addeded corresponding unit tests 2008-08-09 01:06:42 +00:00
Jason Gerard DeRose
45201e31c1 92: Added ProxyTarget.name property; added corresponding unit tests 2008-08-08 23:26:17 +00:00
Jason Gerard DeRose
e3811f3f45 91: Fleshed out docstrings in plugable.Proxy 2008-08-08 23:07:22 +00:00
Jason Gerard DeRose
5a1223e943 90: Renamed plugable.Abstract to ProxyTarget, which now subclasses from ReadOnly; updated unit tests 2008-08-08 22:45:09 +00:00
Jason Gerard DeRose
6f144fbaf0 89: Moved ClassChecker from test_public.py into tstutil.py; improved unit tests for plugable.ReadOnly 2008-08-08 22:13:49 +00:00
Jason Gerard DeRose
1744723d11 88: Renamed ReadOnly._lock() to ReadOnly.__lock__(); updated subclasses and unit tests 2008-08-08 21:49:09 +00:00
Jason Gerard DeRose
3fe13d5945 87: Moved to_cli(), from_cli() functions from plugable.py into new cli.py file; moved corresponding unit tests into new test_cli.py file 2008-08-08 21:46:23 +00:00
Jason Gerard DeRose
fdfa827a36 86: Actually change *all* tab indentation to 4-space: 'sed s/\t/ /g' 2008-08-08 21:40:03 +00:00
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