11a7d1aac16cfc653302a713b756fe4c352f450d
max
  Mon May 19 02:34:40 2025 -0700
fixing panelApp bug, refs #35757

diff --git src/hg/utils/otto/panelApp/tandRep.py src/hg/utils/otto/panelApp/tandRep.py
index b51584f63c0..003eee4b0a8 100644
--- src/hg/utils/otto/panelApp/tandRep.py
+++ src/hg/utils/otto/panelApp/tandRep.py
@@ -1,58 +1,34 @@
 import requests
 import json 
 import pandas as pd 
 import sys 
 import argparse
 import re
+import cnv
 
-def get_url(url):
-    page_count = 1
-    jData = dict()
-    while True:
-        try:
-            new_url = "{}{}".format(url, page_count)
-            myResponse = requests.get(new_url)
-            if (myResponse.ok):
-                jData = json.loads(myResponse.content.decode())
-
-                # If jData is empty create, else append
-                if "error" in jData.keys():
-                    raise Exception("{} page count is missing.".format(page_count))
-            else:
-                print('Json data retrieved')
-                break
-        except:
-            if page_count > 1:
-                print('Json data retrieved')
-            else:
-                print("Unable to request URL")
-                sys.exit()
-            break
-        print(page_count)
-        page_count += 1
-    return jData
-        
+from cnv import getAllPages
 
 def downloadTandReps():
     Error = True
     continuous_count=0
-    url = "https://panelapp.genomicsengland.co.uk/api/v1/strs/?page="
-    jData = get_url(url)
+    url = "https://panelapp.genomicsengland.co.uk/api/v1/strs/?format=json"
+    res = getAllPages(url)
 
-    res = jData['results']
     num_gene_data = len(res)
+    print("Got %d tandem repeats from API" % num_gene_data)
+
     count = 0
     continuous_count = 0
     hg19_dict = dict()
     hg38_dict = dict()
 
     while count != num_gene_data:
         #if count == 10:
         #    break
         string_dict_key = 'gene_{}'.format(continuous_count)
         
         temp_attribute_dictionary = dict()
         chromosome = res[count]['chromosome']    
         chromosome = 'chr{}'.format(chromosome)
         confidence_level = res[count]['confidence_level']
         entity_name = res[count]['entity_name']