# HG changeset patch
# User mas01mc
# Date 1231594270 0
# Node ID d515ce3864fcb063fbf7d2e949a7444997b85bcb
# Parent 7b24f2b423cc1030b3d2bf26b0f50e33b7c42c1b
Added adb.query.req.xml SOAP call to QueryADB.py
diff -r 7b24f2b423cc -r d515ce3864fc QueryADB.py
--- a/QueryADB.py Sat Jan 10 13:24:36 2009 +0000
+++ b/QueryADB.py Sat Jan 10 13:31:10 2009 +0000
@@ -15,7 +15,7 @@
# From: http://www.informit.com/articles/article.aspx?p=686162&seqNum=2
#serverHost = 'research-hm3.corp.sk1.yahoo.com'
serverHost = 'localhost'
-serverPort = 14475
+serverPort = 14476
# Start the server on serverHost with
# ./audioDB -s 14475
@@ -117,6 +117,39 @@
"""
+
+
+FEATURE_QUERY_TEMPLATE = """
+
+
+
+
+ %s
+ %s
+ %s
+ %s
+ %s
+ %s
+ %s
+ %s
+ %s
+ %s
+ %s
+ %s
+ %s
+ %s
+ %s
+ %s
+
+
+
+"""
+
############### List Query - Show the files in the database ###########
# Return a list of (key identifier, frame length) pairs.
def RunListQuery():
@@ -210,7 +243,7 @@
pointNN = '10'
trackNN = '5'
seqLen = argv[4]
- queryRadius = '0.5'
+ queryRadius = '2'
else:
dbKey = 'tmp/3.chr'
qType = '32' # nSequence
@@ -226,6 +259,51 @@
response = SendXMLCommand(message)
ParseShingleXML(response)
+############### Sequence Query - Show the data closest to one query ###########
+def RunQuery(argv):
+# %s
+# %s
+# %s
+# %s
+# %s
+# %s
+# %s
+# %s
+# %s
+# %s
+# %s
+# %s
+# %s
+# %s
+# %s
+# %s
+ global debug, dbName
+ if len(argv) > 2:
+ featureFile = argv[2]
+ powerFile = argv[3]
+ qType = '32' # nSequence
+ qPos = argv[4]
+ pointNN = '20'
+ trackNN = '5'
+ seqLen = argv[5]
+ queryRadius = '0.2'
+ else:
+ featureFile = 'foo.chr12'
+ powerFile = 'foo.power'
+ qType = '32' # nSequence
+ qPos = '0'
+ pointNN = '3'
+ trackNN = '5'
+ seqLen = '10'
+ queryRadius = '0.2'
+
+ message = FEATURE_QUERY_TEMPLATE
+ message = FEATURE_QUERY_TEMPLATE%(dbName, featureFile, "", "", powerFile, qType, qPos, pointNN, trackNN, seqLen, queryRadius, '0.0', '0.0', '0', '1','0')
+
+ print message
+ response = SendXMLCommand(message)
+ ParseShingleXML(response)
+
def ParseShingleXML(response):
# Grab all the responses
# See http://diveintopython.org/xml_processing/parsing_xml.html
@@ -301,7 +379,7 @@
if __name__=="__main__":
cmdname = sys.argv[0]
if len(sys.argv) == 1:
- print "Syntax: " + sys.argv[0] + " -q feature_file pos len"
+ print "Syntax: " + sys.argv[0] + " -{s,q,f,l} feature_file [power_file] pos len"
sys.exit(1)
queryType = sys.argv[1]
@@ -311,6 +389,8 @@
print k, v
elif queryType == '-q' or queryType == 'query':
RunSequenceQuery(sys.argv)
+ elif queryType == '-f' or queryType == 'feature':
+ RunQuery(sys.argv)
elif queryType == '-l' or queryType == 'list':
response = RunListQuery()
# print response