On Sept. 2, 2013, 11:58 a.m., Radek Novacek wrote:
src/service-dbus/test/testService.py, lines 100-102 http://reviewboard-openlmi.rhcloud.com/r/805/diff/1/?file=4443#file4443line100
This is way too complicated only to get list of services (and also hard to read). I would go with simple loop like this: sysd_services = [] for line in subprocess.check_output(["/usr/bin/systemctl", "list-unit-files", "-t", "service", "--no-pager", "--no-legend"]).split("\n"): service_name = line.split(" ", 1)[0] if service_name and "@.service" not in service_name: sysd_services.append(service_name)
Robin Hack wrote: It's not that hard to read when you know basics of functional programming. Maybe grep in subprocess.check_output can be replaced by better solution.
I don't like something like: for line in some_very_long_function_name_with(lot, of, parameters, howg):
Radek Novacek wrote: Then store the result of some_very_long_function_name_with function to temporary variable.
What about: sysd_output = subprocess.check_output("systemctl list-unit-files -t service --no-pager --no-legend".split()) sysd_services_tmp = filter (lambda p: p and "@.service" not in p[0], map (lambda x: x.split(), sysd_output.split("\n")))
It's simpler. I removed the ugly grep and pipe.
- Robin
----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://reviewboard-openlmi.rhcloud.com/r/805/#review1060 -----------------------------------------------------------
On Sept. 2, 2013, 11:16 a.m., Robin Hack wrote:
This is an automatically generated e-mail. To reply, visit: http://reviewboard-openlmi.rhcloud.com/r/805/
(Updated Sept. 2, 2013, 11:16 a.m.)
Review request for OpenLMI Developers.
Repository: openlmi-providers
Description
Service tests: Upstream test for service profider from QA.
Diffs
src/service-dbus/test/failing.service PRE-CREATION src/service-dbus/test/testService.py PRE-CREATION
Diff: http://reviewboard-openlmi.rhcloud.com/r/805/diff/
Testing
Thanks,
Robin Hack