reduced warnings
This commit is contained in:
@@ -1,9 +1,8 @@
|
|||||||
use std::cmp::Ordering;
|
use std::cmp::Ordering;
|
||||||
use htmlentity::types::Byte;
|
|
||||||
use ntex::http::header;
|
use ntex::http::header;
|
||||||
use ntex::web;
|
use ntex::web;
|
||||||
use ntex::web::HttpRequest;
|
use ntex::web::HttpRequest;
|
||||||
use tokio::{task, time};
|
use tokio::{task};
|
||||||
|
|
||||||
use crate::providers::hanime::HanimeProvider;
|
use crate::providers::hanime::HanimeProvider;
|
||||||
use crate::providers::perverzija::PerverzijaProvider;
|
use crate::providers::perverzija::PerverzijaProvider;
|
||||||
|
|||||||
@@ -17,7 +17,8 @@ mod videos;
|
|||||||
|
|
||||||
type DbPool = r2d2::Pool<ConnectionManager<SqliteConnection>>;
|
type DbPool = r2d2::Pool<ConnectionManager<SqliteConnection>>;
|
||||||
|
|
||||||
static USER_AGENT: &str = "Mozilla/5.0 (iPhone; CPU iPhone OS 14_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/33.0 Mobile/15E148 Safari/605.1.15";
|
|
||||||
|
|
||||||
#[ntex::main]
|
#[ntex::main]
|
||||||
async fn main() -> std::io::Result<()> {
|
async fn main() -> std::io::Result<()> {
|
||||||
// std::env::set_var("RUST_BACKTRACE", "1");
|
// std::env::set_var("RUST_BACKTRACE", "1");
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
use std::vec;
|
use std::vec;
|
||||||
use std::env;
|
|
||||||
use error_chain::error_chain;
|
use error_chain::error_chain;
|
||||||
use futures::future::join_all;
|
use futures::future::join_all;
|
||||||
use wreq::Client;
|
use wreq::Client;
|
||||||
@@ -9,7 +8,6 @@ use crate::providers::Provider;
|
|||||||
use crate::util::cache::VideoCache;
|
use crate::util::cache::VideoCache;
|
||||||
use crate::videos::{self, VideoItem};
|
use crate::videos::{self, VideoItem};
|
||||||
use crate::DbPool;
|
use crate::DbPool;
|
||||||
use crate::USER_AGENT; // Make sure Provider trait is imported
|
|
||||||
|
|
||||||
error_chain! {
|
error_chain! {
|
||||||
foreign_links {
|
foreign_links {
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ use crate::util::flaresolverr::{FlareSolverrRequest, Flaresolverr};
|
|||||||
use crate::util::time::parse_time_to_seconds;
|
use crate::util::time::parse_time_to_seconds;
|
||||||
use crate::videos::{self, VideoEmbed, VideoItem};
|
use crate::videos::{self, VideoEmbed, VideoItem};
|
||||||
use crate::DbPool;
|
use crate::DbPool;
|
||||||
use crate::USER_AGENT; // Make sure Provider trait is imported
|
|
||||||
|
|
||||||
error_chain! {
|
error_chain! {
|
||||||
foreign_links {
|
foreign_links {
|
||||||
@@ -391,7 +391,7 @@ impl PerverzijaProvider {
|
|||||||
let mut conn = pool.get().expect("couldn't get db connection from pool");
|
let mut conn = pool.get().expect("couldn't get db connection from pool");
|
||||||
let insert_result = db::insert_video(&mut conn, &lookup_url, &url);
|
let insert_result = db::insert_video(&mut conn, &lookup_url, &url);
|
||||||
match insert_result{
|
match insert_result{
|
||||||
Ok(x) => (),
|
Ok(_) => (),
|
||||||
Err(e) => {println!("{:?}", e); }
|
Err(e) => {println!("{:?}", e); }
|
||||||
}
|
}
|
||||||
drop(conn);
|
drop(conn);
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ use crate::util::cache::VideoCache;
|
|||||||
use crate::util::flaresolverr::{FlareSolverrRequest, Flaresolverr};
|
use crate::util::flaresolverr::{FlareSolverrRequest, Flaresolverr};
|
||||||
use crate::videos::{VideoItem};
|
use crate::videos::{VideoItem};
|
||||||
use crate::DbPool;
|
use crate::DbPool;
|
||||||
use crate::USER_AGENT; // Make sure Provider trait is imported
|
|
||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
use wreq::Client;
|
use wreq::Client;
|
||||||
use wreq_util::Emulation;
|
use wreq_util::Emulation;
|
||||||
@@ -33,7 +32,7 @@ impl SpankbangProvider {
|
|||||||
}
|
}
|
||||||
async fn get(&self, cache:VideoCache, pool: DbPool, page: u8, sort: String) -> Result<Vec<VideoItem>> {
|
async fn get(&self, cache:VideoCache, pool: DbPool, page: u8, sort: String) -> Result<Vec<VideoItem>> {
|
||||||
|
|
||||||
let mut url = format!("{}{}/{}/", self.url, sort, page);
|
let url = format!("{}{}/{}/", self.url, sort, page);
|
||||||
|
|
||||||
let old_items = match cache.get(&url) {
|
let old_items = match cache.get(&url) {
|
||||||
Some((time, items)) => {
|
Some((time, items)) => {
|
||||||
@@ -57,8 +56,8 @@ impl SpankbangProvider {
|
|||||||
|
|
||||||
let response = client.get(url.clone()).send().await?;
|
let response = client.get(url.clone()).send().await?;
|
||||||
let mut cookies_string = String::new();
|
let mut cookies_string = String::new();
|
||||||
if let Some(cookies) = response.headers().get_all("set-cookie").iter().next() {
|
if let Some(_) = response.headers().get_all("set-cookie").iter().next() {
|
||||||
for value in response.headers().get_all("set-cookie").iter() {
|
for _ in response.headers().get_all("set-cookie").iter() {
|
||||||
let mut cookies_map = HashMap::new();
|
let mut cookies_map = HashMap::new();
|
||||||
for value in response.headers().get_all("set-cookie").iter() {
|
for value in response.headers().get_all("set-cookie").iter() {
|
||||||
if let Ok(cookie_str) = value.to_str() {
|
if let Ok(cookie_str) = value.to_str() {
|
||||||
@@ -144,8 +143,8 @@ impl SpankbangProvider {
|
|||||||
|
|
||||||
let response = client.get(url.clone()).send().await?;
|
let response = client.get(url.clone()).send().await?;
|
||||||
let mut cookies_string = String::new();
|
let mut cookies_string = String::new();
|
||||||
if let Some(cookies) = response.headers().get_all("set-cookie").iter().next() {
|
if let Some(_) = response.headers().get_all("set-cookie").iter().next() {
|
||||||
for value in response.headers().get_all("set-cookie").iter() {
|
for _ in response.headers().get_all("set-cookie").iter() {
|
||||||
let mut cookies_map = HashMap::new();
|
let mut cookies_map = HashMap::new();
|
||||||
for value in response.headers().get_all("set-cookie").iter() {
|
for value in response.headers().get_all("set-cookie").iter() {
|
||||||
if let Ok(cookie_str) = value.to_str() {
|
if let Ok(cookie_str) = value.to_str() {
|
||||||
@@ -270,9 +269,9 @@ impl SpankbangProvider {
|
|||||||
.find(|s| s.trim_start().starts_with("data-src=") && s.contains(".jpg\""))
|
.find(|s| s.trim_start().starts_with("data-src=") && s.contains(".jpg\""))
|
||||||
.unwrap_or(&"");
|
.unwrap_or(&"");
|
||||||
let thumb = thumb_line.split("data-src=\"").collect::<Vec<&str>>()[1].split("\"").collect::<Vec<&str>>()[0].to_string();
|
let thumb = thumb_line.split("data-src=\"").collect::<Vec<&str>>()[1].split("\"").collect::<Vec<&str>>()[0].to_string();
|
||||||
let preview_line = vid.iter()
|
// let preview_line = vid.iter()
|
||||||
.find(|s| s.trim_start().starts_with("<source data-src=") && s.contains("mp4"))
|
// .find(|s: &&&str| s.trim_start().starts_with("<source data-src=") && s.contains("mp4"))
|
||||||
.unwrap_or(&"");
|
// .unwrap_or(&"");
|
||||||
// let mut preview = "".to_string();
|
// let mut preview = "".to_string();
|
||||||
// if vid[15].contains("data-preview=\""){
|
// if vid[15].contains("data-preview=\""){
|
||||||
// preview = vid[15].split("data-preview=\"").collect::<Vec<&str>>()[1].split("\"").collect::<Vec<&str>>()[0].to_string();
|
// preview = vid[15].split("data-preview=\"").collect::<Vec<&str>>()[1].split("\"").collect::<Vec<&str>>()[0].to_string();
|
||||||
@@ -297,16 +296,16 @@ impl SpankbangProvider {
|
|||||||
};
|
};
|
||||||
let id = url_part.split("/").collect::<Vec<&str>>()[0].to_string();
|
let id = url_part.split("/").collect::<Vec<&str>>()[0].to_string();
|
||||||
|
|
||||||
let quality_str = match vid[25].contains("<"){
|
// let quality_str = match vid[25].contains("<"){
|
||||||
true => vid[25].split(">").collect::<Vec<&str>>()[1].split("<").collect::<Vec<&str>>()[0],
|
// true => vid[25].split(">").collect::<Vec<&str>>()[1].split("<").collect::<Vec<&str>>()[0],
|
||||||
false => "SD",
|
// false => "SD",
|
||||||
};
|
// };
|
||||||
let quality = match quality_str{
|
// let quality = match quality_str{
|
||||||
"HD" => "1080",
|
// "HD" => "1080",
|
||||||
"4k" => "2160",
|
// "4k" => "2160",
|
||||||
"SD" => "720",
|
// "SD" => "720",
|
||||||
_ => "1080",
|
// _ => "1080",
|
||||||
};
|
// };
|
||||||
|
|
||||||
let video_item = VideoItem::new(id, title, url.clone().to_string(), "spankbang".to_string(), thumb, duration)
|
let video_item = VideoItem::new(id, title, url.clone().to_string(), "spankbang".to_string(), thumb, duration)
|
||||||
// .views(views)
|
// .views(views)
|
||||||
@@ -322,8 +321,8 @@ impl SpankbangProvider {
|
|||||||
println!("HTML is empty");
|
println!("HTML is empty");
|
||||||
return vec![];
|
return vec![];
|
||||||
}
|
}
|
||||||
let mut items: Vec<VideoItem> = Vec::new();
|
let items: Vec<VideoItem> = Vec::new();
|
||||||
let mut split_html = html.split("\"video-list").collect::<Vec<&str>>();
|
let split_html = html.split("\"video-list").collect::<Vec<&str>>();
|
||||||
if split_html.len() < 2 {
|
if split_html.len() < 2 {
|
||||||
println!("Could not find video-list in HTML");
|
println!("Could not find video-list in HTML");
|
||||||
return items;
|
return items;
|
||||||
|
|||||||
Reference in New Issue
Block a user