commit
						b44cd7b1db
					
				@ -77,24 +77,24 @@ impl Visitor for UserDefaultsVisitor {
 | 
				
			|||||||
	fn visit_map<V>(&mut self, visitor: V) -> Result<Self::Value, V::Error>
 | 
						fn visit_map<V>(&mut self, visitor: V) -> Result<Self::Value, V::Error>
 | 
				
			||||||
	where V: MapVisitor {
 | 
						where V: MapVisitor {
 | 
				
			||||||
		let mut map: BTreeMap<String, Value> = try!(BTreeMapVisitor::new().visit_map(visitor));
 | 
							let mut map: BTreeMap<String, Value> = try!(BTreeMapVisitor::new().visit_map(visitor));
 | 
				
			||||||
		let pruning: Value = try!(map.remove("pruning".into()).ok_or_else(|| Error::custom("missing pruning")));
 | 
							let pruning: Value = try!(map.remove("pruning").ok_or_else(|| Error::custom("missing pruning")));
 | 
				
			||||||
		let pruning = try!(pruning.as_str().ok_or_else(|| Error::custom("invalid pruning value")));
 | 
							let pruning = try!(pruning.as_str().ok_or_else(|| Error::custom("invalid pruning value")));
 | 
				
			||||||
		let pruning = try!(pruning.parse().map_err(|_| Error::custom("invalid pruning method")));
 | 
							let pruning = try!(pruning.parse().map_err(|_| Error::custom("invalid pruning method")));
 | 
				
			||||||
		let tracing: Value = try!(map.remove("tracing".into()).ok_or_else(|| Error::custom("missing tracing")));
 | 
							let tracing: Value = try!(map.remove("tracing").ok_or_else(|| Error::custom("missing tracing")));
 | 
				
			||||||
		let tracing = try!(tracing.as_bool().ok_or_else(|| Error::custom("invalid tracing value")));
 | 
							let tracing = try!(tracing.as_bool().ok_or_else(|| Error::custom("invalid tracing value")));
 | 
				
			||||||
		let fat_db: Value = map.remove("fat_db".into()).unwrap_or_else(|| Value::Bool(false));
 | 
							let fat_db: Value = map.remove("fat_db").unwrap_or_else(|| Value::Bool(false));
 | 
				
			||||||
		let fat_db = try!(fat_db.as_bool().ok_or_else(|| Error::custom("invalid fat_db value")));
 | 
							let fat_db = try!(fat_db.as_bool().ok_or_else(|| Error::custom("invalid fat_db value")));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		let mode: Value = map.remove("mode".into()).unwrap_or_else(|| Value::String("active".to_owned()));
 | 
							let mode: Value = map.remove("mode").unwrap_or_else(|| Value::String("active".to_owned()));
 | 
				
			||||||
		let mode = match try!(mode.as_str().ok_or_else(|| Error::custom("invalid mode value"))) {
 | 
							let mode = match try!(mode.as_str().ok_or_else(|| Error::custom("invalid mode value"))) {
 | 
				
			||||||
			"offline" => Mode::Off,
 | 
								"offline" => Mode::Off,
 | 
				
			||||||
			"dark" => {
 | 
								"dark" => {
 | 
				
			||||||
				let timeout = try!(map.remove("mode.timeout".into()).and_then(|v| v.as_u64()).ok_or_else(|| Error::custom("invalid/missing mode.timeout value")));
 | 
									let timeout = try!(map.remove("mode.timeout").and_then(|v| v.as_u64()).ok_or_else(|| Error::custom("invalid/missing mode.timeout value")));
 | 
				
			||||||
				Mode::Dark(Duration::from_secs(timeout))
 | 
									Mode::Dark(Duration::from_secs(timeout))
 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
			"passive" => {
 | 
								"passive" => {
 | 
				
			||||||
				let timeout = try!(map.remove("mode.timeout".into()).and_then(|v| v.as_u64()).ok_or_else(|| Error::custom("invalid/missing mode.timeout value")));
 | 
									let timeout = try!(map.remove("mode.timeout").and_then(|v| v.as_u64()).ok_or_else(|| Error::custom("invalid/missing mode.timeout value")));
 | 
				
			||||||
				let alarm = try!(map.remove("mode.alarm".into()).and_then(|v| v.as_u64()).ok_or_else(|| Error::custom("invalid/missing mode.alarm value")));
 | 
									let alarm = try!(map.remove("mode.alarm").and_then(|v| v.as_u64()).ok_or_else(|| Error::custom("invalid/missing mode.alarm value")));
 | 
				
			||||||
				Mode::Passive(Duration::from_secs(timeout), Duration::from_secs(alarm))
 | 
									Mode::Passive(Duration::from_secs(timeout), Duration::from_secs(alarm))
 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
			"active" => Mode::Active,
 | 
								"active" => Mode::Active,
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user