commit
293a4d5c50
@ -1,5 +1,5 @@
|
||||
// CRATES
|
||||
use crate::utils::{format_url, request, val, Comment, ErrorTemplate, Flair, Params, Post};
|
||||
use crate::utils::{format_url, request, val, Comment, ErrorTemplate, Flair, Params, Post, format_num};
|
||||
use actix_web::{get, http::StatusCode, web, HttpResponse, Result};
|
||||
use askama::Template;
|
||||
use chrono::{TimeZone, Utc};
|
||||
@ -115,7 +115,7 @@ async fn parse_post(json: serde_json::Value) -> Result<Post, &'static str> {
|
||||
body: markdown_to_html(post_data["data"]["selftext"].as_str().unwrap()).await,
|
||||
author: val(post_data, "author").await,
|
||||
url: val(post_data, "permalink").await,
|
||||
score: if score > 1000 { format!("{}k", score / 1000) } else { score.to_string() },
|
||||
score: format_num(score),
|
||||
post_type: media.0,
|
||||
media: media.1,
|
||||
time: Utc.timestamp(unix_time, 0).format("%b %e %Y %H:%M UTC").to_string(),
|
||||
@ -151,7 +151,7 @@ async fn parse_comments(json: serde_json::Value) -> Result<Vec<Comment>, &'stati
|
||||
comments.push(Comment {
|
||||
body: body,
|
||||
author: val(comment, "author").await,
|
||||
score: if score > 1000 { format!("{}k", score / 1000) } else { score.to_string() },
|
||||
score: format_num(score),
|
||||
time: Utc.timestamp(unix_time, 0).format("%b %e %Y %H:%M UTC").to_string(),
|
||||
});
|
||||
}
|
||||
|
@ -1,7 +1,8 @@
|
||||
// CRATES
|
||||
use crate::utils::{fetch_posts, format_url, request, val, ErrorTemplate, Params, Post, Subreddit};
|
||||
use crate::utils::{fetch_posts, format_url, request, val, ErrorTemplate, Params, Post, Subreddit, format_num};
|
||||
use actix_web::{get, http::StatusCode, web, HttpResponse, Result};
|
||||
use askama::Template;
|
||||
use std::convert::TryInto;
|
||||
|
||||
// STRUCTS
|
||||
#[derive(Template)]
|
||||
@ -89,8 +90,8 @@ async fn subreddit(sub: &String) -> Result<Subreddit, &'static str> {
|
||||
title: val(&res, "title").await,
|
||||
description: val(&res, "public_description").await,
|
||||
icon: format_url(val(&res, "icon_img").await.as_str()).await,
|
||||
members: if members > 1000 { format!("{}k", members / 1000) } else { members.to_string() },
|
||||
active: if active > 1000 { format!("{}k", active / 1000) } else { active.to_string() },
|
||||
members: format_num(members.try_into().unwrap()),
|
||||
active: format_num(active.try_into().unwrap()),
|
||||
};
|
||||
|
||||
Ok(sub)
|
||||
|
@ -76,7 +76,7 @@ pub struct ErrorTemplate {
|
||||
}
|
||||
|
||||
//
|
||||
// URL HANDLING
|
||||
// FORMATTING
|
||||
//
|
||||
|
||||
pub async fn format_url(url: &str) -> String {
|
||||
@ -87,6 +87,10 @@ pub async fn format_url(url: &str) -> String {
|
||||
return url.to_string();
|
||||
}
|
||||
|
||||
pub fn format_num(num: i64) -> String {
|
||||
return if num > 1000 { format!("{}k", num / 1000) } else { num.to_string() };
|
||||
}
|
||||
|
||||
//
|
||||
// JSON PARSING
|
||||
//
|
||||
@ -136,7 +140,7 @@ pub async fn fetch_posts(url: String, fallback_title: String) -> Result<(Vec<Pos
|
||||
community: val(post, "subreddit").await,
|
||||
body: val(post, "body").await,
|
||||
author: val(post, "author").await,
|
||||
score: if score > 1000 { format!("{}k", score / 1000) } else { score.to_string() },
|
||||
score: format_num(score),
|
||||
post_type: "link".to_string(),
|
||||
media: img,
|
||||
url: val(post, "permalink").await,
|
||||
|
Loading…
Reference in New Issue
Block a user