Skip to content

Instantly share code, notes, and snippets.

@Shaked
Created July 20, 2022 12:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Shaked/f11e30174ff44ff69a2ea87fb688d483 to your computer and use it in GitHub Desktop.
Save Shaked/f11e30174ff44ff69a2ea87fb688d483 to your computer and use it in GitHub Desktop.
from flask import abort, jsonify
app = Blueprint('app', __name__)
@app.route("/save/name/:name", methods['POST'])
def save_file(name):
service = create_service()
result = service.save_name(name)
if result:
return jsonify(result=result)
abort(500, "could not save name")
class Service:
def __init__(self, provider, logger):
self.provider = provider
def save_name(name):
try:
return self.provider.save_name(name)
except Exception as e:
self.logger.error(e)
return False
class SqliteProvider:
def __init__(self, db, logger):
self.db = db
def save_name(name):
try:
c = self.db.cursor()
r = c.execute("INSERT INTO files VALUES (?)", (name, ))
self.db.commit()
except self.db.IntegrityError as err:
raise Exception("duplicate found")
except Exception as e:
raise Exception("unknown error: {}".format(e))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment