Day 1007
vim open list of files from cli
vim -p `ag -l whatever`
opens each file returned by ag
. (ag -l
lists only the files with matches and nothing else)
Replacing jekyll-style highlight tags with standard markdown ones
In some posts I had code blocks like {% highlight html %}
etc. The html/js got parsed, and some “here’s how to redirect using javascript” code got executed in the master page.
Here’s how I replaced all that syntax with the standard markdown one:
for f in `ag -l "endhighlight"`;
do cat $f | sed "s/{% highlight \(.*\) %}/\`\`\`\1/" | sed "s/{% endhighlight %}/\`\`\`/g" > $f;
done
Python dataclasses and classmethods
@dataclass
class MyClass:
x: int = 4
@classmethod
def init_whatever(number: int)
return cls(x=number)
Python exceptions and unittests
unittest
’s self.assertRaisesRegex()
is nice but couldn’t get it to work with my custom exception class.
with self.assertRaisesRegex(CustomException, "No trained model"):
It expects the message to be in e.args
1. args
also gets used by the Exception
class for __str__()
etc, so it’s a nice thing.
Set it up easily:
class CustomException(Exception):
def __init__(self, detailed_message: str = None):
if detailed_message:
self.detailed_message = detailed_message
self.args = (self.detailed_message, )
Catching python regex exceptions
try:
re.search("DataLoader worker(.*is killed by signal: Bus error", text)
except re.error:
whatever()
TODO I really like this regex tutorial: Regular Expressions: Regexes in Python (Part 2) – Real Python
Nel mezzo del deserto posso dire tutto quello che voglio.
comments powered by Disqus