@@ -29,10 +29,9 @@ impl MpdConfig {
29
29
sock_path : base. join ( "sock" ) ,
30
30
}
31
31
}
32
- }
33
32
34
- fn write_config ( config : & MpdConfig ) {
35
- let config_text = format ! ( r#"
33
+ fn config_text ( & self ) -> String {
34
+ format ! ( r#"
36
35
db_file "{db_file}"
37
36
log_file "/dev/null"
38
37
music_directory "{music_directory}"
@@ -43,15 +42,19 @@ audio_output {{
43
42
name "null"
44
43
}}
45
44
"# ,
46
- db_file=config. db_file. display( ) ,
47
- music_directory=config. music_directory. display( ) ,
48
- playlist_directory=config. playlist_directory. display( ) ,
49
- sock_path=config. sock_path. display( ) ,
50
- ) ;
51
- create_dir ( & config. music_directory ) . expect ( "Could not create music directory." ) ;
52
- create_dir ( & config. playlist_directory ) . expect ( "Could not create playlist directory." ) ;
53
- let mut file = File :: create ( & config. config_path ) . expect ( "Could not create config file." ) ;
54
- file. write_all ( config_text. as_bytes ( ) ) . expect ( "Could not write config file." ) ;
45
+ db_file=self . db_file. display( ) ,
46
+ music_directory=self . music_directory. display( ) ,
47
+ playlist_directory=self . playlist_directory. display( ) ,
48
+ sock_path=self . sock_path. display( ) ,
49
+ )
50
+ }
51
+
52
+ fn generate ( & self ) {
53
+ create_dir ( & self . music_directory ) . expect ( "Could not create music directory." ) ;
54
+ create_dir ( & self . playlist_directory ) . expect ( "Could not create playlist directory." ) ;
55
+ let mut file = File :: create ( & self . config_path ) . expect ( "Could not create config file." ) ;
56
+ file. write_all ( self . config_text ( ) . as_bytes ( ) ) . expect ( "Could not write config file." ) ;
57
+ }
55
58
}
56
59
57
60
pub struct Daemon {
@@ -79,7 +82,7 @@ impl Daemon {
79
82
pub fn new ( ) -> Daemon {
80
83
let temp_dir = TempDir :: new ( "mpd-test" ) . unwrap ( ) ;
81
84
let config = MpdConfig :: new ( & temp_dir) ;
82
- write_config ( & config) ;
85
+ config. generate ( ) ;
83
86
let process = Command :: new ( "mpd" )
84
87
. arg ( "--no-daemon" )
85
88
. arg ( & config. config_path )
0 commit comments