Skip to content

Instantly share code, notes, and snippets.

from traits.api import Bool, HasTraits
from traits.api import push_exception_handler
push_exception_handler(main=True, reraise_exceptions=True)
class Foo(HasTraits):
bar = Bool
from traits.api import Bool, HasTraits
from traits.api import push_exception_handler
class Foo(HasTraits):
bar = Bool
def _bar_changed(self, old, new):
raise Exception('foo changed')
@cfm
cfm / .treehouse
Last active July 17, 2019 19:21 — forked from ErikGartner/.treehouse
dtree-blockchain
1.3.1
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

Keybase proof

I hereby claim:

  • I am cfm on github.
  • I am cfmyers (https://keybase.io/cfmyers) on keybase.
  • I have a public key ASCcqmglflHE-AcjBY5h0pVhnBkkfvqMfpePo3uGcbP_HQo

To claim this, I am signing this object:

How to think about translation workflows: a refresher

Any translation workflow we adopt must implement the following stages:

  1. extraction of source strings from Python code (securedrop_client/**/*.py) to the catalog template (securedrop/locale/messages.pot);
  2. merging of the source strings from the template into each locale's translation catalog (securedrop/locale/*/LC_MESSAGES/messages.po); and
  3. compilation of each locale's translation catalog from portable-object format (.po) to the machine-object format (.mo) loaded at runtime.

The following table summarizes the approaches we've considered to date:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="x-ua-compatible" content="IE=edge">
<meta name="referrer" content="no-referrer" />
<meta name="generator" content="diffoscope" />
<link rel="icon" type="image/png" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAADdgAAA3YBfdWCzAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAM8SURBVFiF7dZdaJZlGAfw3/O+e9XNjy3XllZzWImBxIpifqTgsmUHBSIeBNFBdRh0UHQ0xGdb66CFBIERZEFRQRRUw0HkQkLMYQSBdpCFWdgSP6jpNn2393k68Nn2bj3vXtb6UOh/cl/39b/u67mem/913zf/4z9GUDw5xNI8n5WIzW9m/QF2YluJmI8203mALzEvLWAerRs4Pz6vSIkZSlsYk0/GkaB0zEgyDgWMlijyWsJuS2fkQwu8pqpMTA0ypeiShG71Bp0rU8Q+A47MWEDgvHZbZl/Av4SpIgxVYB3IqwZDmoUuYkzosDaNchpAoFqkSmgjGPWzLieF1k3JHVsjvCJQHBYaSy9g1E3m+QImQiK9SbNGqJDzuiDZ0lggQJCsyelDq8BB47sbCWTsnvhG3kqcLL833eqF4hk1EOoTOjZjnnaRdq2l6KtMAyl4/g23bKJrun+Mt9uOq7nvqOVbebWYy9Adc1fM/R/3CO780dONbIeFPHsPw+ULeM5ZHTbXHfUtXpxOZzgT5z02UGsZThRzF/ilht9G+fr4zfbfccIxXIa7uVTup69i7LJXaEEqF3on1d9ludB
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.