Commit Graph

508 Commits

Author SHA1 Message Date
Jason Gerard DeRose
024022c2f9 315: Renamed Property.option instance attribute to Property.param 2008-09-22 15:33:32 +00:00
Jason Gerard DeRose
b206ef6843 314: Completed some missing features in Command.__call__(); removed depreciated Command.print_call() method 2008-09-22 01:28:57 +00:00
Jason Gerard DeRose
49c1c29df1 313: Added Object.params instance attribute 2008-09-22 00:37:01 +00:00
Jason Gerard DeRose
cbcadb89e4 312: Cleaned up docstring for create_param(); Command.finalize() now uses create_param() when creating args and options namespaces 2008-09-21 22:43:50 +00:00
Jason Gerard DeRose
952b45f138 311: Renamed generate_option() to create_param() 2008-09-21 22:18:33 +00:00
Jason Gerard DeRose
14e932a8cd 310: generate_option() function now can accept a Param object, which it returns without modification 2008-09-21 22:11:14 +00:00
Jason Gerard DeRose
2a708cfebe 309: Renamed public.Option to public.Param 2008-09-21 22:02:33 +00:00
Jason Gerard DeRose
47e4606a98 308: Fixed broken example plugin user_add 2008-09-21 21:55:21 +00:00
Jason Gerard DeRose
f73d976bda 307: Split Plugin.finalize() into two steps 1) Plugin.set_api() and 2) Plugin.finalize(); updated unit tests 2008-09-21 21:50:56 +00:00
Jason Gerard DeRose
5872221bd4 306: Added Plugin.set_api() method; added corresponding unit tests 2008-09-21 21:30:19 +00:00
Jason Gerard DeRose
2d83614006 305: Ported cli.py to changes in public.py 2008-09-21 19:00:41 +00:00
Jason Gerard DeRose
4a96ec2dc7 304: args, options, & params namespaces are now created in Command.finalize() instead of Command.__init__(); updated corresponding unit tests 2008-09-21 18:50:00 +00:00
Jason Gerard DeRose
f8953720c4 303: Removed Command.smart_option_order() method and moved its logic into Method.get_options() 2008-09-21 16:59:12 +00:00
Jason Gerard DeRose
1ec4f379f5 302: Removed depreciated Command.group_args() method 2008-09-19 00:00:54 +00:00
Jason Gerard DeRose
f29c827d06 301: Command.args_to_kw() now raises ArgumentError if more args than max_args are given 2008-09-18 23:53:23 +00:00
Jason Gerard DeRose
e0b900894f 300: Added Command.max_args instance attribute; added corresponding unit tests 2008-09-18 23:15:34 +00:00
Jason Gerard DeRose
ef0d7a71ab 299: Cleaned up unit tests for ReadOnly class 2008-09-18 22:39:48 +00:00
Jason Gerard DeRose
81ebe078be 298: Cleaned up docstrings in ReadOnly methods 2008-09-18 22:01:04 +00:00
Jason Gerard DeRose
e524c826db 297: Added a better example in docstring for ReadOnly 2008-09-18 21:45:25 +00:00
Jason Gerard DeRose
14eb96493b 296: Added more to docstrings for NameSpace.__iter_() and NameSpace.__call__() 2008-09-18 21:23:05 +00:00
Jason Gerard DeRose
5ab45385db 295: Updated NameSpace unit tests to test NameSpace.__getitem__() with int and slice 2008-09-18 20:48:55 +00:00
Jason Gerard DeRose
84a721d408 294: NameSpace no longer subclasses from DictProxy; NameSpace.__getitem__() now works with int and slice objects 2008-09-18 20:35:23 +00:00
Jason Gerard DeRose
f78f3ed0dd 293: Added Command.kw_to_args() method; added corresponding unit tests 2008-09-18 19:39:23 +00:00
Jason Gerard DeRose
4482c71aeb 292: Added experimental Command.args_to_kw() method 2008-09-14 23:17:36 +00:00
Jason Gerard DeRose
5a1abcdf4f 291: Temporarily reverted Rob's changes in public.py and plugins/examples.py 2008-09-13 00:22:01 +00:00
Jason Gerard DeRose
0e60036bb4 290: Applyied Rob's patch 2008-09-12 16:36:04 +00:00
Jason Gerard DeRose
c1ef2d05e8 289: Command.convert(), normalize(), and validate() now use self.params instead of self.options 2008-09-11 00:04:49 +00:00
Jason Gerard DeRose
23e251a605 288: CLI now uses Command.group_args() to check for required arguments 2008-09-10 23:33:36 +00:00
Jason Gerard DeRose
c17c5efb4e 287: Renamed Command.args_to_kw() to Command.group_args(), which now returns a tuple instead of dict; updated unit tests 2008-09-10 23:18:29 +00:00
Jason Gerard DeRose
7c40226500 286: Finished Command.args_to_kw(); finished unit tests for args_to_kw() 2008-09-10 21:34:29 +00:00
Jason Gerard DeRose
100492d98a 285: Started work on Command.args_to_kw() method; added unit test for functionality so far in args_to_kw() 2008-09-10 20:05:45 +00:00
Jason Gerard DeRose
687f603562 284: Removed depreciated Command.Option property; removed corresponding unit tests; updated affected code 2008-09-10 15:31:34 +00:00
Jason Gerard DeRose
bde377a2da 283: Renamed generate_argument() to generate_option() 2008-09-10 15:16:17 +00:00
Jason Gerard DeRose
7de450363b 282: Added Command.__check_options() method; added unit tests for Command.options instance attribute 2008-09-10 15:14:26 +00:00
Jason Gerard DeRose
2d85a6daa3 281: Completed unit tests for Command.args 2008-09-10 14:54:01 +00:00
Jason Gerard DeRose
cbfacf7c2e 280: Renamed Options.options to takes_options; updated related unit tests 2008-09-10 14:46:20 +00:00
Jason Gerard DeRose
8062075f84 279: Fixed cli and public.Method re new Command.args attribute 2008-09-10 02:02:26 +00:00
Jason Gerard DeRose
0d3be2f421 278: Completed unit tests for Command.args instance attribute 2008-09-10 01:54:48 +00:00
Jason Gerard DeRose
51b6395958 277: Added public.generate_argument() function; added corresponding unit tests 2008-09-10 01:03:59 +00:00
Jason Gerard DeRose
0215bc8009 276: Option.__init__(): doc is now 3rd kwarg instead of 2nd positional arg; updated unit tests and other affected code 2008-09-10 00:21:40 +00:00
Jason Gerard DeRose
349fc660e7 275: Added Command.__check_args(); added basic unit tests for Command.args instance attribute 2008-09-09 23:46:16 +00:00
Jason Gerard DeRose
0453aa465f 274: NameSpace.__init__() now takes sort=True keyword arument to allow for non-sorted NameSpaces; updated and improved NameSpace unit tests 2008-09-09 23:10:49 +00:00
Jason Gerard DeRose
97b01a4891 273: Added Command.get_args() method; added corresponding unit tests 2008-09-09 21:18:44 +00:00
Jason Gerard DeRose
21a0bab79e 272: Add a quick positional arg experiment 2008-09-09 01:41:15 +00:00
Jason Gerard DeRose
13f030d91e 271: Improved __repr__ methods for better output from the show-plugins command 2008-09-08 21:51:05 +00:00
Jason Gerard DeRose
cb9c442708 270: show-plugins now only shows namespaces with at least one member 2008-09-08 21:44:53 +00:00
Jason Gerard DeRose
03fd184e8e 269: Renamed print_api command to show_plugins 2008-09-08 21:42:48 +00:00
Jason Gerard DeRose
7d3d607b55 268: Fixed broken unit test for Plugin.__repr__() 2008-09-08 21:40:46 +00:00
Jason Gerard DeRose
e74713a076 267: Finished builtin CLI api command 2008-09-08 21:37:02 +00:00
Jason Gerard DeRose
641403278e 266: Started work on new cli.print_api Command 2008-09-04 18:35:04 +00:00
Jason Gerard DeRose
22d9b8c078 265: Fixed small formatting error with use of CLI.print_commands() 2008-09-04 09:27:28 +00:00
Jason Gerard DeRose
553b0c596d 264: Cleaned up docstrings on all example plugins 2008-09-04 09:22:18 +00:00
Jason Gerard DeRose
6b9ba734e1 263: CLI.print_commands() now seperates Command subclasses from Application subclasses 2008-09-04 09:04:35 +00:00
Jason Gerard DeRose
86035c8655 262: Fixed crossreference in public.Application docstring 2008-09-04 08:39:27 +00:00
Jason Gerard DeRose
6f95249d52 261: More work on demo using Option.__call__() for interactive input 2008-09-04 08:33:41 +00:00
Jason Gerard DeRose
915486dadc 260: Option.normalize() now does same conversion for multivalue as Option.convert() does 2008-09-04 08:16:12 +00:00
Jason Gerard DeRose
c7cd694d4f 259: Option.__normalize_scalar() now raises a TypeError if not isinstance(value, basestring); updated corresponding unit tests 2008-09-04 07:47:07 +00:00
Jason Gerard DeRose
71d36aa6a0 258: Added some experimental features for interactively prompting for values 2008-09-04 07:18:26 +00:00
Jason Gerard DeRose
01b73e6910 257: Improved help command, now parsing options with optparse 2008-09-04 06:33:57 +00:00
Jason Gerard DeRose
b16deabdff 256: Fixed cli.help plugin so it looks up commands in CLI instead of API 2008-09-04 05:18:14 +00:00
Jason Gerard DeRose
ab81ca56fd 255: CLI help, console commands now subclass from public.Application; other tweeking to make CLI utilize Application 2008-09-04 04:39:01 +00:00
Jason Gerard DeRose
e1f8619d4a 254: Added public.Application base class; added corresponding unit tests 2008-09-04 03:34:16 +00:00
Jason Gerard DeRose
a5c6bf179b 253: Fixed error in Option.get_default() where Option.convert() was being called on Option.default; updated corresponding unit tests 2008-09-04 02:41:31 +00:00
Jason Gerard DeRose
cf7e4c1038 252: Added Command.convert() method; added corresponding unit tests 2008-09-04 02:30:40 +00:00
Jason Gerard DeRose
5cdb182ae8 251: Fixed Command.validate() so it raises RequirementError; updated and re-enabled unit tests for Command.validate() 2008-09-04 02:02:06 +00:00
Jason Gerard DeRose
7e3664a964 250: Updated Option.validate to utilize the ValidationError.index attribute; updated unit tests for Option.validate to test use of index attribute 2008-09-04 01:01:40 +00:00
Jason Gerard DeRose
b53ff67ff1 249: Fixed Option.__convert_scalar() to user index=None instead of position=None; updated unit tests for Option.convert() to test the ConversionError.index attribute 2008-09-03 23:21:26 +00:00
Jason Gerard DeRose
490eaee8a9 248: Removed depreciated SetError and TwiceSetError exceptions 2008-09-03 22:41:53 +00:00
Jason Gerard DeRose
296d59d27a 247: Added unit tests for errors.RequirementError 2008-09-03 22:29:01 +00:00
Jason Gerard DeRose
004e989dc4 246: Added unit tests for errors.RuleError 2008-09-03 22:14:25 +00:00
Jason Gerard DeRose
62533bfb2b 245: Removed depreciated NormalizationError 2008-09-03 21:55:44 +00:00
Jason Gerard DeRose
6f739bcf67 244: Added unit tests for errors.ConversionError 2008-09-03 21:53:15 +00:00
Jason Gerard DeRose
390c1aa4ba 243: Added unit tests for errors.ValidationError 2008-09-03 20:05:24 +00:00
Jason Gerard DeRose
5e8f945a1e 242: Started cleanup of custom exceptions; added unit tests for errors.IPAError 2008-09-03 19:38:39 +00:00
Jason Gerard DeRose
9b9615df79 241: Added additional index=None kwarg to errors.ValidationError.__init__() 2008-09-03 18:48:58 +00:00
Jason Gerard DeRose
9548b4b951 240: Small change in tstutil.check_TypeError(), cleaned up use of check_TypeError() in test_Option.test_normalize() 2008-09-03 18:41:46 +00:00
Jason Gerard DeRose
085ea3f62f 239: Added errors.ConversionError; started big clean up of how ValidationError is raised so it works well with multivalues 2008-09-03 18:32:49 +00:00
Jason Gerard DeRose
baef0e6f49 238: Some docstring cleanup & fixes in test_public.py 2008-09-03 00:15:20 +00:00
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