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#file4443li...
>
> 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.
Robin Hack wrote:
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.
Radek Novacek wrote:
A little bit better :) Add comment what it does and it's good to go.
Jan Synacek wrote:
Please, don't do this. This is impossible to read without staring at it for a
while.
Final version:
# Parse list of services. Filter blank lines and services with @.service string
in name.
sysd_services = []
for line in sysd_output.split("\n"):
service = line.split()
if service and "@.service" not in service[0]:
sysd_services.append(service)
- 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