Advertisement
Guest User

Untitled

a guest
Apr 24th, 2019
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.32 KB | None | 0 0
  1. # a small python script to test my page centering algorithm
  2.  
  3. import sys
  4. from termcolor import colored, cprint
  5.  
  6. def main(curr_page, max_page):
  7. # default page settings
  8. start = 1
  9. end = max_page
  10.  
  11. # initialize for later printing
  12. start_diff = 0
  13. end_diff = 0
  14.  
  15. # handle centering
  16. if max_page >= 5:
  17. start = max(1, curr_page - 2)
  18. end = min(curr_page + 2, max_page)
  19. end_diff = max_page - curr_page
  20. if end_diff < 2:
  21. start = start - (2 - end_diff)
  22. start_diff = curr_page - 1
  23. if start_diff < 2:
  24. end = end + (2 - start_diff)
  25.  
  26. print(f'max_page={max_page}')
  27. print(f'curr_page={curr_page}')
  28. print(f'start={start}')
  29. print(f'start_diff={start_diff}')
  30. print(f'end_diff={end_diff}')
  31. print(f'end={end}')
  32. print()
  33.  
  34. i = start
  35. text = colored('')
  36. while i <= end:
  37. if i == curr_page:
  38. text = text + colored(f'{i}', 'grey', 'on_red') + colored(' ')
  39. else:
  40. text = text + colored(f'{i} ')
  41. i = i + 1
  42. cprint(text)
  43.  
  44.  
  45. # executing script will call main()
  46. if __name__ == "__main__":
  47. err_msg = 'usage: ./script <curr_page> <max_page>'
  48. try:
  49. arg1 = int(sys.argv[1])
  50. arg2 = int(sys.argv[2])
  51. # start the program
  52. main(arg1, arg2)
  53. except IndexError as e:
  54. print(e)
  55. print(err_msg)
  56. except Exception as e:
  57. print(e)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement