Skip to content

Instantly share code, notes, and snippets.

View wafer-li's full-sized avatar
💭
I may be slow to respond.

Wafer Li wafer-li

💭
I may be slow to respond.
View GitHub Profile
#!/usr/bin/env python3
import urllib.request
import re
from typing import List, Tuple
class App:
def __init__(self,
@wafer-li
wafer-li / git_clone_all_branches_locally.sh
Last active October 16, 2016 14:02
Git clone all branches locally script
#!/usr/local/bin/zsh
for branch in `git branch -a | grep remotes | grep -v HEAD | grep -v master `; do
git branch --track ${branch#remotes/origin/} $branch
done
@wafer-li
wafer-li / CacheClientRetrofit2.kt
Last active May 1, 2017 21:32
Cache and Offline Cache in Retrofit2
private val clientBuilder: OkHttpClient.Builder =
OkHttpClient.Builder()
.addNetworkInterceptor(CacheInterceptor)
.addInterceptor(CommonHeaderInterceptor)
.cache(cache)
private val retrofitBuilder: Retrofit.Builder =
Retrofit.Builder()
.baseUrl(BASE_URL)
@wafer-li
wafer-li / logs.txt
Created May 24, 2017 16:38
Android Architecture Component Network Crash Log
05-25 00:34:11.659 4176-4205/com.android.example.github E/AndroidRuntime: FATAL EXCEPTION: OkHttp Dispatcher
Process: com.android.example.github, PID: 4176
java.lang.reflect.UndeclaredThrowableException
at $Proxy0.intercept(Unknown Source)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:45)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
@wafer-li
wafer-li / SingletonTestWithVerbose.txt
Created May 26, 2017 10:41
Singleton Test With Classpath Scanner Verbose Class Loading Info
[Opened /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded java.lang.Object from /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded java.io.Serializable from /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded java.lang.Comparable from /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded java.lang.CharSequence from /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded java.lang.String from /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded java.lang.reflect.AnnotatedElement from /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded java.lang.reflect.GenericDeclaration from /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded java.lang.reflect.Type from /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/l
@wafer-li
wafer-li / update_theme_plugins.py
Created January 11, 2018 09:51
Python script to update all hexo-next plugins
#!usr/bin/env python3
import os
from subprocess import call
from typing import List
if __name__ == '__main__':
root_dir = os.path.abspath('themes/next-reloaded/source/lib')
git_dirs: List[str] = []
@wafer-li
wafer-li / git_reset_mtime.py
Last active July 31, 2021 10:30
Restore file last modified time in a newly clone repo.Which base on the file's last commited time. Tested with python 3.4 and above
# -*- coding: utf-8 -*-
import subprocess
import os
import shlex
if __name__ != '__main__':
raise ImportError("%s should not be used as a module." % __name__)
# 'git ls-files -z | xargs -0 -n1 -I{} -- git log -1 --format="%ct {}" {} | sort'
@wafer-li
wafer-li / gpgkey.pub
Created January 21, 2018 17:29
My Public PGP Key
-----BEGIN PGP PUBLIC KEY BLOCK-----
Comment: GPGTools - https://gpgtools.org
mQINBFpkXgwBEADt11KmhByhH8pm1y5OwojS20vxpvo/yEiC7xfiKjq1Y61fR41X
JpTUFjVx/DJJgxy4XJ109ccGijySMZfRzBglnYRApgC5YsdP2d/cezKw5tYhRLgC
qbXsMVh6YJT/y8cMeP7LQ2LBGamki/jxj38yno0dr/ZPYTONsLPVCfp0NC5HxoWs
rDjyI6Ii581nDdE/vFm0QwM6CBGzpCbAMN/Xy8A/BXYIeQWJU19K7wRb4J6yjjdR
Wg9N7va9IMkBcHgAujeg0lEk+NDVRh7l2xY+Jcoqf5wEoEeNvbeguPOBltXZN1+Q
1daETq0/IfKzhsVjGSXHx408z7/nNQlv3d8qE8cOOltr1HUzK2+V11EJi1U+XtDL
aI/jcdB3ZcYN+KqDkrkv9jNvUgqgwI62OldS9OitTiBJPSh4Cj6v4WOtEOvj+Sa5
@wafer-li
wafer-li / pack.py
Created May 28, 2019 17:41
Soartex-Modded texture pack script. Use it in the root of Soartex-Modded-1-12-2 and it will pack all mods's textures into one.
import os
import zipfile
zip_file = zipfile.ZipFile('Soartex-Modded-1-12-2.zip', 'w', zipfile.ZIP_DEFLATED)
for root,dirs,files in os.walk('.'):
relative_path = root[2:]
if relative_path.count(os.sep) > 1: # root == App/asserts/lowcase
for f in files:
@wafer-li
wafer-li / cidr-to-range.py
Created May 30, 2019 03:44
CIDR to IP range
import argparse
from netaddr import IPNetwork
arg_parser = argparse.ArgumentParser()
arg_parser.add_argument('filename', help='The filename of the file you need to convert')
args = arg_parser.parse_args()
src_filename = args.filename
output_filename = 'ip-range.txt'