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 / 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:
from babel.messages import catalog, pofile
SPLITS = 10
catalogs = [catalog.Catalog(locale='es_ES') for _ in range(0, SPLITS)]
with open('locales/es_ES/LC_MESSAGES/messages.po', 'r') as f:
po = pofile.read_po(f)
untranslated = [s.id for s in po if not s.string]
for idx, string in enumerate(untranslated):
c_idx = idx % SPLITS
from datetime import datetime
import calendar
def canvi_hora(year, month):
for d in range(calendar.monthrange(year, month)[1], 1, -1):
if datetime(year, month, d).weekday() == calendar.SUNDAY:
return d
def get_canvis_hora(year):