Skip to content

Instantly share code, notes, and snippets.

Brutus brutus

Block or report user

Report or block brutus

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@brutus
brutus / scanmail.sh
Created Aug 23, 2018
scan trough qmail queue
View scanmail.sh
#!/bin/bash
header_lines=${1:-10}
base_path=${2:-'/var/qmail-relay'}
for i in $( \
${base_path}/bin/qmail-qread \
| grep -Po '#\d+' \
| cut -c2-
); do
@brutus
brutus / misc-backup.automount
Created Jul 24, 2018
systemd automount NFS partitions and icinga disk check
View misc-backup.automount
# /etc/systemd/system/misc-backup.automount
[Unit]
Description=Automount for NFS backup share from 'host.domain.com'
Requisite=network-online.target
After=network-online.service
[Automount]
Where=/misc/backup
TimeoutIdleSec=60
@brutus
brutus / Makefile
Created Aug 16, 2017
Makefile for Python projects
View Makefile
# Python Project
#
# Some targets to lint your code, run tests, builds and do some cleanup.
# Works fine with tox and Travis, etc.
#
# This setup assumes that you take care of the virtual environment setup
# yourself and that the needed requirements are installed. And also that
# you configure your tools. So edit your own `setup.cfg` or `.tox.ini`
# with the settings needed for the tools.
#
@brutus
brutus / migrate_collation.py
Created Jun 30, 2017
Converts the collation and character set of a database using a Django migration.
View migrate_collation.py
"""
Converts the *collation* and *character set* of a database using a Django
migration. Data in the tables is converted if needed.
"""
from django.db import migrations
def get_conversion_function(collation, character_set='utf8'):
View perso_checksum.py
"""
Calculates checksums like those used in the German *Ausweisnummer*.
The Algorithm
-------------
1. Take each character of the input and translate it to a token: integers are
taken as is, some chars are ignored others are translated (A→10–Z→35).
@brutus
brutus / collection_pipeline.py
Last active Jun 16, 2017
Pipeline class to collect items using Scrapy
View collection_pipeline.py
"""
This pipeline collects yielded items to process them after a crawl finishes.
Overview
========
For each yielded item :meth:`process_item` is called — and handles the storing
of items for later use. After all items are yielded, :meth:`close_spider` is
called and assembles the data from the previously collected items
(:meth:`assemble_collection`) and dumps the results (:meth:`dump_collection`).
@brutus
brutus / tasks.py
Created May 17, 2017
Collection of invoke tasks to test `dry` setting.
View tasks.py
"""
Quick check for `dry` / `ignore_dry` args to ``run``.
An ``invoke undry dry`` should result in::
[undry] Hello World!
[undry] Hello other World!
echo '[isdry] Hello World!'
[isdry] Hello other World!
@brutus
brutus / toast.py
Last active Jul 3, 2017
A very basic Ansible module for toast.
View toast.py
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
Ansible module to interact with `toast`_.
To use this from Ansible, copy it in your `library`_::
cd path/to/library
git clone https://gist.github.com/brutus/ba3b110c3041777e2e976b61e924b18c toast
@brutus
brutus / add.py
Created Oct 1, 2015
Mutagen MP3 Image Error
View add.py
def add_image(
filenames, image_path, description='Cover', img_type=3, encoding=3
):
"""
Adds an image to MP3 from *filenames*.
Args:
filenames (lits): paths to the MP3
image_path (string): path to image file
@brutus
brutus / validators.py
Last active Aug 29, 2015
Django DateTime Validator
View validators.py
from django.core.exceptions import ValidationError
from django.utils.deconstruct import deconstructible
@deconstructible
class DateValidator():
"""
Überprüft ob *ein Datum* vor oder nach einem gegebenen anderen Datum liegt.
You can’t perform that action at this time.