{"push_id":842382840,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"d900072bb6190484e2558bd26c62f50396ff93a5","before":"9fe1b93f335a03037b846f0a76b452681fe9ad35","commits":[{"sha":"d900072bb6190484e2558bd26c62f50396ff93a5","author":{"email":"d2bf0fc09b08f7b0888b3ddab32b3e89c7122c8b@chromium.org","name":"maruel"},"message":"Refactor android.py to be more OOP based.\n\nConvert the high level functions into a class HighDevice. Make the high level\nclass inherit the low level class LowDevice. (Go-style embedding would have been\nbetter but it's too much work for the benefit here.\n\nNote that the split is mainly done to make the code maintainable. From the\nuser's perspective, the user doesn't care if (s)he using the low level or high\nlevel functionality as long as it works. The get_devices() function only return\nHighDevice instances.\n\nWhat I really wanted to do here is Go-style struct embedding but this can't\neasily be done in python as I didn't want to hook __getattribute__.\n\nWhile the diff is large, most of the change is index +2 and s/device/self/.\n\nR=jbudorick@chromium.org\nBUG=chromium:525873\n\nReview URL: https://codereview.chromium.org/1423823002","distinct":true,"url":"https://api.github.com/repos/luci/luci-py/commits/d900072bb6190484e2558bd26c62f50396ff93a5"}]}