Skip to content

Instantly share code, notes, and snippets.

@codecats
codecats / nestes.js
Created July 12, 2018 12:23
Convert js object to DRF nested ( {key1: {key2: value}} => key1.key2: value )
//let formData = new FormData()
//nested object {key1: {key2: value}} => key1.key2: value
_buildDotObject(formData, obj, stack) {
for (let property in obj) {
if (obj.hasOwnProperty(property)) {
if (typeof obj[property] === "object") {
this._buildDotObject(formData, obj[property], stack ? (stack + '.' + property): property);
} else {
formData.append(stack + '.' + property, obj[property]);
}
@codecats
codecats / NPM debug mode
Last active July 6, 2018 07:22
NPM debug mode
DEBUG=* npm run dev
@codecats
codecats / meta.py
Last active May 29, 2018 11:40
Python object creation - metaclasses
class Meta(type):
@classmethod
def __prepare__(mcs, name, bases, **kwargs):
print(' Meta.__prepare__(mcs=%s, name=%r, bases=%s, **%s)\n' % (
mcs, name, bases, kwargs
))
return {}
def __new__(mcs, name, bases, attrs, **kwargs):
print(' Meta.__new__(mcs=%s, name=%r, bases=%s, attrs=[%s], **%s)\n' % (
@codecats
codecats / smtp console server
Created November 23, 2017 11:09
smtp debug server
python -m smtpd -n -c DebuggingServer localhost:1025
@codecats
codecats / auth
Created November 15, 2017 09:25
DRF auth
curl --header 'Authorization: Basic $(printf %s api_user@user.com:password123 | base64)' http://cos.xyz/url/
#this is an example daemon thread we use for sending events out to firebase. We dont care to much about the consistency of data on firebase.
class FirebaseEventSender(threading.Thread):
@ThreadAutoRestartCachedClassProperty
def _instance(cls) -> 'FirebaseEventSender':
lc = FirebaseEventSender()
lc.start()
return lc
@classmethod
hg log --user "user name" --template "{branch}\n" | python -c "import sys; print set([l for l in sys.stdin.read().splitlines() if l.startswith('sprint31')])"
@codecats
codecats / gist:86154fc3f0e1a04b1e055411001050cb
Last active November 20, 2016 17:06
Stream to Icecast Ubuntu 16.04
#http://www.catswhocode.com/blog/19-ffmpeg-commands-for-all-needs
#webcam:
ffmpeg -f v4l2 -video_size 640x480 -framerate 3 -i /dev/video0 -f alsa -i default -f webm -cluster_size_limit 2M -cluster_time_limit 5100 -content_type video/webm -c:a libvorbis -b:a 96K -c:v libvpx -b:v 1.5M -crf 30 -g 150 -deadline good -threads 4 icecast://source:hackme@192.168.100.102:8111/stream_name
#mic:
ffmpeg -stats -report -f alsa -i hw:0 -c:a libmp3lame -b:a 320k -legacy_icecast 1 -content_type audio/mpeg -ice_name "DemoStream" -f mp3 icecast://source:hackme@192.168.100.102:8111:8000/stream
@codecats
codecats / Vagrant box
Created November 1, 2015 16:27
vagrant box
https://scotch.io/tutorials/how-to-create-a-vagrant-base-box-from-an-existing-one
vagrant box add crbox cr.box
clone code
vagrant init crbox
edit Vagrantfile (if not included- add 192.168.192.168)
create logs dir in ~/src
in apps dir copy local_settings_example > local_settings

Install ElasticSearch and Java

1  wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.0.1.deb
2  sudo dpkg -i elasticsearch-1.0.1.deb
3  sudo update-rc.d elasticsearch defaults 95 10
4  sudo add-apt-repository ppa:webupd8team/java
5  sudo apt-get update
6  sudo apt-get install oracle-java7-installer
7  java -version