{"action":"created","issue":{"url":"https://api.github.com/repos/cms-sw/cmssw/issues/12842","labels_url":"https://api.github.com/repos/cms-sw/cmssw/issues/12842/labels{/name}","comments_url":"https://api.github.com/repos/cms-sw/cmssw/issues/12842/comments","events_url":"https://api.github.com/repos/cms-sw/cmssw/issues/12842/events","html_url":"https://github.com/cms-sw/cmssw/issues/12842","id":123570804,"number":12842,"title":"Process dump python psets first [or how to modify outputCommands from ConfigBuilder]","user":{"login":"slava77","id":4676718,"avatar_url":"https://avatars.githubusercontent.com/u/4676718?v=3","gravatar_id":"","url":"https://api.github.com/users/slava77","html_url":"https://github.com/slava77","followers_url":"https://api.github.com/users/slava77/followers","following_url":"https://api.github.com/users/slava77/following{/other_user}","gists_url":"https://api.github.com/users/slava77/gists{/gist_id}","starred_url":"https://api.github.com/users/slava77/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/slava77/subscriptions","organizations_url":"https://api.github.com/users/slava77/orgs","repos_url":"https://api.github.com/users/slava77/repos","events_url":"https://api.github.com/users/slava77/events{/privacy}","received_events_url":"https://api.github.com/users/slava77/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/cms-sw/cmssw/labels/pending-assignment","name":"pending-assignment","color":"eb6420"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-12-22T22:45:51Z","updated_at":"2015-12-22T22:54:40Z","closed_at":null,"body":"Context: DataProcessing-like configuration building is done with an instance of cms.Process and then manipulations by ConfigBuilder, the final configuration is made by Process::dumpPython call (there is no intermediate text config file like for configurations made by cmsDriver).\r\n\r\nSymptoms: process instance made by ConfigBuilder in python can not have its output module outputCommands modified. (Note that customization works in python text config files.)\r\nMore explicitly, say, for the event content defined by RECOEventContent, it is possible to modify the RECOEventContent PSet by just calling process.someOuput.RECOEventContent.remove(something), but it will have no effect on the output modules creaded by ConfigBuilder.\r\nBy default the python output module objects made by ConfigBuilder have the content of outputCommands inlined immediately, which looses the relationship with the original PSet. This behavior can be changed by ```  inlineEventContent = False``` option:\r\nit overrides the __dict__[\"dumpPython\"]  for outputCommands and leaves e.g. ```process.someOutput.outputCommands = RECOEventContent.outputCommands``` unchanged (not inlined). After this modification the process.dumpPython will leave ```process.someOutput.outputCommands = RECOEventContent.outputCommands``` as is and the dumped python is not runnable.\r\n\r\nProposed solution: change the order of dumps in Process::dumpPython\r\nhttps://github.com/cms-sw/cmssw/blob/CMSSW_7_6_3/FWCore/ParameterSet/python/Config.py#L708\r\nPut the self.psets and self.vpsets (and maybe more) first, so that they can be interpreted inside the modules using the psets."},"comment":{"url":"https://api.github.com/repos/cms-sw/cmssw/issues/comments/166756292","html_url":"https://github.com/cms-sw/cmssw/issues/12842#issuecomment-166756292","issue_url":"https://api.github.com/repos/cms-sw/cmssw/issues/12842","id":166756292,"user":{"login":"slava77","id":4676718,"avatar_url":"https://avatars.githubusercontent.com/u/4676718?v=3","gravatar_id":"","url":"https://api.github.com/users/slava77","html_url":"https://github.com/slava77","followers_url":"https://api.github.com/users/slava77/followers","following_url":"https://api.github.com/users/slava77/following{/other_user}","gists_url":"https://api.github.com/users/slava77/gists{/gist_id}","starred_url":"https://api.github.com/users/slava77/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/slava77/subscriptions","organizations_url":"https://api.github.com/users/slava77/orgs","repos_url":"https://api.github.com/users/slava77/repos","events_url":"https://api.github.com/users/slava77/events{/privacy}","received_events_url":"https://api.github.com/users/slava77/received_events","type":"User","site_admin":false},"created_at":"2015-12-22T22:54:40Z","updated_at":"2015-12-22T22:54:40Z","body":"looks like I can't assign issues to categories (at least not to core)"}}