Page MenuHomeDevCentral

No OneTemporary

diff --git a/src/__pycache__/idTagDetector.cpython-34.pyc b/src/__pycache__/idTagDetector.cpython-34.pyc
new file mode 100644
index 0000000..cc845f2
Binary files /dev/null and b/src/__pycache__/idTagDetector.cpython-34.pyc differ
diff --git a/src/idTagDetector.py b/src/idTagDetector.py
new file mode 100644
index 0000000..1c40d94
--- /dev/null
+++ b/src/idTagDetector.py
@@ -0,0 +1,91 @@
+# takes a string as input. Detects SVG tags susceptible of designating geographical divisions
+# such as continents, countries, administrative subdivitions, etc.
+
+#from bs4 import BeautifulSoup
+import re
+
+
+class IdTagDetector:
+ def __init__(self, arg):
+ self.arg=arg
+ self.detectedTags=[]
+
+ self.stoplist=[]
+ self.stoplistPath="../configs/stoplists"
+ self.whitelist=[]
+ self.whitelistPath="../configs/whitelists"
+ # The prefixes that have been observed to hold geographic labels in the test maps
+ self.labelPrefixes = ["path class=", "inkscape:label=", "label=", "id="]
+
+ #
+ def loadStopList(self):
+ return []
+
+ #
+ def loadWhiteList(self):
+ return []
+
+
+ #
+ def listTags(self):
+ print(self.detectedTags)
+
+ #
+ def detect(self):
+ candidates = []
+ for labelPrefix in self.labelPrefixes:
+ regex = labelPrefix+"\"([^0-9]+?)\""
+ candidates.extend( re.findall(regex, self.arg) )
+
+ self.detectedTags = candidates
+
+
+
+
+ #subdivisionTag = "path"
+ #labelTag = "inkscape:label"
+
+ #soup = BeautifulSoup(self.arg)
+ #candidates = soup.findAll(subdivisionTag)
+ #for candidate in candidates:
+ #print(candidate)
+ ##if candidate[labelTag][0] == "#":
+ ##break
+ ##if candidate.has_attr(labelTag):
+ ##self.detectedTags.append(candidate[labelTag])
+ ##self.detectedTags.append(candidate[labelTag])
+
+#####################################################################
+#####################################################################
+###############################################
+#../maps/Blank_Map_Africa_1932.svg
+#<path class="land tn" d="m 1329,465 c 0 (...),-4" id="path5410"></path>
+# ==> tn
+###############################################
+#../maps/USA_Counties_with_FIPS_and_names.svg
+#<path d="M 155.88098,77.694 (...) L 155.54698,80.155 L 155.88098,77.694" id="56039" inkscape:label="Teton, WY" style="font-size:12px;fill:#d0d0d0;fill-rule:nonzero;stroke:#000000;stroke-opacity:1;stroke-width:0.1;stroke-miterlimit:4;stroke-dasharray:none;stroke-linecap:butt;marker-start:none;stroke-linejoin:bevel"></path>
+# ==> Teton, WY
+###############################################
+#../maps/Blank_map_of_Europe_1815.svg
+#<path d="m 6315.6975,5206.8332 (...)-1.9098 z" id="Serbia" style="fill:#c0c0c0;stroke:#ffffff;stroke-width:6.11153841;stroke-miterlimit:4;stroke-dasharray:6.11153881, 12.22307732;stroke-dashoffset:0"></path>
+# ==> Serbia
+###############################################
+#../maps/World98.svg
+#<g id="Iran:Semnan Province">
+ #<path d='M5242.6766527
+#1029.3724017z' fill='white' stroke='black' />
+#</g>
+ #==> Iran:Semnan Province
+
+#####################################################################
+# path class="land tn"
+# inkscape:label="Teton, WY"
+# id="Serbia"
+# <g id="Iran:Semnan Province">
+
+
+
+
+
+
+
diff --git a/src/testIdTagDetector.py b/src/testIdTagDetector.py
new file mode 100755
index 0000000..ee0e6be
--- /dev/null
+++ b/src/testIdTagDetector.py
@@ -0,0 +1,27 @@
+#!/usr/bin/python
+
+from idTagDetector import IdTagDetector
+
+
+
+#-----------------------------------
+# Management of arguments
+#-----------------------------------
+import argparse
+parser = argparse.ArgumentParser(description='test of idTagDetector: takes SVG maps as argument; sould return a list of ID tags used in the file to designate continents, countries, administrative subdivisions, etc. in standard output.')
+# positional argument
+parser.add_argument("infiles", nargs='+', help="filenames of the SVG files against which to test idTagDetector.")
+
+args = parser.parse_args()
+
+
+#-----------------------------------
+# Main
+#-----------------------------------
+for infile in args.infiles:
+ print("Reading from "+infile+".")
+ svg = open(infile, 'r').read()
+ detector = IdTagDetector(svg)
+ detector.detect()
+ detector.listTags()
+

File Metadata

Mime Type
text/x-diff
Expires
Thu, Sep 18, 02:08 (1 d, 17 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2988389
Default Alt Text
(4 KB)

Event Timeline