Скачивание XLS документа по ссылке

This commit is contained in:
2025-03-21 23:55:16 +04:00
parent d75d3fbc97
commit 126ba23001
9 changed files with 1541 additions and 35 deletions

View File

@@ -1,9 +1,25 @@
use std::fs;
use std::path::Path;
use crate::xls_downloader::basic_impl::BasicXlsDownloader;
use crate::xls_downloader::interface::XLSDownloader;
use schedule_parser::parse_xls;
use std::{env, fs};
fn main() {
let (teachers, groups) = parse_xls(Path::new("./schedule.xls"));
mod xls_downloader;
#[tokio::main]
async fn main() {
let args: Vec<String> = env::args().collect();
assert_ne!(args.len(), 1);
let mut downloader = BasicXlsDownloader::new();
downloader
.set_url(args[1].to_string())
.await
.expect("Failed to set url");
let fetch_res = downloader.fetch(false).await.expect("Failed to fetch xls");
let (teachers, groups) = parse_xls(fetch_res.data.as_ref().unwrap());
fs::write(
"./schedule.json",
@@ -12,7 +28,7 @@ fn main() {
.as_bytes(),
)
.expect("Failed to write schedule");
fs::write(
"./teachers.json",
serde_json::to_string_pretty(&teachers)