Added 3D Preview URL property to CSMScreenshot
This commit is contained in:
parent
d07d556756
commit
f31f99b740
|
@ -47,3 +47,22 @@ import Foundation
|
|||
self.init(status: status, cached: cached, imageURL: imageURL, previewURL: previewURL, error: error)
|
||||
}
|
||||
}
|
||||
|
||||
extension CSMScreenshot {
|
||||
var preview3D: String? {
|
||||
let regex = "(?:https:\\/\\/s1.cs.money\\/)([A-Za-z0-9_\\-]{7})"
|
||||
guard let imageURL = self.imageURL else {
|
||||
return nil
|
||||
}
|
||||
let idNsRange = NSRange(location: 0, length: imageURL.utf16.count)
|
||||
do {
|
||||
let expression = try NSRegularExpression(pattern: regex)
|
||||
let firstMatch = expression.firstMatch(in: imageURL, options: [], range: idNsRange)
|
||||
guard let nsRange = firstMatch?.range(at: 1),
|
||||
let range = Range(nsRange, in: imageURL) else { return nil }
|
||||
return "https://3d.cs.money/item/\(imageURL[range])"
|
||||
} catch {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -57,4 +57,26 @@ final class CSFloatKitTests: XCTestCase {
|
|||
XCTAssertNotNil(screenshot)
|
||||
}
|
||||
}
|
||||
|
||||
func testPreview3D() {
|
||||
let exp = expectation(description: "CSM Screenshot")
|
||||
var previewURL: String?
|
||||
guard let config = CSMConfiguration(inspectLink: "steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199043158336A20517916623D14133434752320963923") else {
|
||||
XCTFail("Invalid inspect link for CSM Service")
|
||||
return
|
||||
}
|
||||
let request = CSMRequester(configuration: config, completion: { (fetchedScreenshot, error) in
|
||||
XCTAssertEqual(error, .noError)
|
||||
XCTAssertNotNil(fetchedScreenshot)
|
||||
guard let actualScreenshot = fetchedScreenshot else { return }
|
||||
previewURL = actualScreenshot.preview3D
|
||||
XCTAssertEqual(previewURL, "https://3d.cs.money/item/TWXUyFZ")
|
||||
exp.fulfill()
|
||||
})
|
||||
request.start()
|
||||
|
||||
waitForExpectations(timeout: 10) { (error) in
|
||||
XCTAssertNotNil(previewURL)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue