The url is accessible and it's being called in the following def get\_gigapixel\_setting(self, tag):
 self.error("get\_gigapixel\_setting: "+tag)
 split\_list = tag.split(":")
 first\_half\_mode = split\_list[0]
 second\_half\_scale = split\_list[1]
 # Change to Enum Values
 # first\_half\_mode = mode\_mapping[first\_half\_mode]
 # second\_half\_scale = scale\_mapping[second\_half\_scale]

 self.error("first\_half\_mode: "+str(first\_half\_mode))
 self.error("second\_half\_scale: "+str(second\_half\_scale))

 mode = mode\_mapping.get(first\_half\_mode, None)

 scale = scale\_mapping.get(second\_half\_scale, None)
 
 self.error("mode: "+str(mode))
 self.error("scale: "+str(scale))
 # if not scale:
 # self.error("No scale setting found")
 # continue
 # scale = scale\_mapping.get(first\_half\_mode, None)
 # self.error("scale: "+str(scale))

 # if not scale:
 # self.debug("No scale setting in tags, Removing tag: "+tag)
 return mode, scale

 def check\_tag\_names\_not\_empty(self, tag\_names):
 if not tag\_names:
 raise ValueError("tag\_names is empty")

 def check\_tags\_not\_empty(self, tags):
 if not tags:
 raise ValueError("tags is empty")

 def check\_tag\_in\_tag\_names(self, tags, tag\_names):
 for tag in tags:
 if tag not in tag\_names:
 return False
 return True

 def check\_performer\_tagged\_once(self, tags, tag\_names):
 # if len(set(tags).intersection(tag\_names)) > 1:
 # raise ValueError("Performer is tagged with more than one value in tag\_names- skipping")
 if not set(tags).intersection(tag\_names):
 return

 def upscale\_PerformerImage(self):
 global app\_keys
 # Create instance of TerminateProcess to terminate Gigapixel if already running
 tp = TerminateProcess(EXE\_PATH)
 # Start the thread and call terminate\_gigapixel
 tp.run\_terminate\_in\_thread()

 # Start Gigapixel instance through thread
 app = MainGigapixel(EXE\_PATH, OUTPUT\_SUFFIX)
 app.start\_gigapixel\_thread()

 # Continue
 self.check\_tag\_names\_not\_empty(tag\_names)
 for tag\_name in tag\_names:
 tag\_id = self.findTagIdWithName(tag\_name)
 if not tag\_id:
 self.debug("tag\_id: Is none, Removing tag: "+tag\_name)
 performers = self.findPerformersByTag(tag\_id)
 for performer in performers:
 self.process\_performer\_image(app, performer, tag\_names)

 def process\_performer\_image(self, app, performer, tag\_names):
 performer\_id = performer[0] # Initialize performer\_id here
 performer\_name = performer[1]
 tags = self.findPerformersTagsbyID(performer\_name)
 self.check\_performer\_tagged\_once(tags, tag\_names)
 self.check\_tags\_not\_empty(tags)
 for tag in tags:
 if tag != "Upscaled: Performer Image" and tag in tag\_names:
 self.error("if tag in tag\_names: "+tag)
 tag = tag.replace("Upscale ", "")
 mode, scale = self.get\_gigapixel\_setting(tag)

 performer\_id = performer[1]
 image\_path = performer[0]
 self.error("image\_path: "+image\_path)
 self.error("performer\_id: "+performer\_id)
 self.error("second\_half\_scale: "+str(mode))
 self.error("first\_half\_mode: "+str(scale))
 self.processPerformerImage(
 app, image\_path, performer\_id, mode, scale, tag)
