summaryrefslogtreecommitdiff
path: root/wolfram/lat.py
diff options
context:
space:
mode:
authorVasil Zlatanov <v@skozl.com>2017-10-17 18:24:07 +0100
committerVasil Zlatanov <v@skozl.com>2017-10-17 18:24:07 +0100
commit8141b4227780faddc9672041bda60d84206b8422 (patch)
tree10b8894b9718b5642baf08b66faad9b67a662042 /wolfram/lat.py
downloadspeech-8141b4227780faddc9672041bda60d84206b8422.tar.gz
speech-8141b4227780faddc9672041bda60d84206b8422.tar.bz2
speech-8141b4227780faddc9672041bda60d84206b8422.zip
make speech project public
Diffstat (limited to 'wolfram/lat.py')
-rw-r--r--wolfram/lat.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/wolfram/lat.py b/wolfram/lat.py
new file mode 100644
index 0000000..92f31d1
--- /dev/null
+++ b/wolfram/lat.py
@@ -0,0 +1,26 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+import requests
+from urllib import quote_plus
+import xml.etree.ElementTree as ET
+
+appid = 'U6E8UV-AP3QJAT6RK'
+
+def get_plaintext_query(latex):
+ r = requests.get('http://api.wolframalpha.com/v2/query?input=%s&appid=%s' % (quote_plus(latex), appid))
+ root = ET.fromstring(r.text.encode('utf8'))
+
+ for pod in root:
+ if pod.attrib.get('title', '') in ['Decimal approximation', 'Definite integral']:
+ subpod = pod.find('subpod')
+ result = subpod.find('plaintext').text
+
+ if pod.attrib.get('title', '') == 'Definite integral':
+ return result.split('~~')[1]
+ else:
+ return result
+
+if __name__ == '__main__':
+ from sys import stdin
+ print get_plaintext_query(stdin.read())