Skip to content

Commit

Permalink
Extract the display offset number function
Browse files Browse the repository at this point in the history
  • Loading branch information
duchenean committed May 15, 2024
1 parent 833d576 commit 1ce292f
Showing 1 changed file with 10 additions and 3 deletions.
13 changes: 10 additions & 3 deletions imio/pyutils/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,13 @@ def get_clusters(numbers=[], separator=", "):
return separator.join(res)


def display_offset_number(number, offset):
"""Display a number with an offset. For example when p_number=123 and offset=100, it returns '1.23'"""
if number % offset == 0:
return str(int(number / offset))
return '{}.{}'.format(number // offset, number % offset)


def get_ordinal_clusters(
numbers=[],
cluster_format="{0}-{1}",
Expand Down Expand Up @@ -99,12 +106,12 @@ def _is_in_cluster(number, cluster, offset):
return clusters

res = []
display_fn = lambda n: str(int(n / offset)) if n % offset == 0 else '{}.{}'.format(n // offset, n % offset)
for cluster in clusters:
if len(cluster) > 1:
res.append(cluster_format.format(display_fn(cluster[0]), display_fn(cluster[-1])))
res.append(cluster_format.format(display_offset_number(cluster[0], offset),
display_offset_number(cluster[-1], offset)))
else:
res.append(single_cluster_format.format(display_fn(cluster[0])))
res.append(single_cluster_format.format(display_offset_number(cluster[0], offset)))
return separator.join(res)


Expand Down

0 comments on commit 1ce292f

Please sign in to comment.