Revert "converting CRLF to LF"
[geo.git] / edit_wp5_web_folder / geo / mapviewer_copy / proj4js / tools / pjjs.py
diff --git a/edit_wp5_web_folder/geo/mapviewer_copy/proj4js/tools/pjjs.py b/edit_wp5_web_folder/geo/mapviewer_copy/proj4js/tools/pjjs.py
new file mode 100644 (file)
index 0000000..5b79d58
--- /dev/null
@@ -0,0 +1,85 @@
+#!/usr/bin/env python
+#
+# TODO explain
+#
+# -- Copyright 2007 IGN France / Geoportail project --
+#
+
+import sys
+import os
+import re
+
+SUFFIX_JAVASCRIPT = ".js"
+
+def _pjcat2js_remove(rezDirectory,catName,targetDirectory):
+    pjCatFilename = os.path.join(rezDirectory, catName)
+    pjCat = open(pjCatFilename,'r')
+    comment_re = re.compile("^#")
+    srsdef_re = re.compile("^<([^>]*)>.* <>$")
+    l = pjCat.readline()
+    while len(l) != 0:
+        if comment_re.search(l) is None:
+            srsdef_mo = srsdef_re.match(l)
+            srsdef_fn = os.path.join(targetDirectory, catName+srsdef_mo.group(1)+".js")
+            if os.path.exists(srsdef_fn):
+                os.remove(srsdef_fn)
+        l = pjCat.readline()
+    pjCat.close()
+
+def _pjcat2js_make(rezDirectory,catName,targetDirectory):
+    pjCatFilename = os.path.join(rezDirectory, catName)
+    pjCat = open(pjCatFilename,'r')
+    comment_re = re.compile("^#")
+    srsdef_re = re.compile("^<([^>]*)> *(.*) <>$")
+    l = pjCat.readline()
+    while len(l) != 0:
+        if comment_re.search(l) is None:
+            srsdef_mo = srsdef_re.match(l)
+            srsdef_fn = os.path.join(targetDirectory, catName+srsdef_mo.group(1)+".js")
+            srsdef = 'Proj4js.defs["'+catName+':'+srsdef_mo.group(1)+'"]="'+srsdef_mo.group(2)+'";'
+            file(srsdef_fn,'w').write(srsdef)
+        l = pjCat.readline()
+    pjCat.close()
+
+def pjcat2js_clean(rezDirectory,targetDirectory):
+    if not os.path.isdir(rezDirectory):
+        return
+    if not os.path.isdir(targetDirectory):
+        return
+    if os.path.abspath(rezDirectory) == '/':
+        return
+    if os.path.abspath(targetDirectory) == '/':
+        return
+    rezDirectory_name_len = len(rezDirectory)
+    for root, dirs, filenames in os.walk(rezDirectory):
+        if 'CVS' in dirs:
+            dirs.remove('CVS')
+        if '.svn' in dirs:
+            dirs.remove('.svn')
+        for filename in filenames:
+            if not filename.endswith(SUFFIX_JAVASCRIPT) and not filename.startswith("."):
+                filepath = os.path.join(root, filename)[rezDirectory_name_len+1:]
+                filepath = filepath.replace("\\", "/")
+                _pjcat2js_remove(rezDirectory,filepath,targetDirectory)
+
+def pjcat2js_run(rezDirectory,targetDirectory):
+    if not os.path.isdir(rezDirectory):
+        return
+    if not os.path.isdir(targetDirectory):
+        return
+    if os.path.abspath(rezDirectory) == '/':
+        return
+    if os.path.abspath(targetDirectory) == '/':
+        return
+    rezDirectory_name_len = len(rezDirectory)
+    for root, dirs, filenames in os.walk(rezDirectory):
+        if 'CVS' in dirs:
+            dirs.remove('CVS')
+        if '.svn' in dirs:
+            dirs.remove('.svn')
+        for filename in filenames:
+            if not filename.endswith(SUFFIX_JAVASCRIPT) and not filename.startswith("."):
+                filepath = os.path.join(root, filename)[rezDirectory_name_len+1:]
+                filepath = filepath.replace("\\", "/")
+                _pjcat2js_make(rezDirectory,filepath,targetDirectory)
+