Skip to content

Instantly share code, notes, and snippets.

@Dalboz
Dalboz / dscrob.py
Created August 1, 2025 18:55
# dscrob Download, update, and upload Last.fm scrobbles. ## Usage ``` python dscrob.py download|update|upload [args] ``` ## Limitations Uploads must be <2 weeks old. Older scrobbles may be ignored by the API.
import requests
import hashlib
import time
import pandas as pd
import argparse
import webbrowser
API_ROOT = "http://ws.audioscrobbler.com/2.0/"
MAX_RETRIES = 5
RETRY_BACKOFF = 2 # seconds for each trial
@Dalboz
Dalboz / gui_lmmp.py
Last active April 5, 2025 13:09
Script para calcular la explosión de cantidades partiendo del BOM plano, recorriendo un árbol recursivo para agrupar todos los niveles de cada referencia final
# Interfaz gráfica del Script para realizar la explosión de la lista de materiales multinivel
import pandas as pd
import tkinter as tk
from tkinter import filedialog, messagebox
from tkinter import ttk
from collections import defaultdict
class BOMApp:
def __init__(self, root):
@Dalboz
Dalboz / rupturas_fechas.bas
Last active September 6, 2024 16:36
Ruptura para el rango de fechas seleccionadas
Function SplitYear01(fechainicio As Date, fechaFin As Date) As Variant
Dim fechaActualInicio As Date
Dim fechaActualFin As Date
Dim finAnoFiscal As Date
Dim umatriz As Collection
Dim tupla() As Variant
Dim i As Integer
Dim count As Integer
' Crear una colección para almacenar las tuplas
@Dalboz
Dalboz / nuevacuenta.bas
Last active July 4, 2024 20:57
Utils para mantener el fichero de spending y el fichero de carga
Sub AddNewAccounts()
' Desactivar la actualización de pantalla y el cálculo automático para mejorar el rendimiento
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Dim wsParam As Worksheet
Dim ws As Worksheet
Dim lastRow As Long
' Establecer la hoja "param"
@Dalboz
Dalboz / cargaVariables.bas
Created May 1, 2024 21:16
Rutina para crear archivos planos de carga SAP
Sub SplitExcelFile()
Dim ws As Worksheet
Dim lastRow As Long
Dim i As Long
Dim chunkSize As Long
Dim outputFolder As String
Dim outputFileName As String
Dim totalValues As Long
Dim chunkCounter As Long
Dim chunkValues As Long
@Dalboz
Dalboz / Copy-FolderStructure.ps1
Last active March 12, 2024 20:40
win folder utils
# Function to show a folder selection dialog
function Get-FolderDialog($initialDirectory) {
$folderBrowser = New-Object System.Windows.Forms.FolderBrowserDialog
$folderBrowser.RootFolder = [System.Environment+SpecialFolder]::MyComputer
$folderBrowser.SelectedPath = $initialDirectory
$folderBrowser.ShowNewFolderButton = $false
$result = $folderBrowser.ShowDialog()
if ($result -eq [System.Windows.Forms.DialogResult]::OK) {
@Dalboz
Dalboz / dep.ps
Last active March 12, 2024 20:45
depreciation calculation
function Calculate-Amortization {
param (
[int]$assetNumber,
[double]$acquisitionCost,
[int]$usefulLife,
[string]$usefulLifeUnits,
[string]$depreciationStartDate,
[string]$capitalizationDate
)
@Dalboz
Dalboz / precios_dia.py
Last active February 19, 2024 19:10
Scrapping de precios para productos del DIA
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# Script para scrappear productos de los Supermercados DIA
# Necesita tener instalado el parser lxml: sudo apt-get install python-lxml
from bs4 import BeautifulSoup
from requests import get
import locale
import re
import sys
@Dalboz
Dalboz / steps.sh
Created November 6, 2022 00:00
Convert audio files with FFmpeg while retaining original metadata
# install ffmpeg for macOS
brew install ffmpeg
# invoke ffmpeg while stating that must copy the first stream of metadata
ffmpeg -i in.opus -map_metadata 0:s:a:0 out.mp3
# check the out file and verify the metadata
@Dalboz
Dalboz / ipc.html
Last active March 1, 2024 18:34
One-liner para obtener índices de precios del transporte
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Table from API with Bootstrap</title>
<script src="https://code.jquery.com/jquery-3.6.4.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
</head>
<body class="bg-light">