Skip to content

Instantly share code, notes, and snippets.

View repodevs's full-sized avatar

Edi Santoso repodevs

View GitHub Profile
@repodevs
repodevs / stock_move.py
Created October 22, 2022 22:24 — forked from ahmedelbougha/stock_move.py
Example of Odoo Multi-Threading - Background Process
from odoo import api, fields, models
from odoo.tools import float_is_zero
from odoo.exceptions import UserError, ValidationError
import threading
import time
import logging
class StockMove(models.Model):
_inherit = 'stock.move'
@repodevs
repodevs / pgsql_backup.sh
Created May 18, 2019 19:50 — forked from sirbrillig/pgsql_backup.sh
Postgresql daily backup script.
#!/bin/bash
#
# Backup a Postgresql database into a daily file.
#
BACKUP_DIR=/pg_backup
DAYS_TO_KEEP=14
FILE_SUFFIX=_pg_backup.sql
DATABASE=
USER=postgres
@repodevs
repodevs / odoo-wsgi.py
Created February 3, 2018 10:09 — forked from danidee10/odoo-wsgi.py
Odoo wsgi file for running odoo10 as a wsgi application
# WSGI Handler sample configuration file.
#
# Change the appropriate settings below, in order to provide the parameters
# that would normally be passed in the command-line.
# (at least conf['addons_path'])
#
# For generic wsgi handlers a global application is defined.
# For uwsgi this should work:
# $ uwsgi_python --http :9090 --pythonpath . --wsgi-file openerp-wsgi.py
#
@repodevs
repodevs / filter
Created December 20, 2017 10:25 — forked from hofrob/filter
Odoo Logstash Filter
filter {
if [type] == "odoo" {
grok {
match => { "message" => "%{ODOOLOG}" }
}
date {
match => [ "timestamp", "yyyy-MM-dd HH:mm:ss,SSS" ]
}
}
}
@repodevs
repodevs / autoaway.py
Created December 20, 2017 08:42 — forked from charliewolf/autoaway.py
Email notifications for chats received in Fonality HUD when away
#!/usr/bin/python
# Quick and (very) dirty script to send emails when a user gets a message and is away from HUD
from base64 import b64decode
from hashlib import sha256
import sqlite3
import datetime
import itertools
import os
@repodevs
repodevs / instruction.rst
Created October 21, 2017 07:27 — forked from iledarn/instruction.rst
instruction about replicated odoo

Here you may see about bi-directional replication we have used http://2ndquadrant.com/en/resources/bdr/

We use here 64bit ubuntu 14.04 with docker to demonstrate our replication solution. First we need to install docker .

sudo su
apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main" > /etc/apt/sources.list.d/docker.list
#!/bin/bash
echo "Start Export Process"
echo "Log into Keybase..."
keybase login
echo "Exporting your PGP keys..."
keybase pgp export -o keybase.public.key
keybase pgp export -s -o keybase.private.key
@repodevs
repodevs / kaskus.py
Created August 23, 2017 14:36 — forked from judotens/kaskus.py
Kaskus search using official API - just for fun
# PS:
# - Extract your own kaskus oauth consumer_key & consumer_secret frm native app. Ref: http://seriot.ch/abusing_twitter_api.php#3
# - No public doc found, but here i attach an api sample sniffed from mitmproxy
import urllib, urllib2
import time
import oauth.oauth as oauth
import string
import random
import sys, json
@repodevs
repodevs / insert_50k_odoo_customer.py
Last active January 12, 2017 15:58 — forked from jasimmk/insert_50k_odoo_customer.py
Helps us create 50k customers in odoo; Install fake factory at first. pip install fake-factory
#!/usr/bin/env python
# Install fake factory at first. Helps us create 50k customers in odoo
# pip install fake-factory
# Documentation for odoo is listed here
# https://www.odoo.com/documentation/9.0/api_integration.html#calling-methods
# MIT License
# Copyright (c) 2016 Jasim Muhammed
@repodevs
repodevs / knownpaths.py
Created April 19, 2016 10:21 — forked from mkropat/knownpaths.py
Python wrapper around the SHGetKnownFolderPath Windows Shell function
import ctypes, sys
from ctypes import windll, wintypes
from uuid import UUID
class GUID(ctypes.Structure): # [1]
_fields_ = [
("Data1", wintypes.DWORD),
("Data2", wintypes.WORD),
("Data3", wintypes.WORD),
("Data4", wintypes.BYTE * 8)