{"pull_request":{"state":"open","deletions":169,"user":{"avatar_url":"https://secure.gravatar.com/avatar/37d081c393f95a14e2704af38ecc4c8d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"37d081c393f95a14e2704af38ecc4c8d","url":"https://api.github.com/users/peterbe","login":"peterbe","id":26739},"merged_by":null,"updated_at":"2011-11-15T00:54:52Z","base":{"ref":"master","user":{"avatar_url":"https://secure.gravatar.com/avatar/532ea239a8414ba61b469614dfce6144?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"532ea239a8414ba61b469614dfce6144","url":"https://api.github.com/users/twobraids","login":"twobraids","id":581227},"repo":{"name":"configman","pushed_at":"2011-11-10T22:57:52Z","fork":false,"master_branch":null,"open_issues":3,"updated_at":"2011-11-10T22:57:52Z","clone_url":"https://github.com/twobraids/configman.git","homepage":"","private":false,"svn_url":"https://svn.github.com/twobraids/configman","language":"Python","forks":2,"url":"https://api.github.com/repos/twobraids/configman","owner":{"avatar_url":"https://secure.gravatar.com/avatar/532ea239a8414ba61b469614dfce6144?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"532ea239a8414ba61b469614dfce6144","url":"https://api.github.com/users/twobraids","login":"twobraids","id":581227},"html_url":"https://github.com/twobraids/configman","description":"the grand unified configuration theorem","size":300,"id":2406104,"git_url":"git://github.com/twobraids/configman.git","watchers":3,"created_at":"2011-09-17T18:36:14Z","ssh_url":"git@github.com:twobraids/configman.git"},"label":"twobraids:master","sha":"cbd86cf8c1d0adfd231062ce2825711ad2c75d99"},"commits":3,"comments":0,"diff_url":"https://github.com/twobraids/configman/pull/17.diff","closed_at":null,"head":{"ref":"refactor-circular-imports","user":{"avatar_url":"https://secure.gravatar.com/avatar/37d081c393f95a14e2704af38ecc4c8d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"37d081c393f95a14e2704af38ecc4c8d","url":"https://api.github.com/users/peterbe","login":"peterbe","id":26739},"repo":{"name":"configman","pushed_at":"2011-11-15T00:50:05Z","fork":true,"master_branch":null,"open_issues":0,"updated_at":"2011-11-15T00:50:06Z","clone_url":"https://github.com/peterbe/configman.git","homepage":"","private":false,"svn_url":"https://svn.github.com/peterbe/configman","language":"Python","forks":0,"url":"https://api.github.com/repos/peterbe/configman","owner":{"avatar_url":"https://secure.gravatar.com/avatar/37d081c393f95a14e2704af38ecc4c8d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"37d081c393f95a14e2704af38ecc4c8d","url":"https://api.github.com/users/peterbe","login":"peterbe","id":26739},"html_url":"https://github.com/peterbe/configman","description":"the grand unified configuration theorem","size":120,"id":2431381,"git_url":"git://github.com/peterbe/configman.git","watchers":2,"created_at":"2011-09-21T17:28:52Z","ssh_url":"git@github.com:peterbe/configman.git"},"label":"peterbe:refactor-circular-imports","sha":"251c18bef8d5839011303e2d331d1ab923a006e1"},"additions":214,"url":"https://api.github.com/repos/twobraids/configman/pulls/17","merged":false,"merged_at":null,"body":"* All mentioning of \"configman\" inside the files in value_sources/ was replaced with relative imports. Not only is that more \"solid\" it also means that the code within doesn't depend on the name of its container. \r\n\r\n* The circular import was fixed but refactoring out ``option_val_str`` from ``ConfigurationManager`` into ``converters.py`` instead. A deprecation warning is still lingering in there. We also need to review the test coverage.\r\n\r\n* All handling of the file \"exceptions.py\" refactoring. \"exceptions.py\" is no more. Also, I reshuffled all use of config_exceptions.py and source_exceptions.py so that it doesn't import these are modules but that it imports all exceptions themselves. If we had 100% test coverage I didn't need to do that. Going through the code I actually found lots of places where it did ``except FooBarError`` or something and ``FooBarError`` wasn't imported so it would have barfed on the exception handling itself. \r\n\r\n* A bunch of pep8 and pyflake fixes. ","_links":{"comments":{"href":"https://api.github.com/repos/twobraids/configman/issues/17/comments"},"html":{"href":"https://github.com/twobraids/configman/pull/17"},"review_comments":{"href":"https://api.github.com/repos/twobraids/configman/pulls/17/comments"},"self":{"href":"https://api.github.com/repos/twobraids/configman/pulls/17"}},"issue_url":"https://github.com/twobraids/configman/issues/17","review_comments":0,"html_url":"https://github.com/twobraids/configman/pull/17","number":17,"title":"value_sources/ now uses relative imports","mergeable":true,"id":494119,"patch_url":"https://github.com/twobraids/configman/pull/17.patch","changed_files":12,"created_at":"2011-11-15T00:54:52Z"},"action":"opened","number":17}