Skip to content

Instantly share code, notes, and snippets.

@oneyoung
oneyoung / dom_parser.py
Last active August 29, 2015 14:13
[python] simple XML DOM parser
from xml.dom.minidom import parse, parseString
dom1 = parse('c:\\temp\\mydata.xml') # parse an XML file by name
datasource = open('c:\\temp\\mydata.xml')
dom2 = parse(datasource) # parse an open file
dom3 = parseString('<myxml>Some data<empty/> some more data</myxml>')
@oneyoung
oneyoung / AndroidRecordingVideo.java
Created December 19, 2014 02:21
Recording Video using android.hardware.Camera and MediaRecorder
private void recordVideoUsingCamera(
Camera camera, String fileName, int durMs, boolean timelapse) throws Exception {
// FIXME:
// We should add some test case to use Camera.Parameters.getPreviewFpsRange()
// to get the supported video frame rate range.
Camera.Parameters params = camera.getParameters();
int frameRate = params.getPreviewFrameRate();
camera.unlock();
mMediaRecorder.setCamera(camera);
@oneyoung
oneyoung / AndroidTakePicture.java
Last active August 2, 2020 15:59
Take Picture using Android Camera API: android.hardware.Camera
private void doTakePicture(final int cameraId) throws Exception {
/*
Camera class is not thread-safe, and is meant for use from one event thread.
Most long-running operations (preview, focus, photo capture, etc) happen asynchronously
and invoke callbacks as necessary.
Callbacks will be invoked on the event thread open(int) was called from.
This class's methods must never be called from multiple threads at once.
*/
/* Important: mCamera object must be alloc in another Thread, othwerwise, callback will NOT be invoked.
@oneyoung
oneyoung / BypassSSLCert.java
Last active June 20, 2021 14:16
Bypass SSL cert problem when access localhost through HTTPS
import java.security.cert.X509Certificate;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSession;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import javax.net.ssl.SSLSocketFactory;
@oneyoung
oneyoung / PCMRecorder.java
Created November 26, 2014 05:00
Android PCM Recorder
import android.media.MediaRecorder;
import android.media.AudioFormat;
import android.media.AudioRecord;
import android.util.Log;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
# stolen from python2.7 unittest source
class _AssertRaisesContext(object):
"""A context manager used to implement TestCase.assertRaises* methods."""
def __init__(self, expected, test_case, expected_regexp=None):
self.expected = expected
self.failureException = test_case.failureException
self.expected_regexp = expected_regexp
@oneyoung
oneyoung / cmd_wrapper.sh
Created June 24, 2014 07:49
A example to reserve quotes and passing to sub-function.
# keep quotes in args
# http://stackoverflow.com/questions/1668649/how-to-keep-quotes-in-args
whitespace="[[:space:]]"
for i in "$@"
do
if [[ $i =~ $whitespace ]]
then
i=\"$i\"
fi
cmd="$cmd $i"
@oneyoung
oneyoung / multipart.py
Created May 26, 2014 07:53
POST file using built-in library.
# stolen from http://code.activestate.com/recipes/146306/
import httplib
import mimetypes
import urlparse
def posturl(url, fields, files):
urlparts = urlparse.urlsplit(url)
return post_multipart(urlparts[1], urlparts[2], fields, files)
@oneyoung
oneyoung / iriding2gpx.py
Created April 25, 2014 03:21
Export iriding.cc route to .gpx file. Usage: python2 iriding2gpx.py ROUTE_ID
#!/usr/bin/env python2
import urllib
import json
def fetch_route(routeid):
''' fetch route detail from iriding.cc by routeid
return a list of record consist as below:
[
@oneyoung
oneyoung / export_nook_notes.py
Created April 24, 2014 03:59
Script to export Nook Reader's annotations
#!/usr/bin/env python2
import os
import tempfile
import sqlite3
class DBExportor(object):
def __init__(self, db=None):
if not db:
db = self.pullDB()