Skip to content

Instantly share code, notes, and snippets.

@timtan
timtan / dag_extension.py
Created November 10, 2022 01:14
TestAble Dag
# copied from https://github.com/apache/airflow/blob/main/airflow/models/dag.py
from __future__ import annotations
import logging
import sys
from datetime import datetime
from typing import cast, Any, TYPE_CHECKING
from airflow import DAG, settings
from airflow.configuration import secrets_backend_list
from airflow.exceptions import AirflowSkipException
def digit(num, position):
return int(str(num)[position])
def is_of_digit(num, number):
return len(str(num)) == number
def up_to(num, to):
return int(str(num)[:to+1])
@timtan
timtan / postgres_queries_and_commands.sql
Created January 22, 2020 10:23 — forked from rgreenjr/postgres_queries_and_commands.sql
Useful PostgreSQL Queries and Commands
-- show running queries (pre 9.2)
SELECT procpid, age(clock_timestamp(), query_start), usename, current_query
FROM pg_stat_activity
WHERE current_query != '<IDLE>' AND current_query NOT ILIKE '%pg_stat_activity%'
ORDER BY query_start desc;
-- show running queries (9.2)
SELECT pid, age(clock_timestamp(), query_start), usename, query
FROM pg_stat_activity
WHERE query != '<IDLE>' AND query NOT ILIKE '%pg_stat_activity%'
#coding: utf-8
import requests
import pandas as pd
import numpy as np
from bs4 import BeautifulSoup as bs
def financial_statement(year, season, type='綜合損益彙總表'):
if year >= 1000:
import asana
asana_personal_token = "" # Personal Token
project_id = 0 # Project id
client = asana.Client.access_token(asana_personal_token)
def cumpute_days(section):
days = 0
for task in client.tasks.find_by_section(section):
task_id = task['id']
'{"task": "preview", "data": {"article_html": "<!DOCTYPE html>\\r\\n<html class=\\"sapphire drawer--layout viewport--xs viewport--xs-only is-logged-out no-js\\">\\r\\n<head>\\r\\n <base href=\\"http://www.bizjournals.com/baltimore/news/2016/11/02/\\">\\r\\n <script type=\'text/javascript\'>var _sf_startpt = (new Date()).getTime()</script>\\r\\n <script src=\\"//assets.adobedtm.com/4ea7bf50a24b9cc15d03d9f7a75a849dfbcc6242/satelliteLib-d49ec218aa23da4a5a424ec20dacb8e9e5098f27.js\\"></script>\\r\\n <script type=\\"text/javascript\\" src=\\"//s.ntv.io/serve/load.js\\" async></script>\\r\\n <title>T. Rowe Price, Sterling Partners funds lose millions as Texas company\'s stock plunges - Baltimore Business Journal</title>\\r\\n <base href=\\"http://www.bizjournals.com/\\">\\r\\n <meta http-equiv=\\"X-UA-Compatible\\" content=\\"IE=edge\\">\\r\\n <meta name=\\"viewport\\" content=\\"width=device-width, initial-scale=1\\">\\r\\n<!--Built Head Meta-->\\r\\n <meta name=\\"metered_paywal
@timtan
timtan / gist:83e2eef386d5f3fcbd4dc35012b6328d
Last active March 8, 2017 00:48
sample data for generating bz
{
'task': 'preview',
'data': {
"article_html": "<!DOCTYPE html>\r\n<html class=\"sapphire drawer--layout viewport--xs viewport--xs-only is-logged-out no-js\">\r\n<head>\r\n <base href=\"http://www.bizjournals.com/baltimore/news/2016/11/02/\">\r\n <script type='text/javascript'>var _sf_startpt = (new Date()).getTime()</script>\r\n <script src=\"//assets.adobedtm.com/4ea7bf50a24b9cc15d03d9f7a75a849dfbcc6242/satelliteLib-d49ec218aa23da4a5a424ec20dacb8e9e5098f27.js\"></script>\r\n <script type=\"text/javascript\" src=\"//s.ntv.io/serve/load.js\" async></script>\r\n <title>T. Rowe Price, Sterling Partners funds lose millions as Texas company's stock plunges - Baltimore Business Journal</title>\r\n <base href=\"http://www.bizjournals.com/\">\r\n <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\r\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\r\n<!--Built Head Meta-->\r\n <meta name=\"metered_paywall:json\" content=\"{&quot;interval
@timtan
timtan / test.md
Last active January 12, 2023 13:23

GliaStudio provides 2 APIs:

Video Creation API: Submit a video creation video

Job Status API: Check video creation status

驗證

合作廠商會於gliacloud 取得一段長度為 40的 hash token, 如 4852cb43656e01f9f7ebfdf548faab789378d58d 在使用api時, 於header 加入 token 資訊即可使用

"babel-core": "^6.9.1",
"babel-loader": "^6.2.4",
"babel-preset-es2015": "^6.9.0",
"babel-preset-react": "^6.5.0",
"node-sass": "^3.7.0",
"react": "^15.1.0",
"sass-loader": "^3.2.0",
"webpack": "^1.13.1",
"webpack-dev-server": "^1.14.1",
"css-loader": "^0.23.1",
import Tkinter
import tkSimpleDialog
tk = Tkinter.Tk()
var = tkSimpleDialog.askstring("Name prompt", "enter your name")
print var
# Reference