readability: extract magic constants
- HTTP_TIMEOUT_MS for HTTP connection/request timeout - SCREENSHOT_REGEX_PATTERN for itch.io screenshot URL regex
This commit is contained in:
parent
d06cba872c
commit
75f0463bc6
1 changed files with 5 additions and 3 deletions
|
|
@ -12,6 +12,8 @@ extends BoxArtProvider
|
||||||
|
|
||||||
const _boxart_dir := "user://boxart/itch"
|
const _boxart_dir := "user://boxart/itch"
|
||||||
const _meta_cache_file := "itch_art_meta.json"
|
const _meta_cache_file := "itch_art_meta.json"
|
||||||
|
const HTTP_TIMEOUT_MS := 15000
|
||||||
|
const SCREENSHOT_REGEX_PATTERN := "https://img\\.itch\\.zone/aW1hZ2Uv[^\"]*/original/[^\"]*"
|
||||||
|
|
||||||
@export var use_caching: bool = true
|
@export var use_caching: bool = true
|
||||||
var http_image := HTTPImageFetcher.new()
|
var http_image := HTTPImageFetcher.new()
|
||||||
|
|
@ -225,7 +227,7 @@ func _fetch_game_page_metadata(game: Dictionary) -> Dictionary:
|
||||||
if err != OK:
|
if err != OK:
|
||||||
logger.warn("HTTP connect failed for %s: %d" % [page_url, err])
|
logger.warn("HTTP connect failed for %s: %d" % [page_url, err])
|
||||||
return {}
|
return {}
|
||||||
var deadline := Time.get_ticks_msec() + 15000
|
var deadline := Time.get_ticks_msec() + HTTP_TIMEOUT_MS
|
||||||
while http.get_status() == HTTPClient.STATUS_CONNECTING or http.get_status() == HTTPClient.STATUS_RESOLVING:
|
while http.get_status() == HTTPClient.STATUS_CONNECTING or http.get_status() == HTTPClient.STATUS_RESOLVING:
|
||||||
http.poll()
|
http.poll()
|
||||||
if Time.get_ticks_msec() > deadline:
|
if Time.get_ticks_msec() > deadline:
|
||||||
|
|
@ -239,7 +241,7 @@ func _fetch_game_page_metadata(game: Dictionary) -> Dictionary:
|
||||||
return {}
|
return {}
|
||||||
|
|
||||||
http.request(HTTPClient.METHOD_GET, "/" + "/".join(parts.slice(3)), PackedStringArray())
|
http.request(HTTPClient.METHOD_GET, "/" + "/".join(parts.slice(3)), PackedStringArray())
|
||||||
deadline = Time.get_ticks_msec() + 15000
|
deadline = Time.get_ticks_msec() + HTTP_TIMEOUT_MS
|
||||||
while http.get_status() == HTTPClient.STATUS_REQUESTING:
|
while http.get_status() == HTTPClient.STATUS_REQUESTING:
|
||||||
http.poll()
|
http.poll()
|
||||||
if Time.get_ticks_msec() > deadline:
|
if Time.get_ticks_msec() > deadline:
|
||||||
|
|
@ -268,7 +270,7 @@ func _fetch_game_page_metadata(game: Dictionary) -> Dictionary:
|
||||||
return {}
|
return {}
|
||||||
|
|
||||||
var shot_re := RegEx.new()
|
var shot_re := RegEx.new()
|
||||||
shot_re.compile("https://img\\.itch\\.zone/aW1hZ2Uv[^\"]*/original/[^\"]*")
|
shot_re.compile(SCREENSHOT_REGEX_PATTERN)
|
||||||
var screenshots: Array = []
|
var screenshots: Array = []
|
||||||
for m in shot_re.search_all(html):
|
for m in shot_re.search_all(html):
|
||||||
var url: String = m.get_string(0)
|
var url: String = m.get_string(0)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue