Closed pnorman closed 11 years ago
This is a nasty bug. Was this a regression introduced in an updated commit (if so, which one?) or did this feature never work ? I've also tried the newest (March 28th,2012) release of Andrew's uvm and also experienced the same bug no matter whether I put it in the translations directory or in the same folder as ogr2osm.py
It's not a regression in my version. I'm not sure if the bug is exactly the same with the SVN version but there's always been oddities around the path and where translations are found
The following patch should fix this bug. In addition, import and syntax error are reported differently:
diff --git a/ogr2osm.py b/ogr2osm.py
index e773747..4f48b8b 100755
--- a/ogr2osm.py
+++ b/ogr2osm.py
@@ -188,7 +188,7 @@ if options.translationMethod:
# first check translations in the subdir translations of cwd
sys.path.insert(0, os.path.join(os.getcwd(), "translations"))
# then check subdir of script dir
- sys.path.insert(1, os.path.join(os.path.abspath(__file__), "translations"))
+ sys.path.insert(1, os.path.join(os.path.dirname(__file__), "translations"))
# (the cwd will also be checked implicityly)
# strip .py if present, as import wants just the module name
@@ -197,11 +197,16 @@ if options.translationMethod:
try:
translations = __import__(options.translationMethod)
- except:
+ except ImportError as e:
parser.error("Could not load translation method '%s'. Translation "
"script must be in your current directory, or in the "
"translations/ subdirectory of your current or ogr2osm.py "
- "directory.") % (options.translationMethod)
+ "directory. The following directories have been considered: %s"
+ % (options.translationMethod, str(sys.path)))
+ except SyntaxError as e:
+ parser.error("Syntax error in '%s'. Translation script is malformed:\n%s"
+ % (options.translationMethod, e))
l.info("Successfully loaded '%s' translation method ('%s')."
% (options.translationMethod, os.path.realpath(translations.__file__)))
else:
the error
error: Could not load translation method '%s'. Translation script must be in your current directory, or in the translations/ subdirectory of your current or ogr2osm.py directory.
does not reflect where we look for translation scripts