﻿__author__ = 'PC'

import glob
import os
import sys
import shutil
import re


def KlasordekiDosyalar(Klasor, Uzantilar="*.*"):
    os.chdir(Klasor)
    List = []
    for files in glob.glob(Uzantilar):
        List.append(files)
    return List


def klasörüTemizle(klasörü, val=["aptsource", "log", "LOG", "MOAPTIndexes", "MOISOIndexes"]):
    for uzanti in val:
        dosyalar = KlasordekiDosyalar(klasörü, "*." + uzanti)
        for dosya in dosyalar:
            os.remove(dosya)


def DosyalarıDüzelt(Klasör, Uzantı="H"):
    dosyalar = KlasordekiDosyalar(Klasör, "*." + Uzantı)
    for dsy in dosyalar:
        try:
            yeniPostDosya = os.path.join(Klasör, dsy)
        finally:
            pass
            değişenDosya = open(yeniPostDosya,"r+")
            değişenİçerik=değişenDosya.read()

            değişenDosya.seek(0)
            değişenDosya.truncate()
            değişenDosya.seek(0)

            değişenİçerik = re.sub("(TOOL DEF .* R.*)",'; FikoPostcu Tarafından Duzeltildi', değişenİçerik)
            değişenDosya.write(değişenİçerik)
            değişenDosya.close()


def IsimleriDuzelt(Klasor, Uzantı="H"):
    dosyalar = KlasordekiDosyalar(Klasor, "*.CATProcess")
    processIsmi = str(dosyalar[0]).replace(".CATProcess","")
    dosyalar = KlasordekiDosyalar(Klasor, "*." + Uzantı)
    for dosya in dosyalar:
        renamedFile=str(dosya).replace(processIsmi+"_","")
        os.rename(dosya, os.path.join(os.path.dirname(dosya), renamedFile))

if __name__ == '__main__':
    if not os.path.isfile(sys.argv[1]):
        klasörüTemizle(sys.argv[1])
        IsimleriDuzelt(sys.argv[1])
        # DosyalarıDüzelt(sys.argv[1])
    else:
        try:
            if not os.path.isdir(sys.argv[1]):
                klasör = os.path.dirname(sys.argv[1])
                # klasörüTemizle(klasör)
                DosyalarıDüzelt(klasör)
        except:
            pass
