Skip to content

Commit

Permalink
Run formatting 🧹 (#7)
Browse files Browse the repository at this point in the history
* Run formatting

* Fix workflows
  • Loading branch information
mmazurekgda authored Apr 15, 2024
1 parent bc6a43e commit 3b0942d
Show file tree
Hide file tree
Showing 3 changed files with 55 additions and 36 deletions.
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ repos:
rev: 23.9.1
hooks:
- id: black
language_version: python3.11
language_version: python3.9
- repo: https://github.com/PyCQA/flake8
rev: 6.1.0
hooks:
Expand Down
41 changes: 25 additions & 16 deletions run.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
try:
import config as cfg
except ImportError:

class cfg(object):
slots_to_check = StatusChecker.slots_to_check
platforms_to_check = StatusChecker.platforms_to_check
Expand Down Expand Up @@ -136,28 +137,36 @@ def mkconfig(date, slots, platforms, projects):
project_names=projects,
)
slots_list = [sn for sn in checker._slots.keys()]
miss_slots = [sn for sn in StatusChecker.slots_to_check
if sn not in slots_list]
miss_slots = [
sn for sn in StatusChecker.slots_to_check if sn not in slots_list
]
if len(miss_slots) > 0:
logging.warning("Hardcoded default slots {} not found in Nightly page."
" Maybe update package!".format(', '.join(miss_slots)))
logging.warning(
"Hardcoded default slots {} not found in Nightly page."
" Maybe update package!".format(", ".join(miss_slots))
)
for slot, build in checker._slots.items():
r = checker._get_Platforms_Projects_for_slot(slot, build)
project_list += [pn for pn in r[1] if pn not in project_list]
platform_list += [pn for pn in r[0] if pn not in platform_list]
slots_str = pretty_sep.join(['"{}"'.format(ss)
for ss in slots_list])
projects_str = pretty_sep.join(['"{}"'.format(ss)
for ss in project_list])
platforms_str = pretty_sep.join(['"{}"'.format(ss)
for ss in platform_list])
with open("config.py", 'w', encoding='utf-8') as fp:
fp.write(cfg_code.format(slots_list=slots_str,
project_list=projects_str,
platform_list=platforms_str))
slots_str = pretty_sep.join(['"{}"'.format(ss) for ss in slots_list])
projects_str = pretty_sep.join(['"{}"'.format(ss) for ss in project_list])
platforms_str = pretty_sep.join(
['"{}"'.format(ss) for ss in platform_list]
)
with open("config.py", "w", encoding="utf-8") as fp:
fp.write(
cfg_code.format(
slots_list=slots_str,
project_list=projects_str,
platform_list=platforms_str,
)
)
fp.flush()
logging.info("'config.py' file written to disk. "
"Edit accordingly and run script again for desired function.")
logging.info(
"'config.py' file written to disk. "
"Edit accordingly and run script again for desired function."
)


cli.add_command(current_status)
Expand Down
48 changes: 29 additions & 19 deletions status_checker.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,15 @@
def tokenizePlatforms(plist):
tree = {}
for pp in set(plist):
toks = pp.split('-', 3)
toks = pp.split("-", 3)
for i in range(0, 4):
tk = '-'.join(toks[0:i])
tk = "-".join(toks[0:i])
if tk in tree:
tree[tk].append(pp)
else:
tree[tk] = [pp, ]
tree[tk] = [
pp,
]
return tree


Expand Down Expand Up @@ -130,8 +132,8 @@ def get_current_builds(self):
logging.debug(f"Found build ids: {dict(self._slots)}.")

def _get_short_platforms(
self,
plist: [],
self,
plist: [],
) -> []:
"""Return list of short platform names to check in results.
Replace common prefixes by * w.r.t. previous platform considered."""
Expand All @@ -150,14 +152,14 @@ def _get_short_platforms(
ret.append(pc)
else:
ss = slice(len(pk), len(pc))
ret.append('*' + pc[ss])
ret.append("*" + pc[ss])
pp = pc
return ret

def _get_Platforms_Projects_for_slot(
self,
slot: str,
build_id: int,
self,
slot: str,
build_id: int,
) -> ([], []):
response = requests.get(f"{self.api_page}/{slot}/{build_id}/summary")
response.raise_for_status()
Expand All @@ -166,11 +168,12 @@ def _get_Platforms_Projects_for_slot(
projects = []
if parsed["aborted"]:
return platforms, projects
if 'platforms' in parsed:
platforms = parsed['platforms']
if 'projects' in parsed:
projects = [pdic['name'] for pdic in parsed['projects']
if pdic['enabled']]
if "platforms" in parsed:
platforms = parsed["platforms"]
if "projects" in parsed:
projects = [
pdic["name"] for pdic in parsed["projects"] if pdic["enabled"]
]
return platforms, projects

def _fetch_build_info(
Expand All @@ -194,8 +197,11 @@ def _fetch_build_info(
and project["enabled"]
):
if df.empty:
long_platforms = [pn for pn in self.platforms_to_check
if pn in project['results']]
long_platforms = [
pn
for pn in self.platforms_to_check
if pn in project["results"]
]
long_platforms.sort(reverse=True)
short_platforms = self._get_short_platforms(long_platforms)
# short_platforms = [
Expand All @@ -204,17 +210,21 @@ def _fetch_build_info(
# for platform in self.platforms_to_check
# if platform in project["results"]
# ]
# make short platform names unique for PANDA (add +1,+2, ... to same names in list)
# make short platform names unique for PANDA
# (add +1,+2, ... to same names in list)
ssplatforms = set(short_platforms)
if len(ssplatforms) < len(short_platforms):
for pn in ssplatforms:
if not pn.startswith('*') or short_platforms.count(pn) == 1:
if (
not pn.startswith("*")
or short_platforms.count(pn) == 1
):
continue
pc = 1
while True:
try:
ip = short_platforms.index(pn)
short_platforms[ip] += '!{}'.format(pc)
short_platforms[ip] += "!{}".format(pc)
pc += 1
except ValueError:
break
Expand Down

0 comments on commit 3b0942d

Please sign in to comment.