mirror of
https://framagit.org/veretcle/oolatoocs.git
synced 2025-07-21 13:24:18 +02:00
Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
823f80729f | ||
![]() |
5969e3a56a | ||
![]() |
3ea2478512 |
1449
Cargo.lock
generated
1449
Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "oolatoocs"
|
name = "oolatoocs"
|
||||||
version = "4.2.0"
|
version = "4.2.2"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
@@ -21,7 +21,7 @@ serde = { version = "^1.0", features = ["derive"] }
|
|||||||
tokio = { version = "^1.33", features = ["rt-multi-thread", "macros"] }
|
tokio = { version = "^1.33", features = ["rt-multi-thread", "macros"] }
|
||||||
toml = "^0.8"
|
toml = "^0.8"
|
||||||
bsky-sdk = "^0.1"
|
bsky-sdk = "^0.1"
|
||||||
atrium-api = { version = "^0.24", features = ["namespace-appbsky"] }
|
atrium-api = { version = "^0.25", features = ["namespace-appbsky"] }
|
||||||
image = "^0.25"
|
image = "^0.25"
|
||||||
webp = "^0.3"
|
webp = "^0.3"
|
||||||
|
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
use crate::config::BlueskyConfig;
|
use crate::config::BlueskyConfig;
|
||||||
use atrium_api::{
|
use atrium_api::{
|
||||||
app::bsky::feed::post::RecordData, com::atproto::repo::upload_blob::Output,
|
app::bsky::feed::post::RecordData, com::atproto::repo::upload_blob::Output,
|
||||||
types::string::Datetime, types::string::Language,
|
types::string::Datetime, types::string::Language, types::string::RecordKey,
|
||||||
};
|
};
|
||||||
use bsky_sdk::{
|
use bsky_sdk::{
|
||||||
agent::config::{Config, FileStore},
|
agent::config::{Config, FileStore},
|
||||||
@@ -139,7 +139,7 @@ async fn get_record(
|
|||||||
cid: None,
|
cid: None,
|
||||||
collection: atrium_api::types::string::Nsid::new("app.bsky.feed.post".to_string())?,
|
collection: atrium_api::types::string::Nsid::new("app.bsky.feed.post".to_string())?,
|
||||||
repo: atrium_api::types::string::Handle::new(config.to_string())?.into(),
|
repo: atrium_api::types::string::Handle::new(config.to_string())?.into(),
|
||||||
rkey: rkey.to_string(),
|
rkey: RecordKey::new(rkey.to_string())?,
|
||||||
}
|
}
|
||||||
.into(),
|
.into(),
|
||||||
)
|
)
|
||||||
|
@@ -82,10 +82,7 @@ pub fn write_state(conn: &Connection, t: TootRecord) -> Result<(), Box<dyn Error
|
|||||||
|
|
||||||
/// Initiates the DB from path
|
/// Initiates the DB from path
|
||||||
pub fn init_db(d: &str) -> Result<(), Box<dyn Error>> {
|
pub fn init_db(d: &str) -> Result<(), Box<dyn Error>> {
|
||||||
debug!(
|
debug!("Initializing DB for {}", env!("CARGO_PKG_NAME"));
|
||||||
"{}",
|
|
||||||
format!("Initializing DB for {}", env!("CARGO_PKG_NAME"))
|
|
||||||
);
|
|
||||||
let conn = Connection::open(d)?;
|
let conn = Connection::open(d)?;
|
||||||
|
|
||||||
conn.execute(
|
conn.execute(
|
||||||
|
14
src/utils.rs
14
src/utils.rs
@@ -38,7 +38,13 @@ fn twitter_count(content: &str) -> usize {
|
|||||||
|
|
||||||
for word in split_content {
|
for word in split_content {
|
||||||
if word.starts_with("http://") || word.starts_with("https://") {
|
if word.starts_with("http://") || word.starts_with("https://") {
|
||||||
count += 23;
|
// It’s not that simple. Bsky adapts itself to the URL.
|
||||||
|
// https://github.com -> 10 chars
|
||||||
|
// https://github.com/ -> 10 chars
|
||||||
|
// https://github.com/NVNTLabs -> 19 chars
|
||||||
|
// https://github.com/NVNTLabs/ -> 20 chars
|
||||||
|
// so taking the maximum here to simplify things
|
||||||
|
count += 26;
|
||||||
} else {
|
} else {
|
||||||
count += word.chars().count();
|
count += word.chars().count();
|
||||||
}
|
}
|
||||||
@@ -100,11 +106,11 @@ mod tests {
|
|||||||
|
|
||||||
let content = "Shoot out to https://y.ml/ !";
|
let content = "Shoot out to https://y.ml/ !";
|
||||||
|
|
||||||
assert_eq!(twitter_count(content), 38);
|
assert_eq!(twitter_count(content), 41);
|
||||||
|
|
||||||
let content = "this is the link https://www.google.com/tamerelol/youpi/tonperemdr/tarace.html if you like! What if I shit a final";
|
let content = "this is the link https://www.google.com/tamerelol/youpi/tonperemdr/tarace.html if you like! What if I shit a final";
|
||||||
|
|
||||||
assert_eq!(twitter_count(content), 76);
|
assert_eq!(twitter_count(content), 79);
|
||||||
|
|
||||||
let content = "multi ple space";
|
let content = "multi ple space";
|
||||||
|
|
||||||
@@ -112,7 +118,7 @@ mod tests {
|
|||||||
|
|
||||||
let content = "This link is LEEEEET\n\nhttps://www.factornews.com/actualites/ca-sent-le-sapin-pour-free-radical-design-49985.html";
|
let content = "This link is LEEEEET\n\nhttps://www.factornews.com/actualites/ca-sent-le-sapin-pour-free-radical-design-49985.html";
|
||||||
|
|
||||||
assert_eq!(twitter_count(content), 45);
|
assert_eq!(twitter_count(content), 48);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
Reference in New Issue
Block a user