Skip to content

Instantly share code, notes, and snippets.

View litnimax's full-sized avatar

Max litnimax

View GitHub Profile
@litnimax
litnimax / gist:5c03ef02da86f350107a8efe938c4e7e
Created May 6, 2018 07:47
Color convert int to css for odoo
@api.multi
def _get_kanban_color(self):
for self in self:
if not self.area_color:
continue
css = self.area_color[1:]
r,g,b = int(css[:2], 16), int(css[2:4], 16), int(css[4:], 16)
RGBint = (r<<16) + (g<<8) + b
self.kanban_color = RGBint
@litnimax
litnimax / totals.py
Created April 11, 2018 14:27
TKS all operations parser
import xlrd
import sys
res = {}
rb = xlrd.open_workbook(sys.argv[1])
sheet = rb.sheet_by_index(0)
for rownum in range(sheet.nrows):
row = sheet.row(rownum)
@litnimax
litnimax / mqttrpc_test.py
Created March 6, 2018 11:02
MQTT RPC test
import asyncio
import logging
from mqttrpc import MQTTRPCServer, dispatcher
logging.basicConfig(level=logging.INFO)
class TestMQTTRPCServer(MQTTRPCServer):
@dispatcher.public
def test(a):
return a
@litnimax
litnimax / mqttrpc.py
Created March 6, 2018 11:01
MQTT JSON RPC Client-Server
import asyncio
from asyncio.locks import Event
from asyncio import Queue
import json
import logging
import os
import re
import sys
import uuid
from hbmqtt.client import MQTTClient, ClientException
@litnimax
litnimax / gist:1c5b4c8a351c6b951b138287f164cfeb
Created February 28, 2018 05:21
Gevent MQTT Bottle API server
#-*- coding: utf-8 -*-
# Make sure your gevent version is >= 1.0
import gevent
from gevent import monkey; monkey.patch_all()
from gevent import sleep
from gevent.queue import Queue
from bottle import get, post, request, response, template
from bottle import GeventServer, run
@litnimax
litnimax / periodic.py
Created February 10, 2018 14:49 — forked from akaIDIOT/periodic.py
Call something periodically using asyncio
import asyncio
def call_periodic(interval, callback, *args, **kwargs):
# get loop as a kwarg or take the default one
loop = kwargs.get('loop') or asyncio.get_event_loop()
# record the loop's time when call_periodic was called
start = loop.time()
def run(handle):
@litnimax
litnimax / rds_to_docker.md
Created December 26, 2017 15:57
rds_to_docker.md

Make a backup from RDS

pg_dump -h <rds host> -p 5432 -F c -O -U <rds user> <db name> > db.dump

Restore the backup into a Docker container

docker run --rm --interactive --link <postgres container id>:postgres --volume $PWD/:/tmp/ postgres:latest /bin/bash -c 'pg_restore --verbose --clean --no-acl --no-owner -h "$POSTGRES_PORT_5432_TCP_ADDR" -p "$POSTGRES_PORT_5432_TCP_PORT" -U postgres -d <db name> /tmp/db.dump'
@litnimax
litnimax / settings.py
Created July 1, 2017 20:41
Odoo settings ir.config
from openerp import models, fields, api
PARAMS = [
("login", "apps_odoo_com.login"),
("password", "apps_odoo_com.password"),
]
class Settings(models.TransientModel):
@litnimax
litnimax / gist:ac187969fd0100a1730c580e734bba8a
Created June 14, 2017 16:51
asterisk queues postgresql create script
CREATE TABLE asterisk_queue (
name VARCHAR(128) NOT NULL,
musiconhold VARCHAR(128),
announce VARCHAR(128),
context VARCHAR(128),
timeout INTEGER,
ringinuse VARCHAR(3),
setinterfacevar VARCHAR(3),
setqueuevar VARCHAR(3),
setqueueentryvar VARCHAR(3),
@litnimax
litnimax / ble.py
Created February 26, 2017 08:22 — forked from tito/ble.py
Bluetooth Low Energy explorer, working on MacOSX 10.9 using latest Pyobjus.
from pyobjus import autoclass, protocol
from pyobjus.dylib_manager import load_framework, INCLUDE
(CBCentralManagerStateUnknown,
CBCentralManagerStateResetting,
CBCentralManagerStateUnsupported,
CBCentralManagerStateUnauthorized,
CBCentralManagerStatePoweredOff,
CBCentralManagerStatePoweredOn) = range(6)