__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 = klasör+"\\"+dsy[::-1].split("_")[0][::-1]
			shutil.move(klasör+"\\"+dsy, klasör+"\\"+dsy[::-1].split("_")[0][::-1])
		finally:
			değişenDosya = open(yeniPostDosya,"r+")
			değişenİçerik=değişenDosya.read().replace("M03", "M04")

			değişenDosya.seek(0)
			değişenDosya.truncate()
			değişenDosya.seek(0)

			değişenİçerik = re.sub("N*.S*.(M*/n)","M04", değişenİçerik)
			# if not len(re.findall("G43G90G55"))>0:
			değişenİçerik = re.sub("N*(G43)","G43G90G55", değişenİçerik)
			# else:
			# 	pass

			# değişenİçerik = "N0 G90 G55 \n" + değişenİçerik
            #
			değişenDosya.write(değişenİçerik)
			değişenDosya.close()
			print(dsy[::-1].split("_")[0][::-1])







if __name__ == '__main__' :
	if not os.path.isfile(sys.argv[1]):
		klasörüTemizle(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