{"action":"created","issue":{"url":"https://api.github.com/repos/mxcube/HardwareRepository/issues/409","repository_url":"https://api.github.com/repos/mxcube/HardwareRepository","labels_url":"https://api.github.com/repos/mxcube/HardwareRepository/issues/409/labels{/name}","comments_url":"https://api.github.com/repos/mxcube/HardwareRepository/issues/409/comments","events_url":"https://api.github.com/repos/mxcube/HardwareRepository/issues/409/events","html_url":"https://github.com/mxcube/HardwareRepository/pull/409","id":476939295,"node_id":"MDExOlB1bGxSZXF1ZXN0MzA0MzY1NzEw","number":409,"title":"Beamline obj implementation","user":{"login":"rhfogh","id":9820176,"node_id":"MDQ6VXNlcjk4MjAxNzY=","avatar_url":"https://avatars0.githubusercontent.com/u/9820176?v=4","gravatar_id":"","url":"https://api.github.com/users/rhfogh","html_url":"https://github.com/rhfogh","followers_url":"https://api.github.com/users/rhfogh/followers","following_url":"https://api.github.com/users/rhfogh/following{/other_user}","gists_url":"https://api.github.com/users/rhfogh/gists{/gist_id}","starred_url":"https://api.github.com/users/rhfogh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rhfogh/subscriptions","organizations_url":"https://api.github.com/users/rhfogh/orgs","repos_url":"https://api.github.com/users/rhfogh/repos","events_url":"https://api.github.com/users/rhfogh/events{/privacy}","received_events_url":"https://api.github.com/users/rhfogh/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2019-08-05T15:59:59Z","updated_at":"2019-09-04T15:15:13Z","closed_at":null,"author_association":"COLLABORATOR","pull_request":{"url":"https://api.github.com/repos/mxcube/HardwareRepository/pulls/409","html_url":"https://github.com/mxcube/HardwareRepository/pull/409","diff_url":"https://github.com/mxcube/HardwareRepository/pull/409.diff","patch_url":"https://github.com/mxcube/HardwareRepository/pull/409.patch"},"body":"This one is big - and there is a parallel one for the mxcube repository.\r\n\r\nIt is no  longer WIP, so please comment. I would propose that we dispatch this one, one way or the other, before making any other important PRs - it will be real painful to merge this with anything else.\r\n\r\nSome points:\r\n\r\n- I have made the new beamline_object and removed all references to api. I have removed (as far as possible) all references via getObjectByRole, getHardwareObject etc. to the objects now available in the beamline_object. I have removed internal attributes (like camera_hwobj) that were used to track now unnecessary locally configured objects. Beyond that there was some necessary refactoring, but I have tried to keep that down.\r\n\r\n- This change is so big, and I can only test the mock version, that there is bound to be errors. It cannot be helped (and if I did not makie the changes now, would they ever have happened?) Please bear with me. \r\n\r\n- The qt3 directories and MultiCollect classes should be free from changes (and so out of sync with the rest) NanoDiff may not be completely covered (it does not seem to be used from any code I have).\r\n\r\n- image_tracking and ppu_control are implemented only in the EMBL-specific object and config.\r\n\r\n- HardwareObjects that the meeting agreed should be contained within the objects in the top layer have been implemented as properties, but their underlying configuration has been left as it was.\r\n\r\n- If we need suport for hot-switching the defined HardwareObjects more coding would be required.\r\n\r\n- The first thing needed after this is for sites to make their own configs in the new scheme, and test the result.  There is a whole layer of further clean-up, once this is accepted. Not just the now_unnecessary parts of the config files - lot of functions on e.g. Diffractometer should be removed as obsolete, Some classes should be as well. In the longer term we might want to switch to using yaml configuration for everything, \r\n\r\n- I would propose that we deal with this one before we get into any other changes. Merging this with anything else would be a paoinful job."},"comment":{"url":"https://api.github.com/repos/mxcube/HardwareRepository/issues/comments/527947740","html_url":"https://github.com/mxcube/HardwareRepository/pull/409#issuecomment-527947740","issue_url":"https://api.github.com/repos/mxcube/HardwareRepository/issues/409","id":527947740,"node_id":"MDEyOklzc3VlQ29tbWVudDUyNzk0Nzc0MA==","user":{"login":"codacy-bot","id":19940114,"node_id":"MDQ6VXNlcjE5OTQwMTE0","avatar_url":"https://avatars1.githubusercontent.com/u/19940114?v=4","gravatar_id":"","url":"https://api.github.com/users/codacy-bot","html_url":"https://github.com/codacy-bot","followers_url":"https://api.github.com/users/codacy-bot/followers","following_url":"https://api.github.com/users/codacy-bot/following{/other_user}","gists_url":"https://api.github.com/users/codacy-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/codacy-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/codacy-bot/subscriptions","organizations_url":"https://api.github.com/users/codacy-bot/orgs","repos_url":"https://api.github.com/users/codacy-bot/repos","events_url":"https://api.github.com/users/codacy-bot/events{/privacy}","received_events_url":"https://api.github.com/users/codacy-bot/received_events","type":"User","site_admin":false},"created_at":"2019-09-04T15:15:13Z","updated_at":"2019-09-04T15:15:13Z","author_association":"NONE","body":"\n![Codacy](https://app.codacy.com/assets/images/favicon.png) Here is an overview of what got changed by this pull request:\n\n\n```diff\n\nIssues\n======\n+ Solved 286\n- Added 227\n           \n\nComplexity increasing per file\n==============================\n- ConvertUtils.py  1\n- HardwareObjects/Beamline.py  9\n- HardwareObjects/mockup/AutoProcessingMockup.py  9\n- HardwareObjects/EMBL/EMBLBeamline.py  1\n         \n\nComplexity decreasing per file\n==============================\n+ HardwareObjects/GenericDiffractometer.py  -3\n+ HardwareObjects/ESRF/ID30BXRFSpectrum.py  -3\n+ HardwareObjects/SOLEIL/SOLEILEnergyScan.py  -1\n+ HardwareObjects/MiniDiff.py  -3\n+ HardwareObjects/MAXIV/BIOMAXEnergy.py  -1\n+ HardwareObjects/DESY/NanoDiff.py  -3\n         \n\nClones added\n============\n- HardwareObjects/mockup/AutoProcessingMockup.py  5\n- HardwareObjects/abstract/AbstractDataAnalysis.py  1\n- HardwareObjects/SOLEIL/SOLEILBeamlineSetup.py  1\n- HardwareObjects/BeamlineSetup.py  1\n- HardwareObjects/ESRF/ID29HutchTrigger.py  1\n- HardwareObjects/ESRF/ID232HutchTrigger.py  1\n         \n\nClones removed\n==============\n+ HardwareObjects/ESRF/ESRFBeamInfo.py  -1\n+ HardwareObjects/SOLEIL/PX1/PX1Collect.py  -1\n+ HardwareObjects/ESRF/ID30BeamInfo.py  -1\n+ HardwareObjects/GenericDiffractometer.py  -2\n+ HardwareObjects/EMBL/EMBLBSD.py  -1\n+ HardwareObjects/ESRF/ID30BXRFSpectrum.py  -2\n+ HardwareObjects/ShapeHistory.py  -1\n+ HardwareObjects/MAXIV/BIOMAXResolution.py  -1\n+ HardwareObjects/SOLEIL/PX2/PX2Collect.py  -1\n+ HardwareObjects/XRFSpectrum.py  -2\n+ HardwareObjects/MiniDiff.py  -2\n+ HardwareObjects/MAXIV/BIOMAXBeamInfo.py  -1\n+ HardwareObjects/SOLEIL/PX2/PX2Diffractometer.py  -1\n+ HardwareObjects/DESY/NanoDiff.py  -2\n+ HardwareObjects/Microdiff.py  -1\n+ HardwareObjects/Resolution.py  -1\n+ HardwareObjects/MAXIV/BIOMAXMD3.py  -1\n+ HardwareObjects/EMBL/EMBLMiniDiff.py  -1\n+ HardwareObjects/ALBA/ALBACollect.py  -1\n+ HardwareObjects/MAXIV/BIOMAXCollect.py  -1\n         \n```\n\n\nSee the complete overview on [Codacy](https://app.codacy.com/app/mxcube/HardwareRepository/pullRequest?prid=3960202&bid=13734718)\n        "}}
{"actor":{"display_login":"codacy-bot"}}