libkas: Ensure Python 3.7 compatibility
In 3.7, async became a reserved word. So we can no longer use it directly for pre-3.5 compatibility. At this chance, extract the common compat part into a helper function. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
This commit is contained in:
parent
5025f89c01
commit
7155769f06
@ -157,18 +157,24 @@ def find_program(paths, name):
|
||||
return None
|
||||
|
||||
|
||||
def _create_task(routine):
|
||||
try:
|
||||
creation_func = asyncio.ensure_future
|
||||
except AttributeError:
|
||||
# for Python < 3.5, avoiding the keyword 'async' introduced in 3.7
|
||||
creation_func = getattr(asyncio, 'async')
|
||||
|
||||
# pylint: disable=deprecated-method
|
||||
return creation_func(routine)
|
||||
|
||||
|
||||
def repos_fetch(repos):
|
||||
"""
|
||||
Fetches the list of repositories to the kas_work_dir.
|
||||
"""
|
||||
tasks = []
|
||||
for repo in repos:
|
||||
if not hasattr(asyncio, 'ensure_future'):
|
||||
# pylint: disable=no-member,deprecated-method
|
||||
task = asyncio.async(repo.fetch_async())
|
||||
else:
|
||||
task = asyncio.ensure_future(repo.fetch_async())
|
||||
tasks.append(task)
|
||||
tasks.append(_create_task(repo.fetch_async()))
|
||||
|
||||
loop = asyncio.get_event_loop()
|
||||
loop.run_until_complete(asyncio.wait(tasks))
|
||||
@ -184,12 +190,7 @@ def repos_apply_patches(repos):
|
||||
"""
|
||||
tasks = []
|
||||
for repo in repos:
|
||||
if not hasattr(asyncio, 'ensure_future'):
|
||||
# pylint: disable=no-member,deprecated-method
|
||||
task = asyncio.async(repo.apply_patches_async())
|
||||
else:
|
||||
task = asyncio.ensure_future(repo.apply_patches_async())
|
||||
tasks.append(task)
|
||||
tasks.append(_create_task(repo.apply_patches_async()))
|
||||
|
||||
loop = asyncio.get_event_loop()
|
||||
loop.run_until_complete(asyncio.wait(tasks))
|
||||
|
Loading…
Reference in New Issue
Block a user