avoid chrono dependency, depend on proxmox 0.3.8

- remove chrono dependency

- depend on proxmox 0.3.8

- remove epoch_now, epoch_now_u64 and epoch_now_f64

- remove tm_editor (moved to proxmox crate)

- use new helpers from proxmox 0.3.8
  * epoch_i64 and epoch_f64
  * parse_rfc3339
  * epoch_to_rfc3339_utc
  * strftime_local

- BackupDir changes:
  * store epoch and rfc3339 string instead of DateTime
  * backup_time_to_string now return a Result
  * remove unnecessary TryFrom<(BackupGroup, i64)> for BackupDir

- DynamicIndexHeader: change ctime to i64

- FixedIndexHeader: change ctime to i64
This commit is contained in:
Dietmar Maurer
2020-09-12 15:10:47 +02:00
parent 58169da46a
commit 6a7be83efe
37 changed files with 198 additions and 380 deletions

View File

@ -172,7 +172,7 @@ fn list_groups(
let result_item = GroupListItem {
backup_type: group.backup_type().to_string(),
backup_id: group.backup_id().to_string(),
last_backup: info.backup_dir.backup_time().timestamp(),
last_backup: info.backup_dir.backup_time(),
backup_count: list.len() as u64,
files: info.files.clone(),
owner: Some(owner),
@ -403,7 +403,7 @@ pub fn list_snapshots (
let result_item = SnapshotListItem {
backup_type: group.backup_type().to_string(),
backup_id: group.backup_id().to_string(),
backup_time: info.backup_dir.backup_time().timestamp(),
backup_time: info.backup_dir.backup_time(),
comment,
verification,
files,
@ -673,7 +673,7 @@ fn prune(
prune_result.push(json!({
"backup-type": group.backup_type(),
"backup-id": group.backup_id(),
"backup-time": backup_time.timestamp(),
"backup-time": backup_time,
"keep": keep,
}));
}
@ -697,7 +697,7 @@ fn prune(
if keep_all { keep = true; }
let backup_time = info.backup_dir.backup_time();
let timestamp = BackupDir::backup_time_to_string(backup_time);
let timestamp = info.backup_dir.backup_time_string();
let group = info.backup_dir.group();
@ -714,7 +714,7 @@ fn prune(
prune_result.push(json!({
"backup-type": group.backup_type(),
"backup-id": group.backup_id(),
"backup-time": backup_time.timestamp(),
"backup-time": backup_time,
"keep": keep,
}));
@ -1097,7 +1097,7 @@ fn upload_backup_log(
}
println!("Upload backup log to {}/{}/{}/{}/{}", store,
backup_type, backup_id, BackupDir::backup_time_to_string(backup_dir.backup_time()), file_name);
backup_type, backup_id, backup_dir.backup_time_string(), file_name);
let data = req_body
.map_err(Error::from)

View File

@ -4,7 +4,6 @@ use serde_json::{Value, json};
use proxmox::api::{api, Router};
use crate::api2::types::*;
use crate::tools::epoch_now_f64;
use crate::rrd::{extract_cached_data, RRD_DATA_ENTRIES};
pub fn create_value_from_rrd(
@ -15,7 +14,7 @@ pub fn create_value_from_rrd(
) -> Result<Value, Error> {
let mut result = Vec::new();
let now = epoch_now_f64()?;
let now = proxmox::tools::time::epoch_f64();
for name in list {
let (start, reso, list) = match extract_cached_data(basedir, name, now, timeframe, cf) {

View File

@ -1,4 +1,3 @@
use chrono::prelude::*;
use anyhow::{bail, format_err, Error};
use serde_json::{json, Value};
@ -57,10 +56,11 @@ fn read_etc_localtime() -> Result<String, Error> {
)]
/// Read server time and time zone settings.
fn get_time(_param: Value) -> Result<Value, Error> {
let datetime = Local::now();
let offset = datetime.offset();
let time = datetime.timestamp();
let localtime = time + (offset.fix().local_minus_utc() as i64);
let time = proxmox::tools::time::epoch_i64();
let tm = proxmox::tools::time::localtime(time)?;
let offset = tm.tm_gmtoff;
let localtime = time + offset;
Ok(json!({
"timezone": read_etc_localtime()?,

View File

@ -1,4 +1,3 @@
//use chrono::{Local, TimeZone};
use anyhow::{bail, format_err, Error};
use futures::*;
use hyper::header::{self, HeaderValue, UPGRADE};
@ -88,7 +87,7 @@ fn upgrade_to_backup_reader_protocol(
//let files = BackupInfo::list_files(&path, &backup_dir)?;
let worker_id = format!("{}_{}_{}_{:08X}", store, backup_type, backup_id, backup_dir.backup_time().timestamp());
let worker_id = format!("{}_{}_{}_{:08X}", store, backup_type, backup_id, backup_dir.backup_time());
WorkerTask::spawn("reader", Some(worker_id), userid.clone(), true, move |worker| {
let mut env = ReaderEnvironment::new(

View File

@ -23,7 +23,6 @@ use crate::api2::types::{
use crate::server;
use crate::backup::{DataStore};
use crate::config::datastore;
use crate::tools::epoch_now_f64;
use crate::tools::statistics::{linear_regression};
use crate::config::cached_user_info::CachedUserInfo;
use crate::config::acl::{
@ -110,7 +109,7 @@ fn datastore_status(
});
let rrd_dir = format!("datastore/{}", store);
let now = epoch_now_f64()?;
let now = proxmox::tools::time::epoch_f64();
let rrd_resolution = RRDTimeFrameResolution::Month;
let rrd_mode = RRDMode::Average;