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:
Scott Lamb
2017-02-05 20:13:51 -08:00
parent c82f038bef
commit f97e232131
7 changed files with 54 additions and 163 deletions

View File

@@ -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()
}
}

View File

@@ -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;

View File

@@ -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>/"