Skip to content

Instantly share code, notes, and snippets.

@shanehh
shanehh / example.py
Created April 19, 2021 03:29
set IPython.embed as default breakpoint
import pandas as pd
import os
os.environ["PYTHONBREAKPOINT"] = "IPython.embed"
pd.read_excel("./accounts.xlsx")
breakpoint()
@shanehh
shanehh / weeknum.py
Created July 24, 2021 11:43
python datetime package 有提供符合 iso 8601 标准的 date.isoweekday. 此 snippet 的代码根据 date 算出 weeknum,像是 excel 里 WEEEKNUM 的默认行为:即不论如何,1/1 日是第一周,sunday 作为一周的第一天
import datetime as dt
def weeknum(date):
# 如果新年的第一天就是星期天的话
# 直接通过天数的差异算 weeknum
# 规则是:
# 1. 每满 7 天,周数加 1
# 2. 如果有余数,或余数就为 0(本身是 sunady 的情况)也加 1
# 最终数学公式就是:floor division 7, plus 1
In [17]: from __future__ import braces
File "<ipython-input-17-6d5c5b2f0daf>", line 1
from __future__ import braces
^
SyntaxError: not a chance
@shanehh
shanehh / foo.py
Created September 7, 2021 06:18
make driver as a global variable, while under with
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
D = None
def google(keyword):
D.get(f"https://www.google.com.hk/search?q={keyword}")
@shanehh
shanehh / helium.py
Last active November 12, 2021 08:46
ChromeDriverManager + helium + no first run
import helium as H
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
def main():
opts = webdriver.ChromeOptions()
opts.add_argument("--no-first-run")
opts.add_argument("--no-service-autorun")
opts.add_argument("--no-default-browser-check")
import pyperclip
import json
def object2json_and_copy_it_to_clipboard(obj):
"""
convert any object jsonable(if need), and dumps it
copy to clipboard
"""
if hasattr(obj, "__dict__"):
@shanehh
shanehh / my-monitor.py
Last active November 23, 2021 10:03
cronjob to take a screenshot for my main monitor.. record my digital life.
#!/usr/bin/python
import os
def save_path():
import datetime as dt
from pathlib import Path
# file-naming
# https://softwareengineering.stackexchange.com/questions/61683/standard-format-for-using-a-timestamp-as-part-of-a-filename
# docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-chrome:4.1.0-20211209
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
driver = webdriver.Remote("http://127.0.0.1:4444/wd/hub", DesiredCapabilities.CHROME)
driver.get("http://www.google.com")
driver.save_screenshot("test.png")
driver.quit()
@shanehh
shanehh / gregorian_weeknum.py
Last active December 30, 2021 03:40
get weeknum of gregorian
import datetime as dt
from collections import namedtuple
SUNDAY = "Sunday"
yearweek = namedtuple("yearweek", ["year", "week"])
def get_weekday(date: dt.date) -> str:
"""
const MiddlewarePipeline = () => {
const _middlewares = []
return {
apply: middleware => _middlewares.push(middleware),
run: function run (middlewares) {
if (!middlewares) {
// set for first time call `run`
middlewares = _middlewares