Browse Source

Removed clap, we have too little parameters for that

master
Julio Biason 3 years ago
parent
commit
f85699287e
  1. 63
      Cargo.lock
  2. 1
      Cargo.toml
  3. 70
      src/main.rs

63
Cargo.lock generated

@ -1,25 +1,5 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
[[package]]
name = "ansi_term"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
dependencies = [
"winapi 0.3.8",
]
[[package]]
name = "atty"
version = "0.2.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
dependencies = [
"hermit-abi",
"libc",
"winapi 0.3.8",
]
[[package]]
name = "autocfg"
version = "1.0.0"
@ -62,21 +42,6 @@ version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
[[package]]
name = "clap"
version = "2.33.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
dependencies = [
"ansi_term",
"atty",
"bitflags",
"strsim",
"textwrap",
"unicode-width",
"vec_map",
]
[[package]]
name = "core-foundation"
version = "0.7.0"
@ -334,7 +299,6 @@ checksum = "b8b7a7c0c47db5545ed3fef7468ee7bb5b74691498139e4b3f6a20685dc6dd8e"
name = "jfo"
version = "0.1.0"
dependencies = [
"clap",
"reqwest",
"serde",
"serde_derive",
@ -763,12 +727,6 @@ version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "05720e22615919e4734f6a99ceae50d00226c3c5aca406e102ebc33298214e0a"
[[package]]
name = "strsim"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
[[package]]
name = "syn"
version = "1.0.17"
@ -794,15 +752,6 @@ dependencies = [
"winapi 0.3.8",
]
[[package]]
name = "textwrap"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
dependencies = [
"unicode-width",
]
[[package]]
name = "time"
version = "0.1.43"
@ -903,12 +852,6 @@ dependencies = [
"smallvec",
]
[[package]]
name = "unicode-width"
version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "caaa9d531767d1ff2150b9332433f32a24622147e5ebb1f26409d5da67afd479"
[[package]]
name = "unicode-xid"
version = "0.2.0"
@ -932,12 +875,6 @@ version = "0.2.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3fc439f2794e98976c88a2a2dafce96b930fe8010b0a256b3c2199a773933168"
[[package]]
name = "vec_map"
version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
[[package]]
name = "version_check"
version = "0.9.1"

1
Cargo.toml

@ -7,7 +7,6 @@ edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
clap = "2.33"
reqwest = { version = "0.10", features = ["blocking", "json"] }
serde = "*"
serde_derive = "*"

70
src/main.rs

@ -18,12 +18,6 @@
use std::collections::HashMap;
use clap::crate_authors;
use clap::crate_description;
use clap::crate_name;
use clap::crate_version;
use clap::App;
use clap::Arg;
use reqwest::blocking;
use serde_derive::Deserialize;
@ -52,42 +46,26 @@ struct NoteTag {
}
fn main() {
let matches = App::new(crate_name!())
.version(crate_version!())
.author(crate_authors!())
.about(crate_description!())
.arg(
Arg::with_name("inbox")
.long("inbox")
.short("i")
.takes_value(true)
.required(true)
.help("Inbox folder name"),
)
.arg(
Arg::with_name("port")
.long("port")
.short("p")
.takes_value(true)
.required(true)
.default_value("41184")
.help("Joplin Web Clipper port"),
)
.arg(
Arg::with_name("token")
.long("token")
.short("t")
.takes_value(true)
.required(true)
.help("Joplin Web Clipper access token"),
)
.get_matches();
let inbox_name = matches.value_of("inbox").unwrap();
let port = matches.value_of("port").unwrap();
let token = matches.value_of("token").unwrap();
let folder_list = dbg!(folders(&url(port, token, &"folders")));
match (
std::env::args().nth(1),
std::env::args().nth(2),
std::env::args().nth(3),
) {
(Some(folder), Some(token), Some(port)) => process(folder, token, port),
(Some(folder), Some(token), None) => process(folder, token, "41184".to_string()),
(_, _, _) => usage(),
}
}
fn usage() {
println!("Usage: jfo <inbox> <token> [port]\n");
println!("<inbox>: Base notebook name where the posts will be checked;");
println!("<token>: Token provided by the webclipper to access the notes;");
println!("[port]: Web clipper port, defaults to 41184");
}
fn process(inbox_name: String, token: String, port: String) {
let folder_list = dbg!(folders(&url(&port, &token, &"folders")));
let inbox = dbg!(folder_list
.into_iter()
.filter(|folder| folder.title == inbox_name)
@ -103,10 +81,10 @@ fn main() {
}
dbg!(&children);
get_notes(&dbg!(folder_url(port, token, &inbox.id)))
get_notes(&dbg!(folder_url(&port, &token, &inbox.id)))
.iter()
.filter(|note| {
let tag_url = dbg!(note_tags_url(port, token, &note.id));
let tag_url = dbg!(note_tags_url(&port, &token, &note.id));
let tags = get_note_tags(&tag_url);
tags.len() > 0
})
@ -116,12 +94,12 @@ fn main() {
let new_folder_id = dbg!(if children.contains_key(author) {
children.get(author).unwrap().into()
} else {
let new_folder_url = url(port, token, &"folders");
let new_folder_url = url(&port, &token, &"folders");
let result = create_folder(&new_folder_url, author, &inbox_id);
result.id
});
let url = note_url(port, token, &note.id);
let url = note_url(&port, &token, &note.id);
move_note_to_folder(&url, &note.id, &new_folder_id, &id);
});
}

Loading…
Cancel
Save