Reformat code

This commit is contained in:
2017-07-20 03:54:51 +02:00
parent 2659093897
commit b478ea99d8
3 changed files with 54 additions and 38 deletions

View File

@@ -4,10 +4,16 @@ pub type Login<'a> = Option<(&'a str, &'a str)>;
pub static ALIASES: &[(&str, CatalogDefinition)] = &[
("DS_WS1617", ("16w-diskrete-strukturen", None)),
("EIDI_WS1617", ("eidi1-2016", Some(("eidi-2016", "PGdP.16")))),
(
"EIDI_WS1617",
("eidi1-2016", Some(("eidi-2016", "PGdP.16"))),
),
("ERA_WS1617", ("era-2016", None)),
("GAD_SS17", ("17s-grundlagen-algorithmen-und-datenstrukturen", None)),
(
"GAD_SS17",
("17s-grundlagen-algorithmen-und-datenstrukturen", None),
),
("LA_SS17", ("17s-lineare-algebra-fuer-informatik", None)),
// EIST is on a Nextcloud
];

View File

@@ -58,8 +58,8 @@ fn main() {
Arg::with_name("CATALOG_NAME")
.help(
"name of the catalog e.g. from the URL:\n\
https://streams.tum.de/Mediasite/Catalog/catalogs/era-2016 -> era-2016\n\
special cases (WS16/17; login included): DS, EIDI, ERA, ...",
https://streams.tum.de/Mediasite/Catalog/catalogs/era-2016 -> era-2016\n\
special cases (WS16/17; login included): DS, EIDI, ERA, ...",
)
.required(true)
.index(1),
@@ -144,10 +144,12 @@ fn get_auth() {
let res = try_to_get_valid_response(
|client| {
let mut request_builder = client.post("https://streams.tum.de/Mediasite/Login").unwrap();
request_builder.form(
&form_data,
).expect("Failed to serialize form_data!");
let mut request_builder = client
.post("https://streams.tum.de/Mediasite/Login")
.unwrap();
request_builder
.form(&form_data)
.expect("Failed to serialize form_data!");
request_builder
},
|res| res.headers().get::<SetCookie>().is_some(),
@@ -218,7 +220,7 @@ fn get_catalog_id(name: &str) -> String {
let prefix = "CatalogId: '";
let idx = body.find(prefix).expect(
"Failed to find CatalogId on the catalog page! Perhaps you got the wrong catalog \
name or an invalid login? Maybe you need to open the page in a browser once...",
name or an invalid login? Maybe you need to open the page in a browser once...",
);
let pre_len = prefix.len();
// Assuming all catalog ids follow this pattern!
@@ -251,9 +253,12 @@ fn get_json(catalog_id: &str) -> String {
let mut request_builder = client
.post(
"https://streams.tum.de/Mediasite/Catalog/Data/GetPresentationsForFolder",
).unwrap();
request_builder.header(construct_cookie())
.json(&data).expect("Failed to serialize json!");
)
.unwrap();
request_builder
.header(construct_cookie())
.json(&data)
.expect("Failed to serialize json!");
request_builder
});
read_response_body(&mut res)
@@ -302,8 +307,8 @@ where
fn read_response_body(response: &mut Response) -> String {
let mut string = String::new();
response.read_to_string(&mut string).expect(
"Failed to read body",
);
response
.read_to_string(&mut string)
.expect("Failed to read body");
string
}

View File

@@ -56,7 +56,9 @@ impl Presentation {
}
match *self {
Presentation::PublishToGo { ref download_url, .. } => {
Presentation::PublishToGo {
ref download_url, ..
} => {
let response_res = try_to_get_valid_response(
|client| {
let mut request_builder = client.get(download_url).unwrap();
@@ -82,9 +84,10 @@ impl Presentation {
match *param {
DispositionParam::Filename(ref charset, _, ref vec) => {
assert_eq!(&Charset::Ext("UTF-8".to_string()), charset);
name = Some(String::from_utf8(vec.to_vec()).expect(
"Suggested filename isn't valid UTF-8!",
));
name = Some(
String::from_utf8(vec.to_vec())
.expect("Suggested filename isn't valid UTF-8!"),
);
}
_ => continue,
}
@@ -106,9 +109,9 @@ impl Presentation {
let videos = {
let payload = format!(
"{{\"getPlayerOptionsRequest\":{{\
\"ResourceId\":\"{}\",\
\"QueryString\":\"{}\"\
}}}}",
\"ResourceId\":\"{}\",\
\"QueryString\":\"{}\"\
}}}}",
resource_id,
query_string
);
@@ -117,9 +120,10 @@ impl Presentation {
PlayerService.svc/json/GetPlayerOptions";
let mut res = try_to_get_response(|client| {
let mut request_builder = client.post(url).unwrap();
request_builder.header(construct_cookie())
.header(ContentType::json())
.body(payload.to_string());
request_builder
.header(construct_cookie())
.header(ContentType::json())
.body(payload.to_string());
request_builder
});
@@ -170,9 +174,10 @@ impl<'a> From<&'a JsonValue> for Presentation {
if json["DownloadUrls"].len() >= 1 {
assert_eq!(json["DownloadUrls"].len(), 1);
Presentation::PublishToGo {
name: json["Name"].clone().take_string().expect(
"json: Presentation didn't contain a \"Name\"!",
),
name: json["Name"]
.clone()
.take_string()
.expect("json: Presentation didn't contain a \"Name\"!"),
download_url: json["DownloadUrls"][0]["Url"]
.clone()
.take_string()
@@ -187,9 +192,10 @@ impl<'a> From<&'a JsonValue> for Presentation {
let index_start_resource = index - "cdf23465581b45aa92d588ebd59619d91d".len();
Presentation::VideoOnDemand {
name: json["Name"].clone().take_string().expect(
"json: Presentation didn't contain a \"Name\"!",
),
name: json["Name"]
.clone()
.take_string()
.expect("json: Presentation didn't contain a \"Name\"!"),
query_string: player_url[index..index_end_query].to_string(),
resource_id: player_url[index_start_resource..index].to_string(),
}
@@ -215,9 +221,8 @@ fn download_to_file(response: &mut Response, path: &Path) -> Result<(), io::Erro
Err(e) => return Err(e),
};
file.write_all(&buf[0..len]).expect(
"Failed writing into the file!",
);
file.write_all(&buf[0..len])
.expect("Failed writing into the file!");
done += len;
let now = Instant::now();
@@ -227,9 +232,9 @@ fn download_to_file(response: &mut Response, path: &Path) -> Result<(), io::Erro
2,
done as f64 * 1000.0 / update_duration_millis as f64 / 1024.0
);
::std::io::stdout().flush().expect(
"Failed flushing the terminal!",
);
::std::io::stdout()
.flush()
.expect("Failed flushing the terminal!");
last = now;
done = 0;
}
@@ -276,7 +281,7 @@ fn check_video(path: &Path) -> bool {
Err(_) => {
println!(
"Failed to check {} with ffmpeg. Perhaps ffmpeg isn't in your path. \
Skipping check...",
Skipping check...",
path.display()
);
true