def main(): with psycopg2.connect('service=words') as db_conn: queries = anosql.load_queries('postgres', 'queries.sql') # Let's print 5 random words we want to work on, # with the definition random_words = queries.get_n_random_words(db_conn, n=5) print('Words to keep in mind are:') for random_word in random_words: print('{} "{}": {}'.format(random_word[0], random_word[1], random_word[2])) time.sleep(10) os.system('cls' if os.name == 'nt' else 'clear') # And now let's do a simple question random_word = random.choice(random_words) answer = input('Word in {} for {}:\n--> '.format( random_word[0], random_word[2])) similarity = queries.get_similarity_word(db_conn, word_try=answer, word=random_word[1])[0][0] if similarity > 0.05: print('Cool! Again?') else: print('Almost there… The good word was: {}\nKeep trying!'.format( random_word[1])) pass
def setup(): conn = psycopg2.connect(user='******') queries = anosql.load_queries('postgres', '/conf/queries.sql') # Mailu user queries.create_mailu_user(conn) queries.update_pw(conn, pw=os.environ.get("DB_PW")) # Healthcheck user queries.create_health_user(conn) queries.grant_health(conn) conn.commit() # create db cannot be atomic. But this script is the only active connection, this is kinda safe. if not queries.check_db(conn): conn.set_isolation_level(0) queries.create_db(conn) conn.set_isolation_level(1) conn.close()
import sqlite3 import anosql from bottle import route, run from jinja2 import Environment, FileSystemLoader ##### GLOBALS ##### # template and databae connections used by all functions ## templates/view tmpl_env = Environment(loader=FileSystemLoader('view')) ## database connection conn = sqlite3.connect('lite.db') conn.row_factory = sqlite3.Row # return dict instead of array (acess by name) # database queires queries = anosql.load_queries('sqlite', 'sql/query/queries.sql') ##### ROUTES ###### # where we can point a browser ## index page, same as media page @route("/") @route("/media") def index(): media = queries.get_media_by_author_title(conn, "%", "%") idx = tmpl_env.get_template('index.html') return (idx.render(media=media)) ##