mirror of
https://github.com/Tilo-K/pastebin-cli.git
synced 2026-01-10 00:41:01 +00:00
Compare commits
21 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
3af8cd7c32
|
|||
|
b9705ad793
|
|||
|
25f48a1e94
|
|||
|
8ef0c317f9
|
|||
|
75b9b52e25
|
|||
|
|
34e98b5702 | ||
| f5b49e2b86 | |||
|
|
9c5baf87e5 | ||
| 5bcdde3fe5 | |||
| 0606ef082a | |||
| 008556ab4d | |||
| bd54946b94 | |||
|
|
8d3f195ea7 | ||
| a6db41c0ca | |||
| 4656fc09f6 | |||
| 511012e3bf | |||
| e200099589 | |||
| 4df939a597 | |||
|
|
e94e4392e8 | ||
|
|
83b1817dc3 | ||
|
|
2ce5378c7b |
2
.github/workflows/release.yml
vendored
2
.github/workflows/release.yml
vendored
@@ -40,7 +40,7 @@ permissions:
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- '**[0-9]+.[0-9]+.[0-9]+*'
|
||||
- '[0-9]+.[0-9]+.[0-9]+'
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
|
||||
612
Cargo.lock
generated
612
Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
31
Cargo.toml
31
Cargo.toml
@@ -1,11 +1,12 @@
|
||||
[package]
|
||||
name = "pastebin-cli"
|
||||
version = "0.1.4"
|
||||
version = "0.1.8"
|
||||
edition = "2021"
|
||||
description = "A simple CLI for pastebin.com"
|
||||
authors = ["Tilo K"]
|
||||
license = "AGPL-3.0-or-later"
|
||||
repository = "https://github.com/Tilo-K/pastebin-cli"
|
||||
homepage = "https://tilok.dev"
|
||||
|
||||
[package.metadata.wix]
|
||||
upgrade-guid = "C59671CA-09B6-4A5C-B381-BFDECECB9F9D"
|
||||
@@ -16,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]
|
||||
@@ -40,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)
|
||||
@@ -51,3 +57,6 @@ npm-scope = "@tilo"
|
||||
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
|
||||
}
|
||||
|
||||
@@ -173,7 +173,7 @@
|
||||
<!--<Icon Id='ProductICO' SourceFile='wix\Product.ico'/>-->
|
||||
<!--<Property Id='ARPPRODUCTICON' Value='ProductICO' />-->
|
||||
|
||||
<Property Id='ARPHELPLINK' Value='https://github.com/Tilo-K/pastebin-cli'/>
|
||||
<Property Id='ARPHELPLINK' Value='https://tilok.dev'/>
|
||||
|
||||
<UI>
|
||||
<UIRef Id='WixUI_FeatureTree'/>
|
||||
|
||||
Reference in New Issue
Block a user