fromflaskimportFlask,request,jsonifyfromdbx_pyimportDatabaseapp=Flask(__name__)db=Database("app.db")# Initialize schema
db.execute_sql("CREATE TABLE IF NOT EXISTS users (id INTEGER, name TEXT, email TEXT)")@app.route('/users',methods=['POST'])defcreate_user():data=request.jsonuser_id=int(time.time())db.execute_sql(f"INSERT INTO users VALUES ({user_id}, '{data['name']}', '{data['email']}')")returnjsonify({"id":user_id}),201@app.route('/users/<int:user_id>')defget_user(user_id):result=db.execute_sql(f"SELECT * FROM users WHERE id = {user_id}")returnjsonify({"result":result})if__name__=='__main__':app.run(debug=True)
Log Analyzer
importrefromdatetimeimportdatetimefromdbx_pyimportDatabaseclassLogAnalyzer:def__init__(self,db_path):self.db=Database(db_path)self.db.execute_sql("""
CREATE TABLE IF NOT EXISTS logs (
timestamp INTEGER,
level TEXT,
message TEXT
)
""")defparse_log(self,log_file):pattern=r'(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}) \[(\w+)\] (.+)'withopen(log_file)asf:forlineinf:match=re.match(pattern,line)ifmatch:ts_str,level,message=match.groups()ts=int(datetime.strptime(ts_str,'%Y-%m-%d %H:%M:%S').timestamp())self.db.execute_sql(f"INSERT INTO logs VALUES ({ts}, '{level}', '{message}')")defget_errors(self):returnself.db.execute_sql("SELECT * FROM logs WHERE level = 'ERROR'")defclose(self):self.db.close()# Usage
analyzer=LogAnalyzer("logs.db")analyzer.parse_log("app.log")errors=analyzer.get_errors()print(errors)analyzer.close()
Cache Decorator
importfunctoolsimportjsonfromdbx_pyimportDatabaseclassCacheDecorator:def__init__(self,db_path,ttl=300):self.db=Database(db_path)self.ttl=ttldef__call__(self,func):@functools.wraps(func)defwrapper(*args,**kwargs):# Generate cache key
key=f"{func.__name__}:{json.dumps(args)}:{json.dumps(kwargs)}"# Check cache
cached=self.db.get("cache",key.encode())ifcached:returnjson.loads(cached.decode())# Execute function
result=func(*args,**kwargs)# Save to cache
self.db.insert("cache",key.encode(),json.dumps(result).encode())returnresultreturnwrapper# Usage
cache=CacheDecorator("cache.db")@cachedefexpensive_function(x,y):importtimetime.sleep(2)# Simulation
returnx+yprint(expensive_function(1,2))# Takes 2 seconds
print(expensive_function(1,2))# Returns immediately (cached)