Skip to content

Instantly share code, notes, and snippets.

@jtprince
jtprince / drop_tables_matching_regexp.py
Created September 19, 2014 23:46
delete all tables in an sqlite database that match a regular expression
#!/usr/bin/env python
import sys
import sqlite3
import argparse
import re
parser = argparse.ArgumentParser(description='deletes tables matching some regular expression')
parser.add_argument('database', help='the database file')
parser.add_argument('regexp', help='the regexp you are matching')
@jtprince
jtprince / sc
Last active May 23, 2021 17:55
screenshot application
#!/usr/bin/env ruby
# sc - screenshot utility using imagemagick 'import'
require 'optparse'
require 'ostruct'
require 'shellwords'
require 'fileutils'
viewers = {
'g' => 'geeqie',
@jtprince
jtprince / Speed Workout #1.md
Last active February 13, 2021 19:29
A workout with descriptions of

Speed workout

Complete as fast as possible, rest as needed.

Warmup

  • 50 Jumping Jacks
  • 25 Wall sit military press
  • 40 Crunches
  • 20 EC leg crossover (flat on back, then cross over one leg)
@jtprince
jtprince / list-all-receivers.py
Created April 3, 2020 07:12
Simple demonstration of the wms-api-client
from wms_api_client.client import Client
# could also be set as environment variables
config = dict(
WMS_REST_BASE_URL="https://secure-wms.com",
WMS_REST_CLIENT_ID="<...your client id...>",
WMS_REST_SECRET="<...your secret...>"
)
client = Client.from_login(user_login="1", tpl="BITeam", config=config)
@jtprince
jtprince / appending-text-to-help-example.py
Last active March 26, 2020 18:45
Appending blocks of text to argparse help message
""" An example of appending blocks to a help message. """
import argparse
import sys
TEXT_TO_APPEND = """
examples:
This is how you do things
@jtprince
jtprince / quietcaplog.py
Created February 26, 2020 20:07
quietcaplog is a pytest fixture like caplog but which quiets output to any StreamHandler handlers on the root logger
@pytest.fixture
def quietcaplog(caplog):
""" Capture logging while suppressing output to stderr and stdout.
quietcaplog IS a caplog fixture (so anything you can do with the caplog
fixture you can do with it). BUT it also removes any StreamHandler
loggers from the root logger before the test and replaces them on the root
logger after the test is over. That means your tests are quiet, but you
can also inspect the log messages being produced if needed.
# http://rosettacode.org/wiki/Twelve_statements
#1. This is a numbered list of twelve statements.
#2. Exactly 3 of the last 6 statements are true.
#3. Exactly 2 of the even-numbered statements are true.
#4. If statement 5 is true, then statements 6 and 7 are both true.
#5. The 3 preceding statements are all false.
#6. Exactly 4 of the odd-numbered statements are true.
#7. Either statement 2 or 3 is true, but not both.
#8. If statement 7 is true, then 5 and 6 are both true.
#!/usr/bin/ruby
require 'zlib'
NETWORK_FLOAT = 'g*'
NETWORK_DOUBLE = 'G*'
LITTLE_ENDIAN_FLOAT = 'e*'
LITTLE_ENDIAN_DOUBLE = 'E*'
BASE_64 = 'm*'
import subprocess
class SaveIndixDataError(Exception):
""" There was some error with saving indix data to the database. """
pass
class SaveIndixDataMismatchError(SaveIndixDataError):
""" Number of submitted records did not match number processed. """
pass
#!/usr/bin/env ruby
# for working with Doba_Product descriptions
require 'redcarpet'
if ARGV.size == 0
puts "usage: #{File.basename(__FILE__)} <file>.txt ..."
puts "output: text and html, ready for sql upload"
puts ""
puts "notes:"