Minor cleanup.
This commit is contained in:
parent
1f53860403
commit
3a64008980
@ -16,7 +16,6 @@ pub use self::context::{Context, ContextFilter};
|
|||||||
pub use self::photolink::PhotoLink;
|
pub use self::photolink::PhotoLink;
|
||||||
use self::render_ructe::BuilderExt;
|
use self::render_ructe::BuilderExt;
|
||||||
use self::search::*;
|
use self::search::*;
|
||||||
use self::splitlist::*;
|
|
||||||
use self::views_by_category::*;
|
use self::views_by_category::*;
|
||||||
use self::views_by_date::*;
|
use self::views_by_date::*;
|
||||||
use super::{CacheOpt, DbOpt, DirOpt};
|
use super::{CacheOpt, DbOpt, DirOpt};
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
use super::RenderRucte;
|
use super::splitlist::links_by_time;
|
||||||
use super::{links_by_time, Context, ImgRange};
|
use super::{Context, ImgRange, RenderRucte};
|
||||||
use crate::adm::result::Error;
|
use crate::adm::result::Error;
|
||||||
use crate::models::{Facet, Person, Photo, Place, Tag};
|
use crate::models::{Facet, Person, Photo, Place, Tag};
|
||||||
use crate::schema::photo_people::dsl as pp;
|
use crate::schema::photo_people::dsl as pp;
|
||||||
|
@ -30,27 +30,32 @@ pub fn links_by_time<'a>(
|
|||||||
.load(&c)
|
.load(&c)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
(
|
(
|
||||||
if let Some(groups) = split_to_groups(&photos) {
|
split_to_group_links(&photos, context.path_without_query(), with_date),
|
||||||
let path = context.path_without_query();
|
|
||||||
groups
|
|
||||||
.iter()
|
|
||||||
.map(|g| PhotoLink::for_group(g, path, with_date))
|
|
||||||
.collect()
|
|
||||||
} else {
|
|
||||||
photos
|
|
||||||
.iter()
|
|
||||||
.map(if with_date {
|
|
||||||
PhotoLink::date_title
|
|
||||||
} else {
|
|
||||||
PhotoLink::no_title
|
|
||||||
})
|
|
||||||
.collect()
|
|
||||||
},
|
|
||||||
get_positions(&photos, &c),
|
get_positions(&photos, &c),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn get_positions(photos: &[Photo], c: &PgConnection) -> Vec<(Coord, i32)> {
|
fn split_to_group_links(
|
||||||
|
photos: &[Photo],
|
||||||
|
path: &str,
|
||||||
|
with_date: bool,
|
||||||
|
) -> Vec<PhotoLink> {
|
||||||
|
if let Some(groups) = split_to_groups(&photos) {
|
||||||
|
groups
|
||||||
|
.iter()
|
||||||
|
.map(|g| PhotoLink::for_group(g, path, with_date))
|
||||||
|
.collect()
|
||||||
|
} else {
|
||||||
|
let make_link = if with_date {
|
||||||
|
PhotoLink::date_title
|
||||||
|
} else {
|
||||||
|
PhotoLink::no_title
|
||||||
|
};
|
||||||
|
photos.iter().map(make_link).collect()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn get_positions(photos: &[Photo], c: &PgConnection) -> Vec<(Coord, i32)> {
|
||||||
use crate::schema::positions::dsl::*;
|
use crate::schema::positions::dsl::*;
|
||||||
positions
|
positions
|
||||||
.filter(photo_id.eq_any(photos.iter().map(|p| p.id)))
|
.filter(photo_id.eq_any(photos.iter().map(|p| p.id)))
|
||||||
@ -63,7 +68,7 @@ pub fn get_positions(photos: &[Photo], c: &PgConnection) -> Vec<(Coord, i32)> {
|
|||||||
.collect()
|
.collect()
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn split_to_groups(photos: &[Photo]) -> Option<Vec<&[Photo]>> {
|
fn split_to_groups(photos: &[Photo]) -> Option<Vec<&[Photo]>> {
|
||||||
let wanted_groups = match photos.len() {
|
let wanted_groups = match photos.len() {
|
||||||
l if l <= 18 => return None,
|
l if l <= 18 => return None,
|
||||||
l if l < 120 => 10,
|
l if l < 120 => 10,
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
//! Handle photos by tag, person, or place.
|
//! Handle photos by tag, person, or place.
|
||||||
use super::RenderRucte;
|
use super::splitlist::links_by_time;
|
||||||
use super::{links_by_time, not_found, Context, ContextFilter, ImgRange};
|
use super::{not_found, Context, ContextFilter, ImgRange, RenderRucte};
|
||||||
use crate::models::{Person, Photo, Place, Tag};
|
use crate::models::{Person, Photo, Place, Tag};
|
||||||
use crate::templates;
|
use crate::templates;
|
||||||
use diesel::prelude::*;
|
use diesel::prelude::*;
|
||||||
|
Loading…
Reference in New Issue
Block a user