URL에 액세스할 수 있으며 다음에서 호출되고 있습니다. def get\_gigapixel\_setting(self, tag):
 self.error("get\_gigapixel\_setting:"+tag)
 split\_list = tag.split(":")
 first\_half\_mode = split\_list[0]
 second\_half\_scale = split\_list[1]
 # 열거형 값으로 변경
 # 첫 번째\_하프\_모드 = 모드\_맵핑[첫 번째\_하프\_모드]
 # second\_half\_scale = scale\_mapping[second\_half\_scale]

 self.error("first\_half\_mode: "+str(first\_half\_mode))
 self.error("second\_half\_scale: "+str(second\_half\_scale))

 mode = mode\_mapping.get(first\_half\_mode, None)

 scale = scale\_mapping.get(second\_half\_scale, None)
 
 self.error("mode: "+str(mode))
 self.error("scale: "+str(scale))
 # 스케일이 없으면
 # self.error("스케일 설정을 찾을 수 없습니다")
 # 계속
 # scale = scale\_mapping.get(first\_half\_mode, None)
 # self.error("scale: "+str(scale))

 # 스케일이 아닌 경우:
 # self.debug("태그에 스케일 설정 없음, 태그 제거 중:"+tag)
 반환 모드, 스케일

 def check\_tag\_names\_not\_empty(self, tag\_names):
 if not tag\_names:
 raise ValueError("tag\_names가 비어 있습니다")

 def check\_tags\_not\_empty(self, tags):
 if not tags:
 raise ValueError("tags가 비어 있습니다")

 def check\_tag\_in\_tag\_names(self, tags, tag\_names):
 태그의 태그에 대해
 태그가 태그\_이름에 없으면
 return False
 return True

 def check\_performer\_tagged\_once(self, tags, tag\_names):
 # if len(set(tags).intersection(tag\_names)) > 1:
 # raise ValueError("퍼포머가 tag\_names에 둘 이상의 값으로 태그가 지정되었습니다- 건너뛰기")
 if not set(tags).intersection(tag\_names):
 반환

 def upscale\_PerformerImage(self):
 글로벌 앱\_키
 # 이미 실행 중인 경우 기가픽셀을 종료하기 위해 TerminateProcess의 인스턴스를 생성합니다.
 tp = TerminateProcess(EXE\_PATH)
 # 스레드를 시작하고 terminate\_gigapixel을 호출합니다.
 tp.run\_terminate\_in\_thread()

 # 스레드를 통해 기가픽셀 인스턴스 시작
 app = MainGigapixel(EXE\_PATH, OUTPUT\_SUFFIX)
 app.start\_gigapixel\_thread()

 # 계속
 self.check\_tag\_names\_not\_empty(tag\_names)
 태그\_이름의 태그\_이름에 대해:
 tag\_id = self.findTagIdWithName(tag\_name)
 태그\_id가 아니라면
 self.debug("tag\_id: 없음, 태그 제거 중:"+tag\_name)
 performers = self.findPerformersByTag(tag\_id)
 를 수행자에서 수행자를 찾습니다:
 self.process\_performer\_image(앱, 수행자, 태그\_이름)

 def process\_performer\_image(self, app, performer, tag\_names):
 performer\_id = performer[0] # 여기서 performer\_id를 초기화합니다.
 performer\_name = performer[1]
 tags = self.findPerformersTagsbyID(performer\_name)
 self.check\_performer\_tagged\_once(tags, tag\_names)
 self.check\_tags\_not\_empty(tags)
 태그의 태그에 대해:
 if tag != "업스케일: 출연자 이미지" 및 tag\_names의 태그:
 self.error("태그가 태그\_이름에 있으면:"+태그)
 tag = tag.replace("업스케일", "")
 모드, 스케일 = self.get\_기가픽셀\_설정(태그)

 performer\_id = performer[1]
 image\_path = performer[0]
 self.error("이미지\_경로:"+이미지\_경로)
 self.error("performer\_id:"+performer\_id)
 self.error("second\_half\_scale: "+str(mode))
 self.error("first\_half\_mode: "+str(scale))
 self.processPerformerImage(
 앱, 이미지\_경로, 퍼포머\_id, 모드, 스케일, 태그)