import svn.remote
import os

outputFolder = "repo"
if not os.path.exists(outputFolder):
	os.makedirs(outputFolder)
	
ignoreDirectory = ["trunk/downloads"]
ignoreFile = ["*"];
githubUrl = "https://github.com/Lougarou/backtestfbprophet"

r = svn.remote.RemoteClient(githubUrl)
revision = r.info()["commit_revision"]
print("revision: ",revision)
print("I know this is awfully slow")

entries = r.list_recursive()

print("exporting...")
for entry in entries:
	directory = entry[0]
	filename = entry[1]["name"]
	if ("branches" in directory): #this was only for my case you can remove this!
		continue
	if (directory in ignoreDirectory):
		#you can add more conditions if you want I needed only folder skipping
		continue

	x = svn.remote.RemoteClient(githubUrl+'/'+directory+"/"+filename)

	#create folder if doesnt exist locally
	if not os.path.exists(outputFolder+"/" + directory):
		os.makedirs(outputFolder+"/" + directory)
	print(outputFolder+"/" + directory + "/" + filename)
	x.export(outputFolder+"/"+directory+"/"+filename, revision=revision)