Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
33180e95a3 | ||
|
|
f37ca5e627 |
2
Cargo.lock
generated
2
Cargo.lock
generated
@@ -2448,7 +2448,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "teachertracker-rs"
|
||||
version = "0.1.0"
|
||||
version = "0.1.2"
|
||||
dependencies = [
|
||||
"chrono",
|
||||
"futures",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "teachertracker-rs"
|
||||
version = "0.1.0"
|
||||
version = "0.1.2"
|
||||
edition = "2024"
|
||||
authors = ["Lukas Wölfer <coding@thasky.one>"]
|
||||
description = "A MediaWiki bot that updates score information of teachers"
|
||||
|
||||
@@ -17,7 +17,7 @@ use mwbot::{
|
||||
Bot,
|
||||
generators::{Generator, SortDirection, categories::CategoryMemberSort},
|
||||
};
|
||||
use std::{error::Error, path::Path};
|
||||
use std::path::Path;
|
||||
|
||||
use crate::watchdog::watch_wanted;
|
||||
|
||||
|
||||
@@ -11,11 +11,17 @@ pub async fn watch_wanted(bot: Bot) -> ! {
|
||||
let _enter = span.enter();
|
||||
|
||||
let mut ignored_ids = vec![];
|
||||
let mut watch_count = 0;
|
||||
loop {
|
||||
if ignored_ids.is_empty() {
|
||||
tracing::info!("Watchdog check...");
|
||||
watch_count += 1;
|
||||
if watch_count >= 120 {
|
||||
watch_count = 0;
|
||||
let failed_id_info = if ignored_ids.is_empty() {
|
||||
String::new()
|
||||
} else {
|
||||
tracing::info!("Watchdog check [{} failed ids]...", ignored_ids.len());
|
||||
format!("[{} failed ids]", ignored_ids.len())
|
||||
};
|
||||
tracing::info!("Watchdog check{failed_id_info}...");
|
||||
}
|
||||
let wanted = wanted_ids(bot.clone()).await;
|
||||
let mut new_ignored = vec![];
|
||||
|
||||
@@ -11,14 +11,17 @@ pub async fn fetch_wsdc_info(id: u32) -> Result<DanceInfo, DanceInfoError> {
|
||||
.map_err(DanceInfoError::ClientBuild)?;
|
||||
|
||||
let mut params = HashMap::new();
|
||||
params.insert("q", id.to_string());
|
||||
let response = client
|
||||
params.insert("num", id.to_string());
|
||||
let request = client
|
||||
.request(
|
||||
reqwest::Method::POST,
|
||||
"https://points.worldsdc.com/lookup2020/find",
|
||||
)
|
||||
.form(¶ms)
|
||||
.send()
|
||||
.build()
|
||||
.map_err(DanceInfoError::RequestBuild)?;
|
||||
let response = client
|
||||
.execute(request)
|
||||
.await
|
||||
.map_err(DanceInfoError::Request)?;
|
||||
|
||||
@@ -30,6 +33,8 @@ pub async fn fetch_wsdc_info(id: u32) -> Result<DanceInfo, DanceInfoError> {
|
||||
pub enum DanceInfoError {
|
||||
#[error("Failed to build client: {0}")]
|
||||
ClientBuild(reqwest::Error),
|
||||
#[error("Failed to build request: {0}")]
|
||||
RequestBuild(reqwest::Error),
|
||||
#[error("Request error: {0}")]
|
||||
Request(reqwest::Error),
|
||||
#[error("Failed to parse response: {0}")]
|
||||
|
||||
Reference in New Issue
Block a user