{"action":"opened","issue":{"url":"https://api.github.com/repos/JdeH/Opy/issues/9","repository_url":"https://api.github.com/repos/JdeH/Opy","labels_url":"https://api.github.com/repos/JdeH/Opy/issues/9/labels{/name}","comments_url":"https://api.github.com/repos/JdeH/Opy/issues/9/comments","events_url":"https://api.github.com/repos/JdeH/Opy/issues/9/events","html_url":"https://github.com/JdeH/Opy/issues/9","id":173231751,"number":9,"title":"Can't separate external dependencies from project modules","user":{"login":"sergei-sh","id":18716040,"avatar_url":"https://avatars.githubusercontent.com/u/18716040?v=3","gravatar_id":"","url":"https://api.github.com/users/sergei-sh","html_url":"https://github.com/sergei-sh","followers_url":"https://api.github.com/users/sergei-sh/followers","following_url":"https://api.github.com/users/sergei-sh/following{/other_user}","gists_url":"https://api.github.com/users/sergei-sh/gists{/gist_id}","starred_url":"https://api.github.com/users/sergei-sh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sergei-sh/subscriptions","organizations_url":"https://api.github.com/users/sergei-sh/orgs","repos_url":"https://api.github.com/users/sergei-sh/repos","events_url":"https://api.github.com/users/sergei-sh/events{/privacy}","received_events_url":"https://api.github.com/users/sergei-sh/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-08-25T15:17:09Z","updated_at":"2016-08-25T15:17:09Z","closed_at":null,"body":"Hi there, I've spent few hours trying to make your program work with my (not too big), but gave up at the end. The problem is that I have to blacklist all external module names found like the following:\r\n\r\nimport module1\r\nfrom module1 import class1\r\nimport module1.class2 \r\n... etc\r\n\r\nAfter a lot of grepping and manual selection I succeeded, but found that the following also doesn't work:\r\n\r\nfrom name1 import name2\r\nname2.method()\r\n\r\nAlthough blacklisting name1 and name2, method() is being obfuscated and thus does not work. I don't see an easy automated way to collect all those method()s\r\n\r\na) I think you could add automatic detection of project modules (not too difficult AFAIU) and exclude all external modules/namespaces from obfuscation.\r\n\r\nb) Another solution is to obfuscate only those symbols which are NOT modules and o. modules by whitelist. Getting a whitelist of (project) modules is an easy task, even if done manually"}}
{"actor":{"display_login":"sergei-sh"}}