]> git.r.bdr.sh - rbdr/blog/blobdiff - src/command/add.rs
Add blog status, correctly shift
[rbdr/blog] / src / command / add.rs
index dbcc512c5f343199345785eaaf1255f503c0f37b..02da0fb370f74d7b2936089758eae08fe5e73aa6 100644 (file)
@@ -1,4 +1,4 @@
-use std::fs::{create_dir_all, rename};
+use std::fs::{create_dir_all, remove_dir_all, rename};
 use std::io::Result;
 use super::{
     generate::Generate,
@@ -23,10 +23,13 @@ impl super::Command for Add {
 
     fn execute(&self, _: Option<&String>, configuration: &Configuration, _: &String) -> Result<()> {
         create_dir_all(&configuration.posts_directory)?;
-        for i in (0..configuration.max_posts).rev() {
+        for i in (0..configuration.max_posts - 1).rev() {
             let source = configuration.posts_directory.join(i.to_string());
             let target = configuration.posts_directory.join((i + 1).to_string());
 
+            if target.exists() {
+                remove_dir_all(&target)?;
+            }
             if source.exists() {
                 rename(&source, &target)?;
             }