<commit_before>/// # `repository` - configuration data and other persistent data w.r.t. a single repository.
///
/// An Attaca repository's metadata is stored in the `.attaca` folder of a repository. The internal
/// structure of the metadata folder looks like this:
///
/// ```ignore
/// _ .attaca
/// +-- config.toml
/// +-_ catalogs
///    +-- <remote-name>.catalog
/// +-- local.catalog
/// +-_ blobs
///    +-- ... locally stored blobs named by hash
/// ```


use std::borrow::Cow;
use std::collections::HashMap;
use std::fs::{self, File};
use std::io::{Read, Write};
use std::path::{Path, PathBuf};
use std::sync::Mutex;

use itertools::Itertools;
use toml;

use {METADATA_PATH, BLOBS_PATH, CONFIG_PATH, REMOTE_CATALOGS_PATH, LOCAL_CATALOG_PATH};
use catalog::{Catalog, CatalogTrie};
use errors::*;


/// The persistent configuration data for a single pool of a RADOS cluster.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CephCfg {
    /// Path to a ceph.conf file.
    pub conf_file: Option<PathBuf>,

    /// The working RADOS object pool.<commit_msg>Fix docs, correct remote catalogs directory path<commit_after>/// # `repository` - configuration data and other persistent data w.r.t. a single repository.
///
/// An Attaca repository's metadata is stored in the `.attaca` folder of a repository. The internal
/// structure of the metadata folder looks like this:
///
/// ```ignore
/// _ .attaca
/// +-- config.toml
/// +-_ remote-catalogs
///    +-- <remote-name>.catalog
/// +-- local.catalog
/// +-_ blobs
///    +-- ... locally stored blobs named by hash
/// ```


use std::borrow::Cow;
use std::collections::HashMap;
use std::fs::{self, File};
use std::io::{Read, Write};
use std::path::{Path, PathBuf};
use std::sync::Mutex;

use itertools::Itertools;
use toml;

use {METADATA_PATH, BLOBS_PATH, CONFIG_PATH, REMOTE_CATALOGS_PATH, LOCAL_CATALOG_PATH};
use catalog::{Catalog, CatalogTrie};
use errors::*;


/// The persistent configuration data for a single pool of a RADOS cluster.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CephCfg {
    /// Path to a ceph.conf file.
    pub conf_file: Option<PathBuf>,

    /// The working RADOS object pool.
{'fraction_non_alphanumeric': 0.16270566727605118, 'fraction_numerical': 0.0, 'mean_word_length': 3.4491869918699187, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6493432', 'n_tokens_mistral': 705, 'n_tokens_neox': 703, 'n_words': 225}