Category: Programming

  • Run external scripts inside Odoo’s environment

    Run external scripts inside Odoo’s environment

    You may run into a situation where you want to script actions in Odoo but do not necessarily want to run them within Odoo or its shell. To this end, we have devised a way to load and interact with the Odoo environment within a Python script. Our use case was a [[https://github.com/laslabs/server-tools/tree/release/9.0/auto_backup/auto_backup|slow executing backup…

  • Ubuntu – Installing Doxygen

    Ubuntu – Installing Doxygen

    —- = Installing Doxygen = This article will walk you through the process of installing Doxygen on Ubuntu; including all dependencies required for Graphs, PDF, HTML, & LaTeX output. # Standard procedure when beginning any software maintenance is to update your package repos and application versions (update and upgrade respectively) {{{ lang=bash sudo apt-get update…

  • Dynamic DNS With CloudFlare – Ubiquiti EdgeRouter

    This tutorial will walk you through the process of setting up Dynamic DNS with CloudFlare on the Ubiquiti EdgeRouter (or really any form of Linux). Please see [[ddns-using-libcloud-edgerouter|here]] if you need to accomplish this using [[https://libcloud.apache.org/|LibCloud]], or [[dynamic-dns-with-ubiquiti-edgerouter|here]] if you are using a supported provider. === The Steps === # First, we will need to…

  • Node MakeMKV v0.1.0-beta

    I have just released the first [[https://github.com/lasley/node-makemkv/releases/tag/v0.1.0-beta|beta]] of [[https://blog.laslabs.com/projects/remote-makemkv/|Node-MakeMKV]]. This project wraps makemkvcon to create a MakeMKV Web UI. This release contains a significant amount of bug fixes from the alpha release. There is now also support for ripping of directories and image files located inside of `source_dir` (as defined in the settings.) Current planned…

  • Benchmarking Go, Node, Python & PyPy

    I was just recently introduced to [[http://golang.org/|Go]], and it seems to offer some great features. I wrote a few simple benchmarks to evaluate Go against [[http://nodejs.org/|Node.js]] and [[https://www.python.org/|Python]]/[[http://pypy.org/|PyPy]] in terms of speed. The results initially surprised me, but a user comment guided me to update Golang because they have made a lot of optimizations since…

  • Node-MakeMKV v0.0.1-alpha

    I have just finished and released the Alpha version of Node-MakeMKV. It is defintely rough around the edges at this point, but it seems to work well enough to warrant public release. Take a look [[projects:remote-makemkv|here]] for the script and associated docs.

  • Python CloudFlare API Library

    I have just recently started experimenting with [[https://www.cloudflare.com/|CloudFlare’s]] services & API. In order to migrate my current framework, I required the ability to work with this API via Python. [[http://libcloud.apache.org/|Apache’s Libcloud]] does not have a CloudFlare driver, and the requirements for building a supported driver require quite a bit more time than rolling a library…

  • Creating A Python Plugin Framework With Metaclasses

    This tutorial will walk you through creating a generic plugin framework in Python using metaclassing. This framework can be easily be dropped into existing code to allow seamless integration of Python plugins. There are essentially 3 parts to this framework: # **The mount point** – This provides a central location between the plugins and the…

  • Convert SVN to Mercurial (Script)

    Below is a simple Python script that will traverse your online SVN repo and run the necessary commands to convert it to Mercurial. This is probably useless to most, but it saved me a great deal of time converting a large set of repos so I figured posting it couldn’t hurt: {{{ lang=python #!/usr/bin/env python…

  • Determine Which Modules Are In A Package – Python

    Below is a method to enumerate Python modules located in a directory: {{{ lang=python import pkgutil def get_pkg_modules(pkg_path, recurse=False, add_prefix=”): ”’ Get modules of a package located at pkg_path @param str pkg_path Path of package to inspect @param bool recurse Recursive inspection? @param str add_prefix Add this prefix to results @return list List of modules…