def do_search() -> 'html':
    """Extract the posted data; perform search; return results."""
    @copy_current_request_context
    def log_request(req: 'flask_request', res: str) -> None:
        """Log details of the web request and the results."""
        sleep(15)   # This makes log_request really slow
        with UseDatabase(app.config['dbconfig']) as cursor:
            _SQL = """insert into log
                      (phrase, letters, ip, browser_string, results)
                      values
                      (%s, %s, %s, %s, %s)
            """
            cursor.execute(_SQL, (req.form['phrase'],
                                req.form['letters'],
                                req.remote_addr,
                                req.user_agent.browser,
                                res, ))

    phrase = request.form['phrase']
    letters = request.form['letters']
    title = 'Here are your results:'
    results = str(search_for_letters(phrase, letters))
    try:
        t = Thread(target=log_request, args=(request, results))
        t.start()
        log_request(request, results)
    except Exception as err:
        print('***** Logging failed with this error:', str(err))
    return render_template('results.html',
                            the_title=title,
                            the_phrase=phrase,
                            the_letters=letters,
                            the_results=results,)
Пример #2
0
def search() -> 'html':
    @copy_current_request_context
    def log_request(req: 'flask_request', res: str) -> None:
        with UseDatabase(app.config['dbconfig']) as cursor:
            _SQL = """insert into log
            (phrase, letters, ip, browser_string, results)
            values
            (%s, %s, %s, %s, %s)"""
            cursor.execute(_SQL, (
                req.form['phrase'],
                req.form['letters'],
                req.remote_addr,
                req.user_agent.browser,
                res,
            ))

    title = 'Here are your results:'
    phrase = request.form['phrase']
    letters = request.form['letters']
    results = str(vsearch.search_for_letters(phrase, letters))
    try:
        t = Thread(target=log_request, args=(request, results))
        t.start()
    except Exception as err:
        print(str(err))
    return render_template(
        'results.html',
        the_phrase=phrase,
        the_letters=letters,
        the_title=title,
        the_results=results,
    )
def search() -> str:
    phrase = request.form['phrase']
    letters = request.form['letters']
    res = str(search_for_letters(phrase, set(letters)))
    log_request(request, res)
    return render_template('results.html',
                           the_title='Here are your results: ',
                           the_phrase=phrase,
                           the_letters=letters,
                           the_results=res)
Пример #4
0
def do_search() -> 'html':
    phrase = request.form['phrase']
    letters = request.form['letters']
    title = 'Here you are results:'
    results = str(search_for_letters(phrase, letters))
    log_request(request, results)
    return render_template('results.html',
                           the_title=title,
                           the_phrase=phrase,
                           the_letters=letters,
                           the_results=results)
Пример #5
0
def do_search() -> str:
    phrase = request.form["phrase"]
    letters = request.form["letters"]
    results = str(search_for_letters(phrase, letters))
    return render_template(
        "results.html",
        the_title="検索結果:",
        the_phrase=phrase,
        the_letters=letters,
        the_results=results,
    )
Пример #6
0
def do_search() -> 'html':
    """Extract the posted data, perform the search and return results."""
    phrase = request.form['phrase']
    letters = request.form['letters']

    results = str(search_for_letters(phrase, letters))
    log_request(request, results)

    return render_template('searchresults.html',
                           the_title='Search Results',
                           the_phrase=phrase,
                           the_letters=letters,
                           the_results=results)
def do_search() -> 'html':
    title = 'Here your results:'
    phrase = request.form['phrase']
    letters = request.form['letters']
    results = str(vsearch.search_for_letters(phrase, letters))

    return render_template(
        'results.html',
        the_letters=letters,
        the_phrase=phrase,
        the_results=results,
        the_title=title,
    )
Пример #8
0
def do_search() -> 'html':
    phrase = request.form['phrase']
    letters = request.form['letters']
    title = 'Here are your results: '
    results = str(search_for_letters(phrase, letters))
    try:
        t = Thread(target=log_request, args=(request, results))
        t.start()
    except Exception as err:
        print('Logging failed with this error:', str(err))
    return render_template(
        'results.html',
        the_title=title,
        the_phrase=phrase,
        the_letters=letters,
        the_results=results,
    )
