Commit Graph

591 Commits

Author SHA1 Message Date
Chris Jones dc9ae3363d Add ConfigObj's validate.py and construct a config specification and use it to validate the configuration. Most crucially this causes ConfigObj to know about the correct types it should be converting the different entries into 2009-12-28 22:06:23 +00:00
Chris Jones f690cd6e5f Get ProfileEditor to the barest state of functionality possible 2009-12-27 02:32:16 +00:00
Chris Jones 4c025273c9 rename and import the profile editor 2009-12-27 01:01:34 +00:00
Chris Jones 896bd1af35 Start the epic refactor of the profile editor 2009-12-27 00:59:44 +00:00
Chris Jones 945a547344 pluralise 2009-12-27 00:59:29 +00:00
Chris Jones ee81bd4f76 Make the terminal context menu list available profiles and switch between them 2009-12-26 20:09:16 +00:00
Chris Jones 2a56e328ac Add methods to Config to list and delete profiles 2009-12-26 19:52:58 +00:00
Chris Jones f09e9947cd Make the config loading and saving significantly more functional, but also horrifyingly complex, with very little error handling 2009-12-26 19:43:01 +00:00
Chris Jones 825abbb658 Flesh out Config.load() so it actually loads a config 2009-12-26 13:39:14 +00:00
Chris Jones 5bd1b3f9af Make sure ConfigBase() only uses a copy of DEFAULTS so we never change DEFAULTS, allowing us to add dict_diff() so we can avoid including things in the config file that aren't default 2009-12-26 01:19:42 +00:00
Chris Jones 71fcada828 add a fixme 2009-12-25 21:42:57 +00:00
Chris Jones 07f7906f86 Don't write to stdout, write to a config file, but one with a different name for now 2009-12-25 21:25:31 +00:00
Chris Jones f91d76e9b4 Add ConfigObj 4.6.0 from http://www.voidspace.org.uk/python/configobj.html. Add a really simple implementation of config saving 2009-12-25 21:22:04 +00:00
Chris Jones 60a1b085b4 Add a utility function for finding ~/.config/terminator and use it in PLuginRegistry to load plugins from the user's homedir 2009-12-24 21:35:07 +00:00
Chris Jones 0a67d73592 Extend the url_handler plugins to include apt: support 2009-12-23 17:30:26 +00:00
Chris Jones df317bd2cd mildly change the debugging output of objects, and handle ^C a little better 2009-12-23 16:40:54 +00:00
Chris Jones f33dc6f28a Expand Config() test coverage a little 2009-12-23 10:09:53 +00:00
Chris Jones 8068ef656f extend testing, make ConfigBase settable, drop ConfigBase derivation from dict 2009-12-23 00:10:57 +00:00
Chris Jones 8d3158c152 Make ConfigBase() do some debugging. Hugely verbose, but potentially very useful for now 2009-12-22 00:32:21 +00:00
Chris Jones 9ce380ef90 port to new borg __init__() 2009-12-22 00:25:25 +00:00
Chris Jones 89425256ec port to new borg __init__() 2009-12-22 00:25:17 +00:00
Chris Jones 2c8e2d14e4 port to new borg __init__() 2009-12-22 00:25:05 +00:00
Chris Jones 4a96bf99d4 add some test coverate, split the defaults into sections and move the borg element to a new base object, converting it to use the new borg __init__ syntax. 2009-12-22 00:24:53 +00:00
Chris Jones 90c8b7e8c5 extend test coverage to ensure borg state is unique between borg types. add some debugging info and support the ability to have multiple borg classes via an ugly parameter to __init__() 2009-12-22 00:24:03 +00:00
Chris Jones a6a1acd26d Clear up the position re licencing of the two external sources of code in our refactoring 2009-12-19 15:07:22 +00:00
Chris Jones 0b5ac38793 Hand merge in from trunk 2009-12-19 02:08:35 +00:00
Chris Jones 48e8637ca5 Add a FIXME 2009-12-18 09:24:23 +00:00
Chris Jones fe22a9cf47 Integrate the plugin system into the context menus for Terminal 2009-12-18 00:45:08 +00:00
Chris Jones 5dc643a3b2 Add some docstrings 2009-12-17 23:30:12 +00:00
Chris Jones 30f5225884 Add crashproof code for adding URL handlers from plugins, and reacting to them 2009-12-17 23:17:32 +00:00
Chris Jones b84f593404 port over launchpad specific URL handling from Terminal 2009-12-17 23:17:03 +00:00
Chris Jones 603da6ec16 Since PluginRegistry is a borg we can easily track if we have been loaded before and if so, not load plugins again. 2009-12-17 23:16:42 +00:00
Chris Jones 01bb454d90 stop (ab)using __subclasses__ isntead interrogating the imported plugin modules for a predefined list of the plugin classes they contain, and always instantiate them when they are imported. Add a test plugin only useful for doctest 2009-12-17 13:51:55 +00:00
Chris Jones 9029e519f9 add a test plugin 2009-12-17 12:54:47 +00:00
Chris Jones 6088084fdf handle import failures and add some very borked doctesting 2009-12-17 12:54:42 +00:00
Chris Jones 209c37aa34 ridiculously simple and non-functional plugin 2009-12-17 01:09:13 +00:00
Chris Jones 2660d0795f Add a first run at a plugin system 2009-12-17 01:07:01 +00:00
Chris Jones ecdbe15420 Add some fixmes for things I know are currently broken, and improve a couple of logging messages 2009-12-16 09:15:53 +00:00
Chris Jones fabc62ba99 who knows, we might even stick to a testing regime this time 2009-12-11 14:43:19 +00:00
Chris Jones 88cd14ac64 Remove a couple of stale FIXMEs 2009-12-11 14:25:38 +00:00
Chris Jones 7d897eaef7 Make title propagation work properly 2009-12-10 23:25:52 +00:00
Chris Jones 602c6a3b57 Make title changes propagate better, albeit not perfectly yet 2009-12-10 13:20:03 +00:00
Chris Jones f10f43fa8a pylint 2009-12-10 11:52:26 +00:00
Chris Jones 33e6254ad2 pylint 2009-12-10 11:37:53 +00:00
Chris Jones dfe85f1e9b pylint quiescing 2009-12-10 11:36:46 +00:00
Chris Jones 0d319e8a57 Improve pylint.sh to be much less noisy and annoying 2009-12-09 13:32:35 +00:00
Chris Jones c31758179e pylint fixes 2009-12-09 13:22:34 +00:00
Chris Jones 7ed5a573d5 at the suggestion of pylint, refactor Factory::isinstance() to be more succinct 2009-12-09 13:22:27 +00:00
Chris Jones a432d10d24 Add a quick debugging entry 2009-12-09 13:02:45 +00:00
Chris Jones 67b79ff1da There's no reason anymore to special-case notebook here 2009-12-09 13:02:31 +00:00