Last active 10 months ago
這段程式碼建立了一個 WebSocket 伺服器,允許遠端用戶端傳送指令,並在伺服器端執行該指令後回傳執行結果。適用於遠端系統管理、指令控制或測試環境中的即時互動,但因為直接執行來自用戶端的指令,需特別注意安全性風險,如權限控管與輸入驗證,以防止指令注入攻擊。
1 import asyncio
2 import websockets
3 import subprocess
4
5 async def handle_command(websocket, path):
6 try:
7 async for message in websocket:
8 print(f"Received command: {message}")
9
10 # 執行系統指令
Last active 10 months ago
這段程式碼使用 Streamlit 建立一個 WebSocket 測試介面,當使用者按下按鈕時,會透過 WebSocket 用戶端向伺服器發送訊息,並顯示伺服器的回應。同時,它會在背景啟動 WebSocket 伺服器(如果尚未啟動),允許用戶端與其通訊,適用於即時通訊測試、開發 WebSocket 服務或簡單的雙向訊息傳遞應用。
1 import asyncio
2 import websockets
3 import streamlit as st
4 import threading
5 import socket
6
7 # Function to check if a port is free
8 def is_port_free(port):
9 with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
10 return s.connect_ex(('localhost', port)) != 0
Last active 10 months ago
這段程式碼使用 SQLite 初始化資料庫與表格,並提供函數將條目插入表格,同時處理重複條目的情況。測試範例展示如何插入一筆包含標題、連結、發布日期及描述的資料。
1 import sqlite3
2
3
4 # 初始化資料庫及表格
5 def initialize_db(db_name="database.db", table_name="entries"):
6 conn = sqlite3.connect(db_name)
7 cursor = conn.cursor()
8 cursor.execute(
9 f"""
10 CREATE TABLE IF NOT EXISTS {table_name} (

timmy / Ollama API 客戶端的應用

0 likes
0 forks
2 files
Last active 10 months ago
這是一個 OllamaClient 類,用於與 Ollama LLM API 通信,支持發送文字到指定模型處理、添加提示詞,以及獲取可用模型列表,並內建錯誤處理和超時設定。
1 import requests
2
3
4 class OllamaClient:
5 def __init__(self, api_url, api_key=None, timeout=30):
6 """
7 初始化 OllamaClient。
8
9 :param api_url: API 基本端點,例如 'http://192.168.88.82:11434'
10 :param api_key: 如果需要身份驗證,填入 API 金鑰;否則為 None。
Last active 10 months ago
這段程式碼是一個使用 Streamlit 和 SQLite 的範例應用程式,透過 JOIN 查詢顯示客戶與訂單的關聯資料,並在介面中使用 st.data_editor 允許編輯訂單日期,按下更新按鈕後會將修改內容同步至資料庫。
1 import sqlite3
2 import pandas as pd
3 import streamlit as st
4 from datetime import datetime, date
5
6 def initialize_database(conn):
7 cursor = conn.cursor()
8
9 # 建立 Customers 資料表
10 cursor.execute('''

timmy / Python 虛擬環境自動化設定

1 likes
0 forks
2 files
Last active 10 months ago
這段 Bash 腳本用於建立和管理 Python 虛擬環境,檢查虛擬環境是否存在,若不存在則建立並啟動環境,升級 pip,並自動安裝 requirements.txt 中的依賴(若檔案存在)。
1 #!/bin/bash
2
3 # 設定虛擬環境名稱
4 VENV_DIR="myenv"
5
6 # 檢查是否已經存在虛擬環境
7 if [ -d "$VENV_DIR" ]; then
8 echo "虛擬環境 '$VENV_DIR' 已經存在。"
9 else
10 echo "正在建立虛擬環境 '$VENV_DIR'..."

timmy / 台灣假日 API 查詢與快取

0 likes
0 forks
1 files
Last active 10 months ago
這段程式碼是一個節假日查詢工具,從指定 API 獲取節假日資料,支援緩存與分頁,並提供按年份篩選節假日、檢查特定日期是否為節假日的功能,同時以 Holiday 類別封裝每個節假日的詳細資訊,便於操作與顯示。
1 import requests
2 import os
3 import json
4
5 class HolidayAPI:
6 def __init__(self, base_url, cache_dir="cache"):
7 """
8 Initialize the HolidayAPI class.
9 :param base_url: The base URL for the API endpoint.
10 :param cache_dir: Directory to store cached data.