Skip to content

Instantly share code, notes, and snippets.

View louis70109's full-sized avatar
📈

NiJia Lin louis70109

📈
View GitHub Profile
@louis70109
louis70109 / open_weather.py
Last active May 3, 2024 04:33
中央氣象局 Open API 取得當地的天氣狀況,授權碼申請位置:https://opendata.cwa.gov.tw/dataset/forecast/F-A0010-001
import requests
import os
import re
from datetime import datetime
def get_weather_data(location):
url = "https://opendata.cwa.gov.tw/api/v1/rest/datastore/F-C0032-001"
params = {
"Authorization": os.getenv('OPEN_API'),
@louis70109
louis70109 / infrared_gemini.py
Last active May 6, 2024 11:57
衛星雲圖偵測 prompt
import os
import requests
from PIL import Image
from io import BytesIO
import google.generativeai as genai
gemini_key = os.getenv('GEMINI_API_KEY')
# Initialize the Gemini Pro API
@louis70109
louis70109 / weather_moist_with_gemini.py
Created April 20, 2024 09:08
透過 gemini 的 vision 來判斷現在圖片地板是不是很潮濕
import requests
from PIL import Image
from io import BytesIO
import google.generativeai as genai
gemini_key = os.getenv('GEMINI_API_KEY')
# Initialize the Gemini Pro API
genai.configure(api_key=gemini_key)
@louis70109
louis70109 / kuma_gemini_report.py
Last active April 12, 2024 08:48
拿取 Uptime Kuma report 並提供給 Gemini 產生報表給非技術背景人參考
import os
import google.generativeai as genai
from uptime_kuma_api import UptimeKumaApi, MonitorStatus
from datetime import datetime, timedelta
gemini_key = os.getenv('GEMINI_API_KEY')
kuma_account = os.getenv('KUMA_ACCOUNT')
kuma_password = os.getenv('KUMA_PASSWORD')
# Initialize the Gemini Pro API
@louis70109
louis70109 / Google_service_key.py
Created November 28, 2023 10:45
Google cloud service temp file implementation
import firebase_admin
from firebase_admin import credentials
from firebase_admin import firestore
# Read Firebase cert from env variable JSON string
firebase_cred = tempfile.NamedTemporaryFile(suffix='.json')
try:
GOOGLE_KEY = os.environ.get('FIREBASE_CRED', '{}')
firebase_cred.write(GOOGLE_KEY.encode())
@louis70109
louis70109 / whisper_to_new_video.py
Created May 19, 2023 07:35
透過 Whisper API 產生 SRT,並透過 ffmpeg 將字幕合成
#!/bin/bash
file_name=$1
# 步驟 1
python3 -m decipher transcribe -i "$file_name" --model large
# 移除副檔名並另存為新變數
origin_file_name="${file_path%.*}"
@handler.add(MessageEvent, message=ImageMessage)
def handle__message(event):
message_content = line_bot_api.get_message_content(event.message.id)
image_content = b''
for chunk in message_content.iter_content():
image_content += chunk
print("_________________")
print(base64.b64encode(image_content).decode('ascii'))
@louis70109
louis70109 / markdown_to_html.py
Created August 10, 2022 15:57
Format Markdown to Html style by Python and GitHub API
import requests
contents = ''
with open("a.md") as f:
contents = f.readlines()
sum = ''
for content in contents:
sum += content
@louis70109
louis70109 / liff-vite.config.js
Created May 1, 2022 18:05
LIFF localhost development https setting with vite
import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
import fs from 'fs';
// https://vitejs.dev/config/
export default defineConfig({
server: {
https: {
key: fs.readFileSync('./cert/localhost-key.pem'),
cert: fs.readFileSync('./cert/localhost.pem'),
},
@louis70109
louis70109 / news_flex.json
Created May 30, 2021 10:19
news example flex message json
{
"type": "bubble",
"body": {
"type": "box",
"layout": "vertical",
"contents": [
{
"type": "image",
"url": "https://engineering.linecorp.com/wp-content/uploads/2018/11/linedev_logo-90x90.jpg",
"size": "full",