mirror of
https://github.com/Tilo-K/pastebin-cli.git
synced 2026-01-11 09:21:00 +00:00
Compare commits
9 Commits
chore/upda
...
0.1.8
| Author | SHA1 | Date | |
|---|---|---|---|
|
3af8cd7c32
|
|||
|
b9705ad793
|
|||
|
25f48a1e94
|
|||
|
8ef0c317f9
|
|||
|
75b9b52e25
|
|||
|
|
34e98b5702 | ||
| f5b49e2b86 | |||
|
|
9c5baf87e5 | ||
|
|
8d3f195ea7 |
2
.github/workflows/release.yml
vendored
2
.github/workflows/release.yml
vendored
@@ -40,7 +40,7 @@ permissions:
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
tags:
|
tags:
|
||||||
- '**[0-9]+.[0-9]+.[0-9]+*'
|
- '[0-9]+.[0-9]+.[0-9]+'
|
||||||
pull_request:
|
pull_request:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|||||||
2
Cargo.lock
generated
2
Cargo.lock
generated
@@ -746,7 +746,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "pastebin-cli"
|
name = "pastebin-cli"
|
||||||
version = "0.1.5"
|
version = "0.1.7"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"chrono",
|
"chrono",
|
||||||
|
|||||||
12
Cargo.toml
12
Cargo.toml
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "pastebin-cli"
|
name = "pastebin-cli"
|
||||||
version = "0.1.5"
|
version = "0.1.8"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
description = "A simple CLI for pastebin.com"
|
description = "A simple CLI for pastebin.com"
|
||||||
authors = ["Tilo K"]
|
authors = ["Tilo K"]
|
||||||
@@ -41,7 +41,12 @@ ci = "github"
|
|||||||
# The installers to generate for each app
|
# The installers to generate for each app
|
||||||
installers = ["shell", "powershell", "npm", "homebrew", "msi"]
|
installers = ["shell", "powershell", "npm", "homebrew", "msi"]
|
||||||
# Target platforms to build apps for (Rust target-triple syntax)
|
# 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)
|
# The archive format to use for windows builds (defaults .zip)
|
||||||
windows-archive = ".tar.gz"
|
windows-archive = ".tar.gz"
|
||||||
# The archive format to use for non-windows builds (defaults .tar.xz)
|
# The archive format to use for non-windows builds (defaults .tar.xz)
|
||||||
@@ -53,4 +58,5 @@ pr-run-mode = "plan"
|
|||||||
# Whether to install an updater program
|
# Whether to install an updater program
|
||||||
install-updater = true
|
install-updater = true
|
||||||
|
|
||||||
allow-dirty = ["ci"]
|
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 chrono::DateTime;
|
||||||
use clap::{Parser, Subcommand};
|
use clap::{Parser, Subcommand};
|
||||||
use std::fs;
|
use std::fs;
|
||||||
use std::path::PathBuf;
|
use std::path::PathBuf;
|
||||||
|
|
||||||
|
|
||||||
mod keys;
|
mod keys;
|
||||||
mod pastebin;
|
mod pastebin;
|
||||||
|
|
||||||
@@ -79,17 +77,33 @@ async fn list(max_results: Option<u16>) {
|
|||||||
let line = "-".repeat(5);
|
let line = "-".repeat(5);
|
||||||
println!("{}Top {} pastes{}", line, max_results.unwrap_or(10), line);
|
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 {
|
for paste in resp {
|
||||||
let mut title = paste.paste_title;
|
let mut title = paste.paste_title;
|
||||||
if title == "" {
|
if title == "" {
|
||||||
title = "Untitled".to_owned();
|
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 datetime = DateTime::from_timestamp(paste.paste_date.into(), 0).unwrap();
|
||||||
let newdate = datetime.format("%Y-%m-%d %H:%M:%S");
|
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