From e249be24a2c24161a8c36f6e9f0dd9d252e7d861 Mon Sep 17 00:00:00 2001 From: Jack Stdin Date: Mon, 1 Feb 2016 22:29:57 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=BE=20=D0=BF=D1=80=D0=BE=D1=81=D1=82=D0=BE=D0=B5=20WSG?= =?UTF-8?q?I=20(Bottle)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- aore/__init__.py | 2 -- aore/fias/search.py | 4 ++-- aore/phias.py | 33 +++++++++++++++++++++++++++++++++ manage.py | 13 +++---------- passenger_wsgi.py | 15 ++++----------- 5 files changed, 42 insertions(+), 25 deletions(-) create mode 100644 aore/phias.py diff --git a/aore/__init__.py b/aore/__init__.py index 81f32be..2a488d7 100644 --- a/aore/__init__.py +++ b/aore/__init__.py @@ -1,4 +1,3 @@ -import logging import os import sys @@ -6,4 +5,3 @@ reload(sys) cwd = os.getcwd() sys.path.append(cwd) sys.setdefaultencoding("utf-8") -logging.basicConfig(format='%(asctime)s %(message)s', level=logging.INFO) diff --git a/aore/fias/search.py b/aore/fias/search.py index 5419215..cc61722 100644 --- a/aore/fias/search.py +++ b/aore/fias/search.py @@ -14,7 +14,7 @@ class SphinxSearch: def __init__(self, db): self.delta_len = 2 - self.rating_limit_soft = 0.4 + self.rating_limit_soft = 0.6 self.rating_limit_soft_count = 6 self.word_length_soft = 3 @@ -22,7 +22,7 @@ class SphinxSearch: self.rating_limit_hard_count = 3 self.default_rating_delta = 2 - self.regression_coef = 0.04 + self.regression_coef = 0.01 self.db = db self.client_sugg = sphinxapi.SphinxClient() diff --git a/aore/phias.py b/aore/phias.py new file mode 100644 index 0000000..6c752b2 --- /dev/null +++ b/aore/phias.py @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- +import json +import logging + +from bottle import Bottle + +from aore.fias.fiasfactory import FiasFactory + +logging.basicConfig(format='%(asctime)s %(message)s', level=logging.INFO) +app = Bottle() +fias_factory = FiasFactory() + + +@app.route('/expand/') +def expand(aoid): + return json.dumps(fias_factory.expand(aoid)) + + +@app.route('/normalize/') +def normalize(aoid): + return json.dumps(fias_factory.normalize(aoid)) + + +@app.route('/find/') +@app.route('/find//') +def find(text, strong=False): + strong = (strong == "strong") + return json.dumps(fias_factory.find(text, strong)) + + +@app.error(404) +def error404(error): + return json.dumps(dict(error="Page not found")) diff --git a/manage.py b/manage.py index c266a49..820aceb 100644 --- a/manage.py +++ b/manage.py @@ -1,5 +1,6 @@ # -*- coding: utf-8 -*- import json +import logging import optparse from aore.fias.fiasfactory import FiasFactory @@ -7,6 +8,8 @@ from aore.miscutils.sphinx import SphinxHelper from aore.updater.soapreceiver import SoapReceiver from aore.updater.updater import Updater +logging.basicConfig(format='%(asctime)s %(message)s', level=logging.INFO) + def print_fias_versions(): imp = SoapReceiver() @@ -86,8 +89,6 @@ def main(): help="Path to Sphinx indexer binary. Required for '--sphinx-configure'") p.add_option('--output-conf', '-o', help="Output config filename. Required for '--sphinx-configure'") - p.add_option('--test', '-t', action="store_true", dest="test", - help="Test") options, arguments = p.parse_args() @@ -116,13 +117,5 @@ def main(): sphinxh = SphinxHelper() sphinxh.configure_indexer(options.indexer_path, options.output_conf) - # 4 Debug purposes.. - if options.test: - sph = FiasFactory() - print json.dumps(sph.normalize("463ce8e4-928b-45cc-be76-46c2494632b6")) - print json.dumps(sph.expand("463ce8e4-928b-45cc-be76-46c2494632b6")) - print json.dumps(sph.find('ул кемровая пасраул алтай майминский р-н')) - - if __name__ == '__main__': main() diff --git a/passenger_wsgi.py b/passenger_wsgi.py index dbfefb6..319a0a2 100644 --- a/passenger_wsgi.py +++ b/passenger_wsgi.py @@ -1,15 +1,8 @@ # -*- coding: utf-8 -*- -import os -import sys +from aore import phias -# append current dir to module path -reload(sys) -cwd = os.path.dirname(os.path.abspath(__file__)) -sys.path.append(cwd) -sys.setdefaultencoding("utf-8") -# sys.path.append('/home/i/interc7j/.local/lib/python2.7/site-packages') +application = phias.app -from aore import aore - -application = aore.app +if __name__ == '__main__': + application.run(host='localhost', port=55001, debug=True)