User Tools

Site Tools


takeoutphotosanitizer:uncertain_reclassificatio_workflow_guide

This is an old revision of the document!


_Uncertain 재분류 절차 가이드

생성일: 2026-02-23 04:30:47


개요

이 문서는 _Uncertain 폴더에 분류된 파일을 SHA-256 원본을 변경하지 않고 안전하게 재분류하는 절차를 설명합니다.

핵심 원칙:

  • 기존 SHA-256.txt는 절대 수정하지 않는다.
  • 파일 바이트(이미지 내용)는 절대 수정하지 않는다.
  • 재분류는 별도의 “오버라이드(override) 기록 파일”로 관리한다.
  • 향후 앨범, 인물, 장소 등 확장 가능성을 고려한 구조를 유지한다.

0단계 -- 운영 폴더 생성

다음 폴더를 생성합니다.

PhotoVault_ops
PhotoVault_ops\reclass{=tex}
PhotoVault_ops\notes{=tex}\

이 폴더에는 운영 및 관리 파일만 저장합니다.


1단계 -- _Uncertain 목록 추출

다음 PowerShell 명령을 실행합니다.

$unc = "PhotoVault\Media\_Uncertain"
Get-ChildItem $unc -File -Recurse |
Select-Object FullName, Name, Length, LastWriteTime |
Export-Csv "PhotoVault\_ops\reclass\uncertain_review.csv" -NoTypeInformation -Encoding UTF8

결과 파일:

PhotoVault_ops\reclass{=tex}\uncertain{=tex}_review.csv


2단계 -- 수동 검토

엑셀에서 uncertain_review.csv를 열고 다음 열을 추가합니다.

  • year_final (확정 연도, 예: 2014)
  • note (판단 근거 메모)

확신이 있는 파일만 year_final을 채웁니다.

저장 파일:

PhotoVault_ops\reclass{=tex}\uncertain{=tex}_review_done.csv


3단계 -- 연도 오버라이드 파일 생성

다음 PowerShell 스크립트를 실행합니다.

$in  = "PhotoVault\_ops\reclass\uncertain_review_done.csv"
$out = "PhotoVault\_ops\reclass\year_override.tsv"
 
Import-Csv $in | Where-Object { $_.year_final -match '^\d{4}$' } |
ForEach-Object {
    $h = (Get-FileHash $_.FullName -Algorithm SHA256).Hash
    "{0}`t{1}`t{2}`t{3}" -f $h, $_.year_final, (Get-Date -Format "yyyy-MM-dd"), ($_.note -replace "`t"," ")
} | Set-Content $out -Encoding UTF8

파일 형식:

sha256<TAB>{=html}year_final<TAB>{=html}date<TAB>{=html}note

이 파일은 “수동 재분류 패치 기록”입니다.


4단계 -- 실제 파일 이동

파일을 해당 연도 폴더로 이동합니다.

$in  = "PhotoVault\_ops\reclass\uncertain_review_done.csv"
$rootMedia = "PhotoVault\Media"
$log = "PhotoVault\_ops\reclass\move_log.tsv"
 
Import-Csv $in | Where-Object { $_.year_final -match '^\d{4}$' } |
ForEach-Object {
 
    $src = $_.FullName
    $yy  = $_.year_final
    $dstDir = Join-Path $rootMedia $yy
    if (!(Test-Path $dstDir)) { New-Item -ItemType Directory -Path $dstDir | Out-Null }
 
    $dst = Join-Path $dstDir $_.Name
 
    if (Test-Path $dst) {
        $h8 = (Get-FileHash $src -Algorithm SHA256).Hash.Substring(0,8)
        $dst = Join-Path $dstDir ("{0}_{1}" -f $h8, $_.Name)
    }
 
    Move-Item -LiteralPath $src -Destination $dst
 
    "{0}`t{1}`t{2}`t{3}" -f (Get-Date -Format "yyyy-MM-dd HH:mm:ss"), $src, $dst, "moved" |
      Add-Content $log -Encoding UTF8
}

이 과정은 파일 바이트를 변경하지 않으므로 SHA-256은 유지됩니다.


(선택) 향후 확장을 위한 주석 파일

다음 파일을 생성할 수 있습니다.

PhotoVault_ops\notes{=tex}\annotations{=tex}.tsv

형식:

sha256<TAB>{=html}key<TAB>{=html}value<TAB>{=html}date

예:

AAA… place Jeju Seongsan 2026-02-23 AAA… people Mom;Dad 2026-02-23

이 구조는 향후 앨범, 인물, 장소, 키워드 확장에 사용됩니다.


반복 운영 루프

  1. _Uncertain 검토
  2. year_final 입력
  3. year_override.tsv 생성
  4. 파일 이동
  5. _Uncertain 감소 확인
  6. 반복

설계 철학

  • 파일은 불변 객체이다.
  • SHA-256은 영구 식별자이다.
  • 재분류는 메타데이터이다.
  • 앨범 및 주석은 관계 레이어이다.

takeoutphotosanitizer/uncertain_reclassificatio_workflow_guide.1771821114.txt.gz · Last modified: by hyjeong