Created
July 20, 2022 12:31
-
-
Save Shaked/f11e30174ff44ff69a2ea87fb688d483 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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") |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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