Skip to content

Instantly share code, notes, and snippets.

#!/usr/bin/env ruby
require 'github_api'
def die(msg)
STDERR.puts msg
STDERR.puts
exit 1
end
@rodrigorgs
rodrigorgs / highlight-ebook-clippings.py
Created January 5, 2022 11:22
Highlight clippings on an ebook
#!/usr/bin/env python3
# Highlight clippings on an ebook
# Input:
# - clippings file (generated by Calibre --
# see https://www.mobileread.com/forums/showthread.php?t=76069)
# - ebook in HTML format (exported by Calibre)
#
# Output:
# - HTML ebook with highlights in yellow
# Converte um backup do DataCifra (arquivo .dtcxlist) em texto simples,
# em um formato que pode ser importado pelo Cifra+
#
import plistlib
import base64
import NSKeyedUnArchiver
import sys
import os
import unicodedata
import re
@rodrigorgs
rodrigorgs / converte-picpay.html
Created November 1, 2024 20:45
Converte extrato do PicPay (PDF) para CSV
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdf-lib/1.17.1/pdf-lib.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.10.377/pdf.min.js"></script>
<script>
pdfjsLib.GlobalWorkerOptions.workerSrc = 'https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.10.377/pdf.worker.min.js';
async function convertPdfToCsv() {
const fileInput = document.getElementById('pdfUpload');
const output = document.getElementById('csvOutput');
@rodrigorgs
rodrigorgs / convert-bb-card.html
Created November 13, 2024 00:01
Converte extrato de cartão do Banco do Brasil (PDF) para CSV
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdf-lib/1.17.1/pdf-lib.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.10.377/pdf.min.js"></script>
<script>
pdfjsLib.GlobalWorkerOptions.workerSrc = 'https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.10.377/pdf.worker.min.js';
async function convertPdfToCsv() {
const fileInput = document.getElementById('pdfUpload');
const output = document.getElementById('csvOutput');
@rodrigorgs
rodrigorgs / visualize_relationships.py
Last active March 29, 2025 10:57
Visualize classes and objects
from graphviz import Digraph
def visualize_relationships(objects=None):
'''
Visualize, as a directed graph, the relationships between objects.
:param objects: A list of objects to visualize. If None, all objects in the current module will be visualized.
'''
if objects is None:
objects = [obj for obj in globals().values() if isinstance(obj, tuple(cls for cls in globals().values() if isinstance(cls, type) and cls.__module__ == '__main__'))]
dot = Digraph()