#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tempfile
import shutil
import os.path
import sys
import glob

deviceName = sys.argv[1]
outputFile = sys.argv[2]

try:
	os.remove(outputFile)
except OSError:
	pass
    
readerScript = "\"" + os.path.dirname(os.path.abspath(__file__)) + "/mainnav-reader" + "\""

tempDir = tempfile.mkdtemp()

readerCommand = readerScript + " -v -t \"" + tempDir + "\" -d " + "\"" + deviceName + "\""

print readerCommand
if os.system(readerCommand) == 0:

	#scanDir = "/Users/tichel/Desktop/test"
	scanDir = tempDir
	
	gpsbabelCommand = "\"" + os.path.dirname(os.path.abspath(__file__)) + "/../gpsbabel\""

	gpxCount = 0;
	for root, subFolders, files in os.walk(scanDir):
		for file in files:
			fullname = os.path.join(root,file)
			print "File: " + fullname
			if fullname.lower().endswith(".gpx"):
				gpsbabelCommand += " -i gpx -f \"" + fullname + "\""
				gpxCount = gpxCount + 1

	if gpxCount > 1:		
		gpsbabelCommand += " -o gpx -F \"" + outputFile + "\""

		print gpsbabelCommand
		os.system(gpsbabelCommand)

	for root, subFolders, files in os.walk(scanDir):
		for file in files:
			fullname = os.path.join(root,file)
			print "Removing: " + fullname
			try:
				os.remove(fullname)
			except OSError:
				pass
		for file in subFolders:
			fullname = os.path.join(root,file)
			print "Removing: " + fullname
			try:
				os.removedirs(fullname)
			except OSError:
				pass

try:
	os.removedirs(tempDir)
except OSError:
	pass
