mirror of
https://github.com/pezkuwichain/pwap.git
synced 2026-04-23 07:07:55 +00:00
1295c36241
- Fixed TypeScript type assertion issues - Updated imports from api-augment/substrate to api-augment/bizinikiwi - Fixed imgConvert.mjs header and imports - Added @ts-expect-error for runtime-converted types - Fixed all @polkadot copyright headers to @pezkuwi
127 lines
5.0 KiB
Python
127 lines
5.0 KiB
Python
import os
|
||
import sys
|
||
|
||
# HARİÇ TUTULACAK KLASÖRLER
|
||
EXCLUDE_DIRS = {'crate_placeholders', '.git', 'target', 'node_modules', '__pycache__'}
|
||
|
||
# Düzeltilecek Kalıplar ve Yerine Geçecek Değerler
|
||
# Tekrar eden önekleri temizler.
|
||
REPLACEMENT_MAP = {
|
||
"pezpez": "pez",
|
||
"Pezpez": "Pez",
|
||
"PEZPEZ": "PEZ",
|
||
"PeZPeZ": "PeZ",
|
||
"pezPez": "pez",
|
||
"PEZpez": "PEZ",
|
||
}
|
||
|
||
def is_path_excluded(path):
|
||
"""Verilen yolun yasaklı bir klasörün içinde olup olmadığını kontrol eder."""
|
||
parts = path.split(os.sep)
|
||
return any(excluded in parts for excluded in EXCLUDE_DIRS)
|
||
|
||
def fix_double_prefix(text):
|
||
"""Metin içindeki çift PEZ öneklerini tek PEZ önekiyle değiştirir."""
|
||
for old_prefix, new_prefix in REPLACEMENT_MAP.items():
|
||
text = text.replace(old_prefix, new_prefix)
|
||
return text
|
||
|
||
def process_content_updates(root_dir):
|
||
"""Belirtilen dizin altındaki tüm hedef dosyaların içeriğini günceller."""
|
||
# Sadece .rs ve .toml gibi kod dosyalarını hedefleyelim.
|
||
TARGET_EXTENSIONS = ('.rs', '.toml', '.md', '.txt', '.yml', '.yaml', '.json', '.py')
|
||
|
||
print("--- Adım 1: Dosya İçeriklerinde Çift Önek Düzeltme ---")
|
||
for dirpath, dirnames, filenames in os.walk(root_dir, topdown=True):
|
||
dirnames[:] = [d for d in dirnames if d not in EXCLUDE_DIRS]
|
||
if is_path_excluded(dirpath):
|
||
continue
|
||
|
||
for filename in filenames:
|
||
if filename.endswith(TARGET_EXTENSIONS) or filename == 'Cargo.lock':
|
||
filepath = os.path.join(dirpath, filename)
|
||
|
||
if os.path.basename(filepath) == os.path.basename(sys.argv[0]):
|
||
continue
|
||
|
||
try:
|
||
with open(filepath, 'r', encoding='utf-8', errors='ignore') as f:
|
||
content = f.read()
|
||
|
||
original_content = content
|
||
content = fix_double_prefix(content)
|
||
|
||
if content != original_content:
|
||
with open(filepath, 'w', encoding='utf-8') as f:
|
||
f.write(content)
|
||
print(f" [İÇERİK DÜZELTİLDİ] Dosya içeriği: {filepath}")
|
||
|
||
except Exception as e:
|
||
print(f" [HATA] İçerik düzeltilirken: {filepath} -> {e}")
|
||
|
||
def rename_pezpez_paths(root_dir):
|
||
"""Dosya ve klasör adlarında geçen 'pezpez' önekini 'pez' olarak düzeltir (bottom-up)."""
|
||
|
||
# 2. Klasör İsimlerini Düzelt (topdown=False, en alttan yukarı güvenli işlem)
|
||
print("\n--- Adım 2: Klasör İsimlerinin Düzeltilmesi (pezpez -> pez) ---")
|
||
for dirpath, dirnames, filenames in os.walk(root_dir, topdown=False):
|
||
|
||
if any(excluded in dirpath.split(os.sep) for excluded in EXCLUDE_DIRS):
|
||
continue
|
||
|
||
dirname = os.path.basename(dirpath)
|
||
original_dirname = dirname
|
||
new_dirname = fix_double_prefix(dirname)
|
||
|
||
if new_dirname != original_dirname:
|
||
old_path = dirpath
|
||
new_path = os.path.join(os.path.dirname(dirpath), new_dirname)
|
||
|
||
if os.path.exists(old_path) and not os.path.exists(new_path):
|
||
try:
|
||
os.rename(old_path, new_path)
|
||
print(f" [RENAME-DIR] {original_dirname} -> {new_dirname}")
|
||
except OSError as e:
|
||
print(f" [HATA] Klasör adlandırılamadı {original_dirname}: {e}")
|
||
|
||
# 3. Dosya İsimlerini Düzelt (topdown=True, kökten aşağı)
|
||
print("\n--- Adım 3: Dosya İsimlerinin Düzeltilmesi (pezpez -> pez) ---")
|
||
for dirpath, dirnames, filenames in os.walk(root_dir, topdown=True):
|
||
|
||
dirnames[:] = [d for d in dirnames if d not in EXCLUDE_DIRS]
|
||
if is_path_excluded(dirpath):
|
||
continue
|
||
|
||
for filename in filenames:
|
||
original_filename = filename
|
||
new_filename = fix_double_prefix(filename)
|
||
|
||
if new_filename != original_filename:
|
||
old_path = os.path.join(dirpath, original_filename)
|
||
new_path = os.path.join(dirpath, new_filename)
|
||
|
||
if os.path.exists(old_path) and not os.path.exists(new_path):
|
||
try:
|
||
os.rename(old_path, new_path)
|
||
print(f" [RENAME-FILE] {original_filename} -> {new_filename}")
|
||
except OSError as e:
|
||
print(f" [HATA] Dosya adlandırılamadı {original_filename}: {e}")
|
||
|
||
|
||
def main():
|
||
root_dir = os.getcwd()
|
||
print("==================================================")
|
||
print(f"🔧 PEZPEZ DÜZELTME (İçerik ve Ad) İşlemi Başlatılıyor...")
|
||
print(f"⚠️ Çalışma Dizini: {root_dir}")
|
||
print("==================================================")
|
||
|
||
# Önce içerikleri düzelt (dosya yolları değişmeden)
|
||
process_content_updates(root_dir)
|
||
|
||
# Ardından dosya ve klasör adlarını düzelt
|
||
rename_pezpez_paths(root_dir)
|
||
|
||
print("\n✅ PEZPEZ Düzeltme işlemi tamamlandı.")
|
||
|
||
if __name__ == "__main__":
|
||
main() |