Documentation
¶
Index ¶
- func ExportCSV(groups []FileGroup, writer io.Writer) error
- func ExportJSON(groups []FileGroup, writer io.Writer) error
- func GetTotalDuplicateSize(groups []FileGroup) int64
- func PrintSummary(groups []FileGroup)
- type Config
- type DeduplicatorHasher
- type FileGroup
- type FileInfo
- type GitignoreManager
- type Hasher
- type Manager
- type Menu
- type Scanner
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ExportJSON ¶
ExportJSON exporta os resultados em formato JSON
func GetTotalDuplicateSize ¶
GetTotalDuplicateSize calcula o tamanho total que pode ser liberado removendo duplicatas
func PrintSummary ¶
func PrintSummary(groups []FileGroup)
PrintSummary exibe um resumo das duplicatas encontradas
Types ¶
type Config ¶
type Config struct {
Dir string
Checksum string
MinSize int64
BackupDir string
DryRun bool
JSON bool
Version bool
Yes bool
}
Config representa a configuração da aplicação
type DeduplicatorHasher ¶
type DeduplicatorHasher struct {
// contains filtered or unexported fields
}
DeduplicatorHasher é responsável por agrupar arquivos por checksum
func NewDeduplicatorHasher ¶
func NewDeduplicatorHasher(algorithm string) *DeduplicatorHasher
NewDeduplicatorHasher cria uma nova instância do hasher para deduplicação
func (*DeduplicatorHasher) GroupByChecksum ¶
func (h *DeduplicatorHasher) GroupByChecksum(files []FileInfo) ([]FileGroup, error)
GroupByChecksum agrupa arquivos por checksum
type FileGroup ¶
FileGroup representa um grupo de arquivos com o mesmo checksum
func FilterDuplicates ¶
FilterDuplicates retorna apenas grupos que contêm duplicatas (mais de um arquivo)
type GitignoreManager ¶
type GitignoreManager struct {
// contains filtered or unexported fields
}
GitignoreManager gerencia as regras do .gitignore
func NewGitignoreManager ¶
func NewGitignoreManager() *GitignoreManager
NewGitignoreManager cria uma nova instância do gerenciador de .gitignore
func (*GitignoreManager) GetRules ¶
func (g *GitignoreManager) GetRules() []string
GetRules retorna as regras carregadas (para debug)
func (*GitignoreManager) LoadGitignore ¶
func (g *GitignoreManager) LoadGitignore(rootDir string) error
LoadGitignore carrega as regras do arquivo .gitignore
func (*GitignoreManager) ShouldIgnore ¶
func (g *GitignoreManager) ShouldIgnore(path, rootDir string) bool
ShouldIgnore verifica se um caminho deve ser ignorado
type Hasher ¶
type Hasher struct {
// contains filtered or unexported fields
}
Hasher é responsável por calcular checksums de arquivos
func (*Hasher) CalculateChecksum ¶
CalculateChecksum calcula o checksum de um arquivo
func (*Hasher) GetAlgorithm ¶
GetAlgorithm retorna o algoritmo atual
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager é responsável por gerenciar backups de arquivos duplicados
func NewManager ¶
NewManager cria uma nova instância do gerenciador de backup
func (*Manager) ProcessDuplicates ¶
ProcessDuplicates processa as duplicatas e move para backup
type Menu ¶
type Menu struct {
// contains filtered or unexported fields
}
Menu representa o menu interativo
type Scanner ¶
type Scanner struct {
// contains filtered or unexported fields
}
Scanner é responsável por escanear diretórios e encontrar arquivos
func NewScanner ¶
NewScanner cria uma nova instância do scanner
func (*Scanner) GetIgnoredRules ¶
GetIgnoredRules retorna as regras do .gitignore carregadas (para debug)
func (*Scanner) ScanDirectory ¶
ScanDirectory escaneia recursivamente um diretório e retorna informações dos arquivos
func (*Scanner) ScanFromStdin ¶
ScanFromStdin lê uma lista de caminhos de arquivos do stdin