MOCK API for tests
This commit is contained in:
@@ -27,6 +27,7 @@ impl PerverzijaProvider {
|
||||
}
|
||||
}
|
||||
async fn get(&self, page: &u8, featured: String) -> Result<Vec<Video_Item>> {
|
||||
println!("get");
|
||||
let mut prefix_uri = "".to_string();
|
||||
if featured == "featured" {
|
||||
prefix_uri = "featured-scenes/".to_string();
|
||||
@@ -41,10 +42,10 @@ impl PerverzijaProvider {
|
||||
let req = FlareSolverrRequest {
|
||||
cmd: "request.get".to_string(),
|
||||
url: url.clone(),
|
||||
session: "hottub".to_string(),
|
||||
maxTimeout: 60000,
|
||||
};
|
||||
let response = flare.solve(req).await;
|
||||
// println!("Response: {:?}", response);
|
||||
match response {
|
||||
Ok(html) => {
|
||||
let video_items = self.get_video_items_from_html(html.clone());
|
||||
@@ -57,6 +58,7 @@ impl PerverzijaProvider {
|
||||
}
|
||||
}
|
||||
async fn query(&self, page: &u8, query: &str) -> Result<Vec<Video_Item>> {
|
||||
println!("query: {}", query);
|
||||
let search_string = query.replace(" ", "+");
|
||||
let mut url = format!(
|
||||
"{}advanced-search/?_sf_s={}&sf_paged={}",
|
||||
@@ -72,7 +74,6 @@ impl PerverzijaProvider {
|
||||
let req = FlareSolverrRequest {
|
||||
cmd: "request.get".to_string(),
|
||||
url: url.clone(),
|
||||
session: "hottub".to_string(),
|
||||
maxTimeout: 60000,
|
||||
};
|
||||
let response = flare.solve(req).await;
|
||||
@@ -89,17 +90,19 @@ impl PerverzijaProvider {
|
||||
}
|
||||
|
||||
fn get_video_items_from_html(&self, html: String) -> Vec<Video_Item> {
|
||||
// println!("HTML: {}", html);
|
||||
let mut items: Vec<Video_Item> = Vec::new();
|
||||
let video_listing_content = html.split("video-listing-content").collect::<Vec<&str>>()[1];
|
||||
let raw_videos = video_listing_content
|
||||
.split("video-item post")
|
||||
.collect::<Vec<&str>>()[1..]
|
||||
.to_vec();
|
||||
// println!("Raw Videos: {:?}", raw_videos);
|
||||
println!("Raw Videos: {:?}", raw_videos);
|
||||
for video_segment in &raw_videos {
|
||||
let vid = video_segment.split("\n").collect::<Vec<&str>>();
|
||||
let mut index = 0;
|
||||
// let mut index = 0;
|
||||
if vid.len() > 20 {
|
||||
println!("Skipping video segment with unexpected length: {}", vid.len());
|
||||
continue;
|
||||
}
|
||||
// for line in vid.clone() {
|
||||
@@ -111,6 +114,7 @@ impl PerverzijaProvider {
|
||||
.split("<")
|
||||
.collect::<Vec<&str>>()[0]
|
||||
.to_string();
|
||||
println!("Title: {}", title);
|
||||
// html decode
|
||||
title = decode(title.as_bytes()).to_string().unwrap_or(title);
|
||||
let url = vid[1].split("iframe src="").collect::<Vec<&str>>()[1]
|
||||
|
||||
Reference in New Issue
Block a user