Skip to content

Instantly share code, notes, and snippets.

Avatar

Derek Hohls gamesbook

  • CSIR
  • South Africa
View GitHub Profile
@gamesbook
gamesbook / buzzwords.py
Created May 11, 2021
Generate techno babble for marketing content
View buzzwords.py
"""
Purpose: generate management buzzphrases from buzzwords
BUZZ_WORDS are from http://bollocksphere.co.uk/Content/generationtable.shtml
"""
import random
BUZZ_WORDS = """# verb
<option value='Aggregate'>aggregate</option>
<option value='architect'>architect</option>
@gamesbook
gamesbook / cpif.sh
Created Apr 19, 2021
Copy files from source directory if they already exist in destination
View cpif.sh
#!/bin/bash
for file in /src/*; do
cfile="${file##*/}"
if [ -f "/dest/${cfile}" ]
then
echo "${cfile}"
cp "/src/${cfile}" "/dest/${cfile}"
touch "/dest/${cfile}"
fi
done
@gamesbook
gamesbook / log_timer.py
Created Mar 28, 2021
Log time for process
View log_timer.py
import time
import logging
logger = logging.getLogger(__name__)
t0 = time.process_time()
time.sleep(3)
logger.warning("Time elapsed: %3.6f", (time.process_time() - t0))
@gamesbook
gamesbook / config.py
Created Mar 12, 2021
Load and store settings via JSON or ENV variables #dataclasses
View config.py
from dataclasses import dataclass, InitVar, asdict
import orjson
import os
@dataclass
class Config:
"""Track config/settings"""
id: int = None
name: str = None
@gamesbook
gamesbook / data.py
Created Mar 7, 2021
Example of dataclass with property
View data.py
from dataclasses import dataclass
from typing import List, Tuple
@dataclass(frozen=True)
class Position:
name: str
dates: List[int]
items: Tuple
lon: float = 0.0
lat: float = 0.0
@gamesbook
gamesbook / single.py
Created Mar 7, 2021
Example of singleton class
View single.py
"""
Is this a good idea?
https://stackoverflow.com/questions/6760685/creating-a-singleton-in-python
"""
class Singleton:
__instance = None
@staticmethod
@gamesbook
gamesbook / ticks.py
Last active Nov 21, 2020
Convert C# tick dates into a Python / readable date
View ticks.py
# -*- coding: utf-8 -*-
"""
Purpose: Convert .NET ticks to formatted ISO8601 time
Author: D Hohls < dhohls@csir.co.za>
"""
from __future__ import print_function
import datetime
import sys
@gamesbook
gamesbook / covid19.py
Last active Apr 20, 2020
Python script to access Corona / COVID-19 data from worldometers as Excel or plain text
View covid19.py
# coding: utf-8
"""Command-line access to stats from https://www.worldometers.info/coronavirus/
Created: 2020-04-05
Author: Derek <gamesbook@gmail.com>
Requires:
chromedriver - https://chromedriver.chromium.org/
xlsxwriter - https://xlsxwriter.readthedocs.io/
@gamesbook
gamesbook / excel_to_numpy
Created Jun 27, 2014
Load Excel into numpy array
View excel_to_numpy
#!/usr/bin/env python
#-*- coding: utf-8 -*-
"""
Note:
In numpy, every "append" action requires re-allocation of the array memory
and short-term doubling of memory requirements. So, the more general
solution is to allocate arrays to be as large as the final output of your
algorithm.
"""
import os
@gamesbook
gamesbook / dict_to_rst_table.py
Created Sep 6, 2019
Create reStructuredText complex table from list of dictionaries
View dict_to_rst_table.py
# coding: utf-8
"""Purpose: Create reStructuredText complex table from list of dictionaries
Created: 2019-09-05
Authors: dhohls <dhohls@csir.co.za> Derek Hohls
Example:
code::