diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/main.rs | 36 | ||||
-rw-r--r-- | src/posts.rs | 34 |
2 files changed, 35 insertions, 35 deletions
diff --git a/src/main.rs b/src/main.rs index f5735e7..65652d9 100644 --- a/src/main.rs +++ b/src/main.rs @@ -48,7 +48,7 @@ fn main() { delete(&db); } - list_matches(&db); + posts::display(&db); } // Make sure nobody encodes narsty characters @@ -63,40 +63,6 @@ fn str_to_utf8(str: &str) -> String { .collect::<String>() } -fn list_matches(db: &db::Conn) { - let mut stmt = db.conn.prepare("SELECT * FROM posts").unwrap(); - let out = stmt - .query_map(rusqlite::NO_PARAMS, |row| { - let id: u32 = row.get(0)?; - let title: String = row.get(1)?; - let author: String = row.get(2)?; - let body: String = row.get(3)?; - Ok(db::Post { - id, - title, - author, - body, - }) - }) - .unwrap(); - - let mut postvec = Vec::new(); - out.for_each(|row| { - if let Ok(post) = row { - postvec.push(format!( - "{}. {} -> by {}\n{}\n\n", - post.id, post.title, post.author, post.body - )); - } - }); - - for (i, e) in postvec.iter().enumerate() { - if (postvec.len() > 14 && i >= postvec.len() - 15) || postvec.len() < 15 { - print!("{}", e); - } - } -} - fn post(db: &db::Conn) { let mut stmt = db .conn diff --git a/src/posts.rs b/src/posts.rs index 698f8a6..77e24fc 100644 --- a/src/posts.rs +++ b/src/posts.rs @@ -15,6 +15,40 @@ pub fn new(stmt: &mut rusqlite::Statement, title: &str, body: &str) -> Result<() Ok(()) } +pub fn display(db: &db::Conn) { + let mut stmt = db.conn.prepare("SELECT * FROM posts").unwrap(); + let out = stmt + .query_map(rusqlite::NO_PARAMS, |row| { + let id: u32 = row.get(0)?; + let title: String = row.get(1)?; + let author: String = row.get(2)?; + let body: String = row.get(3)?; + Ok(db::Post { + id, + title, + author, + body, + }) + }) + .unwrap(); + + let mut postvec = Vec::new(); + out.for_each(|row| { + if let Ok(post) = row { + postvec.push(format!( + "{}. {} -> by {}\n{}\n\n", + post.id, post.title, post.author, post.body + )); + } + }); + + for (i, e) in postvec.iter().enumerate() { + if (postvec.len() > 14 && i >= postvec.len() - 15) || postvec.len() < 15 { + print!("{}", e); + } + } +} + pub fn update(new_title: &str, new_body: &str, id_num_in: u32, db: &db::Conn) -> Result<()> { let new_title = new_title.trim(); let new_body = new_body.trim(); |