Skip to content

Instantly share code, notes, and snippets.

View ecarreras's full-sized avatar
💡
IT for utilities

Eduard Carreras ecarreras

💡
IT for utilities
View GitHub Profile
import requests
from bs4 import BeautifulSoup
import os
from PyPDF2 import PdfReader, PdfWriter
from rich.progress import track
def merge_pdfs(folder_path, output_filename):
pdf_writer = PdfWriter()
pdfs = [item for item in os.listdir(folder_path) if item.endswith('.pdf')]
for item in track(pdfs, description="Merging..."):
@ecarreras
ecarreras / README.md
Last active August 7, 2023 07:39
PostgreSQL replication

Checklist

  • Create user replication in the master
sudo -u postgres psql -c "CREATE USER rep REPLICATION \
LOGIN ENCRYPTED PASSWORD 'thepassword';"
  • Modify postgresql.conf in the master
listen_address = # make sure we're listening as appropriate
wal_level = hot_standby
@ecarreras
ecarreras / delete_workflows_duplicats.sql
Created May 31, 2021 19:15 — forked from eberloso/delete_workflows_duplicats.sql
Consultar i eliminar workflows duplicats
delete from wkf_workitem where id in (select min(wkd.id) from wkf_workitem wkd where wkd.inst_id in (select
inst_id
from
wkf_workitem wki
JOIN wkf_instance ins ON ins.id = wki.inst_id
group by
inst_id, ins.res_id, ins.res_type, ins.uid
having
count(*) > 1
@ecarreras
ecarreras / pivotpandas.py
Created April 13, 2018 13:43
Pandas pivot table
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
df = pd.read_excel('/home/ecarreras/Desktop/l.xls')
table = pd.pivot_table(
df, index=['empresa', 'producto'], values=['price_subtotal'], aggfunc=[np.sum], fill_value=0
)
table_tots = table.groupby(level='empresa').sum()
@ecarreras
ecarreras / test_show_qt_window.py
Created March 27, 2018 21:58
test_show_qt_window.py
from PyQt4.QtGui import QApplication, QMainWindow, QDialog, QHBoxLayout
from PyQt4.QtCore import SIGNAL
from Koo.Rpc import Rpc
from Koo.Common import Api
from Koo.Common import Localization
Localization.initializeTranslations()
from Koo.Dialogs import WindowService
x = Rpc.session.login('http://admin:admin@localhost:8069', 'test_1522167327')
@ecarreras
ecarreras / clean_rq.py
Created February 5, 2018 12:51
Clean some inconsistency in rq
from redis import StrictRedis
from rq.job import Job
from rq import push_connection, get_failed_queue
from collections import Counter
from tqdm import tqdm
stats = {'queue': Counter(), 'status': Counter()}
conn = StrictRedis.from_url()
push_connection(conn)
from flask import Flask, request
import time
app = Flask(__name__)
@app.route('/ARequest', methods=['POST'])
def arquest():
print "Writing a post!"
with open('post-{}'.format(time.time()), 'w') as f:
@ecarreras
ecarreras / README.md
Last active February 16, 2017 10:34
Vivència com inquilí a un pis gestionat per Progrup

Tot acaba, o potser més aviat comença amb el retard de 6 mesos per part de Progrup en retornar una fiança de 750 euros.

Els antecedents del meu pas per un pis gestionat per Progrup, des de que vaig entrar uns 3 anys 31 de desembre del 2009 i fins que he marxat a 27 de novembre del 2012. Aproximadament uns 6 mesos i encara no se m'ha tornat la fiança.

En el moment de signar el contracte se'm va dir que era imprescindible, que el dia de la signatura del contracte, portar un xec per valor de 750 euros. Ho vaig trobar normal, ja que en tots els lloguers hi ha una fiança amb el valor del lloguer mensual.

Els primers mesos se'm va tallar fins a dos cops el suministrament d'aigua, degut a que abans d'entrar jo no es van regularitzar les factures de l'aigua i hi havia uns deutes pendents. Feina que havia de fer Progrup, però maldecaps de quedar-se sense aigua corrent dues vegades, anar en hores de feina a l'atenció al client del distribuïdor d’aigua, avançar els diners d'un deute que jo ni m'hauria d'haver assaben