mirror of
https://github.com/Tilo-K/pastebin-cli.git
synced 2026-01-08 07:51:02 +00:00
v0.1.8 (#9)
Co-authored-by: Tilo <Tilo-K@users.noreply.github.com> Co-authored-by: Tilo-K <tiloklarenbeek@gmail.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This commit is contained in:
612
Cargo.lock
generated
612
Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
29
Cargo.toml
29
Cargo.toml
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "pastebin-cli"
|
||||
version = "0.1.7"
|
||||
version = "0.1.8"
|
||||
edition = "2021"
|
||||
description = "A simple CLI for pastebin.com"
|
||||
authors = ["Tilo K"]
|
||||
@@ -17,15 +17,15 @@ eula = false
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
anyhow = "1.0.75"
|
||||
chrono = "0.4.31"
|
||||
clap = { version = "4.4.6", features = ["derive"] }
|
||||
home = "0.5.5"
|
||||
quick-xml = { version = "0.31.0", features = ["serde", "serialize"] }
|
||||
reqwest = { version = "0.11.22", features = ["json"] }
|
||||
rpassword = "7.2.0"
|
||||
serde = { version = "1.0.189", features = ["serde_derive", "derive"] }
|
||||
tokio = { version = "1.33.0", features = ["full"] }
|
||||
anyhow = "1.0.98"
|
||||
chrono = "0.4.41"
|
||||
clap = { version = "4.5.38", features = ["derive"] }
|
||||
home = "0.5.11"
|
||||
quick-xml = { version = "0.37.5", features = ["serde", "serialize"] }
|
||||
reqwest = { version = "0.12.15", features = ["json"] }
|
||||
rpassword = "7.4.0"
|
||||
serde = { version = "1.0.219", features = ["serde_derive", "derive"] }
|
||||
tokio = { version = "1.45.0", features = ["full"] }
|
||||
|
||||
# The profile that 'cargo dist' will build with
|
||||
[profile.dist]
|
||||
@@ -41,7 +41,12 @@ ci = "github"
|
||||
# The installers to generate for each app
|
||||
installers = ["shell", "powershell", "npm", "homebrew", "msi"]
|
||||
# Target platforms to build apps for (Rust target-triple syntax)
|
||||
targets = ["aarch64-apple-darwin", "x86_64-apple-darwin", "x86_64-unknown-linux-gnu", "x86_64-pc-windows-msvc"]
|
||||
targets = [
|
||||
"aarch64-apple-darwin",
|
||||
"x86_64-apple-darwin",
|
||||
"x86_64-unknown-linux-gnu",
|
||||
"x86_64-pc-windows-msvc",
|
||||
]
|
||||
# The archive format to use for windows builds (defaults .zip)
|
||||
windows-archive = ".tar.gz"
|
||||
# The archive format to use for non-windows builds (defaults .tar.xz)
|
||||
@@ -53,4 +58,4 @@ pr-run-mode = "plan"
|
||||
# Whether to install an updater program
|
||||
install-updater = true
|
||||
|
||||
allow-dirty = ["ci"]
|
||||
allow-dirty = ["ci"]
|
||||
|
||||
26
src/main.rs
26
src/main.rs
@@ -1,10 +1,8 @@
|
||||
use chrono::prelude::*;
|
||||
use chrono::DateTime;
|
||||
use clap::{Parser, Subcommand};
|
||||
use std::fs;
|
||||
use std::path::PathBuf;
|
||||
|
||||
|
||||
mod keys;
|
||||
mod pastebin;
|
||||
|
||||
@@ -79,17 +77,33 @@ async fn list(max_results: Option<u16>) {
|
||||
let line = "-".repeat(5);
|
||||
println!("{}Top {} pastes{}", line, max_results.unwrap_or(10), line);
|
||||
|
||||
let mut max_length = 8;
|
||||
let max = resp.iter().map(|paste| paste.paste_title.len()).max();
|
||||
if max.is_some() {
|
||||
if max.unwrap() > max_length {
|
||||
max_length = max.unwrap();
|
||||
}
|
||||
}
|
||||
|
||||
for paste in resp {
|
||||
let mut title = paste.paste_title;
|
||||
if title == "" {
|
||||
title = "Untitled".to_owned();
|
||||
}
|
||||
|
||||
let naive = NaiveDateTime::from_timestamp_opt(paste.paste_date.into(), 0).unwrap();
|
||||
title = pad_string(&title, max_length);
|
||||
|
||||
let datetime: DateTime<Utc> = DateTime::from_utc(naive, Utc);
|
||||
let newdate = datetime.format("%Y-%m-%d %H:%M:%S");
|
||||
let datetime = DateTime::from_timestamp(paste.paste_date.into(), 0).unwrap();
|
||||
let formatted_date = datetime.format("%Y-%m-%d %H:%M:%S");
|
||||
|
||||
println!("{}\t{}\t{}", title, newdate, paste.paste_url);
|
||||
println!("{}\t{}\t{}", title, formatted_date, paste.paste_url);
|
||||
}
|
||||
}
|
||||
|
||||
fn pad_string(s: &str, length: usize) -> String {
|
||||
let mut s = s.to_owned();
|
||||
while s.len() < length {
|
||||
s.push(' ');
|
||||
}
|
||||
s
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user