Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Translation file locations #8

Closed
pnorman opened this issue Aug 18, 2012 · 3 comments
Closed

Translation file locations #8

pnorman opened this issue Aug 18, 2012 · 3 comments
Assignees
Labels

Comments

@pnorman
Copy link
Owner

pnorman commented Aug 18, 2012

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

@ghost ghost assigned pnorman Aug 18, 2012
@skorasaurus
Copy link

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

@pnorman
Copy link
Owner Author

pnorman commented Sep 11, 2012

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

@simon04
Copy link

simon04 commented Nov 13, 2012

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:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants