parent
7070b7c9a8
commit
e656f5eec1
@ -0,0 +1,17 @@
|
||||
//! Config parsing error
|
||||
|
||||
use super::*;
|
||||
|
||||
#[derive(Debug)]
|
||||
pub enum Error {
|
||||
|
||||
}
|
||||
|
||||
impl std::error::Error for Error{}
|
||||
impl std::fmt::Display for Error
|
||||
{
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result
|
||||
{
|
||||
todo!()
|
||||
}
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
//! Global config stuff
|
||||
use super::*;
|
||||
|
||||
/// Global user config
|
||||
#[derive(Debug)]
|
||||
pub struct Config
|
||||
{
|
||||
/// The directories to find jobs in
|
||||
pub job_dirs: Vec<PathBuf>,
|
||||
/// The rules for users
|
||||
pub user_rules: Vec<UserRule>,
|
||||
}
|
||||
|
||||
impl Default for Config
|
||||
{
|
||||
#[inline]
|
||||
fn default() -> Self
|
||||
{
|
||||
Self{job_dirs: Vec::new(), user_rules: Vec::new()}
|
||||
}
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
use super::*;
|
||||
use std::{
|
||||
str,
|
||||
fmt,
|
||||
path::{
|
||||
PathBuf,
|
||||
Path,
|
||||
},
|
||||
};
|
||||
|
||||
mod parse;
|
||||
mod error;
|
||||
pub use error::*;
|
||||
|
||||
mod job;
|
||||
pub use job::*;
|
||||
|
||||
mod global;
|
||||
pub use global::*;
|
||||
|
||||
/// Parse a single config file
|
||||
#[inline]
|
||||
pub fn parse_global_single(path: impl AsRef<Path>) -> Result<Config, error::Error>
|
||||
{
|
||||
let mut cfg = Config::default();
|
||||
parse::global(&mut cfg, path)?;
|
||||
Ok(cfg)
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
//! Parses the config files
|
||||
use super::*;
|
||||
|
||||
/// Parse a single config file
|
||||
pub fn global(to: &mut Config, path: impl AsRef<Path>) -> Result<(), error::Error>
|
||||
{
|
||||
todo!()
|
||||
}
|
Loading…
Reference in new issue