commit 3d184d908c6c25b974ae6fc5e90c2f85d00ef16f
parent 3ab306c158442e2e8dca0ae4c9a590075acb19f8
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Fri, 7 Apr 2023 00:06:20 -0700
cleanup
Diffstat:
| M | src/main.rs | | | 91 | ++++++++++++++++++++++++++++++++++++++++--------------------------------------- |
1 file changed, 46 insertions(+), 45 deletions(-)
diff --git a/src/main.rs b/src/main.rs
@@ -235,38 +235,37 @@ impl LeChatPHPClient {
let max_retry = self.max_login_retry;
let mut attempt = 0;
loop {
- if let Err(e) = self.login() {
- match e {
- LoginErr::KickedErr | LoginErr::RegErr | LoginErr::NicknameErr | LoginErr::UnknownErr => {
- log::error!("{}", e);
+ match self.login() {
+ Err(LoginErr::KickedErr) | Err(LoginErr::RegErr) | Err(LoginErr::NicknameErr) | Err(LoginErr::UnknownErr) => {
+ log::error!("{}", e);
+ break;
+ },
+ Err(LoginErr::CaptchaFailedSolveErr) => {
+ log::error!("{}", e);
+ continue;
+ },
+ Err(LoginErr::CaptchaWgErr) | Err(LoginErr::CaptchaUsedErr) => {},
+ Err(LoginErr::ServerDownErr) | Err(LoginErr::ServerDown500Err) => {
+ log::error!("{}", e);
+ },
+ Err(LoginErr::Reqwest(err)) => {
+ if err.is_connect() {
+ log::error!("{}\nIs tor proxy enabled ?", err);
break;
- },
- LoginErr::CaptchaFailedSolveErr => {
- log::error!("{}", e);
- continue;
- },
- LoginErr::CaptchaWgErr | LoginErr::CaptchaUsedErr => {},
- LoginErr::ServerDownErr | LoginErr::ServerDown500Err => {
- log::error!("{}", e);
- },
- LoginErr::Reqwest(err) => {
- if err.is_connect() {
- log::error!("{}\nIs tor proxy enabled ?", err);
- break;
- } else if err.is_timeout() {
- log::error!("timeout: {}", err);
- } else {
- log::error!("{}", err);
- }
- },
- }
- } else {
- attempt = 0;
- match self.get_msgs() {
- Ok(ExitSignal::NeedLogin) => {}
- Ok(ExitSignal::Terminate) => return,
- Err(e) => log::error!("{:?}", e),
- }
+ } else if err.is_timeout() {
+ log::error!("timeout: {}", err);
+ } else {
+ log::error!("{}", err);
+ }
+ },
+ Ok(()) => {
+ attempt = 0;
+ match self.get_msgs() {
+ Ok(ExitSignal::NeedLogin) => {}
+ Ok(ExitSignal::Terminate) => return,
+ Err(e) => log::error!("{:?}", e),
+ }
+ },
}
attempt += 1;
if max_retry > 0 && attempt > max_retry {
@@ -537,11 +536,7 @@ impl LeChatPHPClient {
let parse_date = |date: &str| -> NaiveDateTime {
let now = Utc::now();
let date_fmt = format!("%Y-{}", datetime_fmt);
- NaiveDateTime::parse_from_str(
- format!("{}-{}", now.year(), date).as_str(),
- date_fmt.as_str(),
- )
- .unwrap()
+ NaiveDateTime::parse_from_str(format!("{}-{}", now.year(), date).as_str(), date_fmt.as_str()).unwrap()
};
if let Some(last_known_msg) = messages.get(0) {
@@ -2007,6 +2002,20 @@ struct Message {
hide: bool, // Either ot not to hide a specific message
}
+impl Message {
+ fn new(id: Option<usize>, typ: MessageType, date: String, upload_link: Option<String>, text: StyledText) -> Self {
+ Self {
+ id,
+ typ,
+ date,
+ upload_link,
+ text,
+ deleted: false,
+ hide: false,
+ }
+ }
+}
+
#[derive(Debug, PartialEq, Clone)]
enum StyledText {
Styled(tuiColor, Vec<StyledText>),
@@ -2228,15 +2237,7 @@ fn extract_messages(doc: &Document) -> anyhow::Result<Vec<Message>> {
_ => return None,
};
let (text, upload_link) = process_node(msg_span, tuiColor::White);
- return Some(Message {
- id,
- typ,
- date,
- upload_link,
- text,
- deleted: false,
- hide: false,
- });
+ return Some(Message::new(id, typ, date, upload_link, text));
}
}
None