Пример #9
0
def do_search() -> 'html':
    """Retrieves data from the query; perform a search; returns the results."""
    @copy_current_request_context
    def log_request(req: 'flask_request', res: str) -> None:
        """Log details of the web request and the results"""
        # sleep(15) # for slowing...
        try:
            with UseDatabase(app.config['dbconfig']) as cursor:
                _SQL = """insert into log
                        (phrase, letters, ip, browser_string, results)
                        values
                        (%s, %s, %s, %s, %s)"""
                cursor.execute(_SQL, (
                    req.form['phrase'],
                    req.form['letters'],
                    req.remote_addr,
                    req.user_agent.browser,
                    res,
                ))
        except ConnectionError as err:
            print('Is your database switched on? Error:', str(err))
        except CredentialsError as err:
            print('User-id/Password issues. Error:', str(err))
        except SQLError as err:
            print('Is your query correct? Error:', str(err))
        except Exception as err:
            print('Something went wrong:', str(err))
        return 'Error'

    phrase = request.form['phrase']
    letters = request.form['letters']
    title = 'Here are your results:'
    results = str(search_for_letters(phrase, letters))
    try:
        t = Thread(target=log_request, args=(request, results))
        t.start()
    except Exception as err:
        print('***** Logging failed with this error:', str(err))
    return render_template(
        'results.html',
        the_phrase=phrase,
        the_letters=letters,
        the_title=title,
        the_results=results,
    )
Пример #10
0
def do_search() -> 'html':
    title = 'Here your results:'
    phrase = request.form['phrase']
    letters = request.form['letters']
    results = str(vsearch.search_for_letters(phrase, letters))

    try:
        log_request(request, results)
    except Exception as err:
        print(str(err))

    return render_template(
        'results.html',
        the_letters=letters,
        the_phrase=phrase,
        the_results=results,
        the_title=title,
    )
def do_search() -> 'html':
    @copy_current_request_context
    def log_request(req: 'flask_request', res: str) -> None:
        try:
            with UseDatabase(app.config['db']) as cursor:
                _SQL = """
                    INSERT INTO logs (phrase, letters, ip, browser_string, results)
                    VALUES (%s, %s, %s, %s, %s)
                  """

                cursor.execute(_SQL, (
                    req.form['phrase'],
                    req.form['letters'],
                    req.remote_addr,
                    req.user_agent.browser,
                    res,
                ))

                sleep(15)
        except ConnectionDBError as err:
            print('Ups, there was a DB connection error: ' + str(err))
        except SQLError as err:
            print('Is you query correct?: ' + str(err))
        except Exception as err:
            print('Unknown DB exception: ' + str(err))

    title = 'Here your results:'
    phrase = request.form['phrase']
    letters = request.form['letters']
    results = str(vsearch.search_for_letters(phrase, letters))

    try:
        thread = Thread(target=log_request, args=(request, results))
        thread.start()
    except Exception as err:
        print(str(err))

    return render_template(
        'results.html',
        the_letters=letters,
        the_phrase=phrase,
        the_results=results,
        the_title=title,
    )
Пример #12
0
def do_search() -> 'html':
    @copy_current_request_context
    def log_request(req: 'flask_request', res: str) -> None:
        """Log details of web-request and the results"""
        sleep(15)  # For test exception with long waiting
        try:
            with UseDatabase(app.config['dbconfig']) as cursor:
                _SQL = """insert into log
                          (phrase, letters, ip, browser_string, results)
                          values
                          (%s, %s, %s, %s, %s)"""
                cursor.execute(_SQL, (
                    req.form['phrase'],
                    req.form['letters'],
                    req.remote_addr,
                    req.user_agent.browser,
                    res,
                ))
        except ConnectionError as err:
            print('Is your DB on? Error:', str(err))
        except CredentialsError as err:
            print('User-id/Password issues. Error:', str(err))
        except SQLError as err:
            print('Is your query correct? Error:', str(err))

    phrase = request.form['phrase']
    letters = request.form['letters']
    title = 'Here are your results:'
    results = str(search_for_letters(phrase, letters))
    try:
        t = Thread(target=log_request, args=(request, results))
        t.start()
    except Exception as err:
        print('Something wrong: ', str(err))
    return render_template(
        'results.html',
        the_results=results,
        the_title=title,
        the_phrase=phrase,
        the_letters=letters,
    )
Пример #13
0
def do_search() -> str:
    return str(
        search_for_letters('life, the universe, and everything!', 'eiru,!'))
Пример #14
0
import vsearch

some_set = vsearch.search_for_letters('testing worlds')
print(some_set)