Hello, compatriota. :)
On Tuesday December 2, 2008 15:53:42 [EMAIL PROTECTED] wrote:
> I've been working in a repoze.what plugin that uses INI-like files as data
> sources. You can download v.0.1 from:
> The file format is:
I've just checked the code and it looks nice. :)
> If someone could mentor me to make it production grade quality and release
> it officially, I'll apreciate it.
Count on me.
My comments according to what I found:
1.- For this plugin, I think you don't need the configure_INI_adapters()
2.- Please provide us with the full source, so that we can check other
things. Python eggs don't ship with setup.py, for example.
3.- Please write a text suite with testutil to make sure it works as you
expect. It's very easy:
I.- Create an ini file to test the Ini group source adapter. It may look
II.- Create an ini file to test the Ini permission source adapter. It may
look like this:
III.- Have repoze.what's testutil to verify your plugin automatically .
You may dive into the test suite for the SQL plugin for an example. For
example, the test case for the group adapter may look like this (not tested,
but should work):
> from repoze.what.adapters.testutil import GroupsAdapterTester
> class TestGroupsAdapterTester(GroupsAdapterTester, unittest.TestCase):
> def setUp(self):
> super(TestGroupsAdapterTester, self).setUp()
> current_dir = os.path.abspath(os.path.dirname(__file__))
> fake_groups = os.path.join(current_dir, 'groups.ini')
> self.adapter = INIGroupAdapter(fake_groups)
4.- In INIFileAdapter, the repoze.what's SourceError exception  is better
suitable instead of NotImplementedError. This is what users would expect to be
raised; NotImplementedError would catch them unaware.
5.- Finally, a minor cosmetic suggestion: Possibly "ini" is a better name for
the plugin because it's shorter. I'm afraid this will be the only Ini-based
plugin, and if not, you came up first :) . Anyway, it's a minor issue and it's
up to you.
Please don't hesitate to get back with more questions. I'll be glad to help =)
PS: Are you planning on enabling write
Gustavo Narea <http://gustavonarea.net/>.
Get rid of unethical constraints! Get freedomware:
Repoze-dev mailing list