from __future__ import print_function
import json
import traceback
from bottle import route, run, get, request, response, abort
from db import search, info

@route('/v1/pois.json')
def pois_v1():
    global _db

    filter = request.query.get('filter', None)
    if filter is None:
        abort(501, "Unfiltered searches not allowed.")

    result = search(database=_db, verbose=False, query=filter)
    response.content_type = 'application/json'

    return json.dumps(result, ensure_ascii=False)

if __name__ == '__main__':
    from optparse import OptionParser

    parser = OptionParser()
    parser.add_option("--host", dest="host",
                      help="bind to HOST", metavar="HOST", default="localhost")
    parser.add_option("--port", dest="port",
                      help="bind to PORT", metavar="PORT", type="int", default=8022)

    parser.add_option("-d", "--database", dest="db",
                      help="use database FILE", metavar="FILE", default="paikkis.db")

    opts, args = parser.parse_args()
    _db = opts.db
    run(host=opts.host, port=opts.port)

from __future__ import print_function
import json
import re
import traceback
from bottle import route, run, get, request, response, abort
from db import search, info

@route('/v1/pois.json')
def pois_v1():
    global _db

    filter = request.query.get('filter', None)
    if filter is None:
        abort(501, "Unfiltered searches not allowed.")

    filter = re.sub('[\W_]+', ',', filter)

    result = search(database=_db, verbose=False, query=filter)
    response.content_type = 'application/json'

    return json.dumps(result, ensure_ascii=False)

if __name__ == '__main__':
    from optparse import OptionParser

    parser = OptionParser()
    parser.add_option("--host", dest="host",
                      help="bind to HOST", metavar="HOST", default="localhost")
    parser.add_option("--port", dest="port",
                      help="bind to PORT", metavar="PORT", type="int", default=8022)

    parser.add_option("-d", "--database", dest="db",
                      help="use database FILE", metavar="FILE", default="paikkis.db")

    opts, args = parser.parse_args()
    _db = opts.db
    run(host=opts.host, port=opts.port)

Replace all extra characters with commas in queries; improves matching
Replace all extra characters with commas in queries; improves matching

  from __future__ import print_function
  import json
+ import re
  import traceback
  from bottle import route, run, get, request, response, abort
  from db import search, info
  
  @route('/v1/pois.json')
  def pois_v1():
      global _db
  
      filter = request.query.get('filter', None)
      if filter is None:
          abort(501, "Unfiltered searches not allowed.")
+ 
+     filter = re.sub('[\W_]+', ',', filter)
  
      result = search(database=_db, verbose=False, query=filter)
      response.content_type = 'application/json'
  
      return json.dumps(result, ensure_ascii=False)
  
  if __name__ == '__main__':
      from optparse import OptionParser
  
      parser = OptionParser()
      parser.add_option("--host", dest="host",
                        help="bind to HOST", metavar="HOST", default="localhost")
      parser.add_option("--port", dest="port",
                        help="bind to PORT", metavar="PORT", type="int", default=8022)
  
      parser.add_option("-d", "--database", dest="db",
                        help="use database FILE", metavar="FILE", default="paikkis.db")
  
      opts, args = parser.parse_args()
      _db = opts.db
      run(host=opts.host, port=opts.port)
  
Replace all extra characters with commas in queries; improves matching
## Code Before:
from __future__ import print_function
import json
import traceback
from bottle import route, run, get, request, response, abort
from db import search, info

@route('/v1/pois.json')
def pois_v1():
    global _db

    filter = request.query.get('filter', None)
    if filter is None:
        abort(501, "Unfiltered searches not allowed.")

    result = search(database=_db, verbose=False, query=filter)
    response.content_type = 'application/json'

    return json.dumps(result, ensure_ascii=False)

if __name__ == '__main__':
    from optparse import OptionParser

    parser = OptionParser()
    parser.add_option("--host", dest="host",
                      help="bind to HOST", metavar="HOST", default="localhost")
    parser.add_option("--port", dest="port",
                      help="bind to PORT", metavar="PORT", type="int", default=8022)

    parser.add_option("-d", "--database", dest="db",
                      help="use database FILE", metavar="FILE", default="paikkis.db")

    opts, args = parser.parse_args()
    _db = opts.db
    run(host=opts.host, port=opts.port)

## Instruction:
Replace all extra characters with commas in queries; improves matching
## Code After:
from __future__ import print_function
import json
import re
import traceback
from bottle import route, run, get, request, response, abort
from db import search, info

@route('/v1/pois.json')
def pois_v1():
    global _db

    filter = request.query.get('filter', None)
    if filter is None:
        abort(501, "Unfiltered searches not allowed.")

    filter = re.sub('[\W_]+', ',', filter)

    result = search(database=_db, verbose=False, query=filter)
    response.content_type = 'application/json'

    return json.dumps(result, ensure_ascii=False)

if __name__ == '__main__':
    from optparse import OptionParser

    parser = OptionParser()
    parser.add_option("--host", dest="host",
                      help="bind to HOST", metavar="HOST", default="localhost")
    parser.add_option("--port", dest="port",
                      help="bind to PORT", metavar="PORT", type="int", default=8022)

    parser.add_option("-d", "--database", dest="db",
                      help="use database FILE", metavar="FILE", default="paikkis.db")

    opts, args = parser.parse_args()
    _db = opts.db
    run(host=opts.host, port=opts.port)
