mirror of
https://github.com/scottlamb/moonfire-nvr.git
synced 2025-12-03 06:22:32 -05:00
upgrade dependencies
Rust 1.15+ now supports serde codegen on stable without the build.rs. Update to serde 0.9 and uuid crate 0.4 to match.
This commit is contained in:
@@ -29,7 +29,7 @@
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
use db;
|
||||
use serde::ser::Serializer;
|
||||
use serde::ser::{SerializeMap, SerializeSeq, Serializer};
|
||||
use std::collections::BTreeMap;
|
||||
use uuid::Uuid;
|
||||
|
||||
@@ -73,23 +73,23 @@ impl<'a> Camera<'a> {
|
||||
}
|
||||
|
||||
fn serialize_days<S>(days: &Option<&BTreeMap<db::CameraDayKey, db::CameraDayValue>>,
|
||||
serializer: &mut S) -> Result<(), S::Error>
|
||||
serializer: S) -> Result<S::Ok, S::Error>
|
||||
where S: Serializer {
|
||||
let days = match *days {
|
||||
Some(d) => d,
|
||||
None => return Ok(()),
|
||||
None => return serializer.serialize_none(),
|
||||
};
|
||||
let mut state = serializer.serialize_map(Some(days.len()))?;
|
||||
let mut map = serializer.serialize_map(Some(days.len()))?;
|
||||
for (k, v) in days {
|
||||
serializer.serialize_map_key(&mut state, k.as_ref())?;
|
||||
map.serialize_key(k.as_ref())?;
|
||||
let bounds = k.bounds();
|
||||
serializer.serialize_map_value(&mut state, &CameraDayValue{
|
||||
map.serialize_value(&CameraDayValue{
|
||||
start_time_90k: bounds.start.0,
|
||||
end_time_90k: bounds.end.0,
|
||||
total_duration_90k: v.duration.0,
|
||||
})?;
|
||||
}
|
||||
serializer.serialize_map_end(state)
|
||||
map.end()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -104,13 +104,13 @@ impl<'a> ListCameras<'a> {
|
||||
/// Serializes cameras as a list (rather than a map), wrapping each camera in the
|
||||
/// `ListCamerasCamera` type to tweak the data returned.
|
||||
fn serialize_cameras<S>(cameras: &BTreeMap<i32, db::Camera>,
|
||||
serializer: &mut S) -> Result<(), S::Error>
|
||||
serializer: S) -> Result<S::Ok, S::Error>
|
||||
where S: Serializer {
|
||||
let mut state = serializer.serialize_seq(Some(cameras.len()))?;
|
||||
let mut seq = serializer.serialize_seq(Some(cameras.len()))?;
|
||||
for c in cameras.values() {
|
||||
serializer.serialize_seq_elt(&mut state, &Camera::new(c, false))?;
|
||||
seq.serialize_element(&Camera::new(c, false))?;
|
||||
}
|
||||
serializer.serialize_seq_end(state)
|
||||
seq.end()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -51,6 +51,7 @@ extern crate openssl;
|
||||
extern crate regex;
|
||||
extern crate rustc_serialize;
|
||||
extern crate serde;
|
||||
#[macro_use] extern crate serde_derive;
|
||||
extern crate serde_json;
|
||||
extern crate slog;
|
||||
extern crate slog_envlogger;
|
||||
@@ -68,6 +69,7 @@ mod db;
|
||||
mod dir;
|
||||
mod error;
|
||||
mod h264;
|
||||
mod json;
|
||||
mod mmapfile;
|
||||
mod mp4;
|
||||
mod pieces;
|
||||
|
||||
@@ -35,6 +35,7 @@ use core::str::FromStr;
|
||||
use db;
|
||||
use dir::SampleFileDir;
|
||||
use error::Error;
|
||||
use json;
|
||||
use http_entity;
|
||||
use hyper::{header,server,status};
|
||||
use hyper::uri::RequestUri;
|
||||
@@ -66,8 +67,6 @@ lazy_static! {
|
||||
static ref SEGMENTS_RE: Regex = Regex::new(r"^(\d+)(-\d+)?(?:\.(\d+)?-(\d+)?)?$").unwrap();
|
||||
}
|
||||
|
||||
mod json { include!(concat!(env!("OUT_DIR"), "/serde_types.rs")); }
|
||||
|
||||
enum Path {
|
||||
CamerasList, // "/" or "/cameras/"
|
||||
Camera(Uuid), // "/cameras/<uuid>/"
|
||||
|
||||
Reference in New Issue
Block a user