Compare commits
4 Commits
0040dccd9a
...
v0.3.7
Author | SHA1 | Date | |
---|---|---|---|
48e75358ac | |||
132e37267b | |||
f2bcf6241a | |||
ec9cc19be5 |
@@ -27,7 +27,7 @@ steps:
|
|||||||
environment:
|
environment:
|
||||||
MATRIX_ROOMID:
|
MATRIX_ROOMID:
|
||||||
from_secret: MATRIX_ROOMID
|
from_secret: MATRIX_ROOMID
|
||||||
MATRIX_ACCESSTOKEN:
|
MATRIX_ACCESSTOKEN:
|
||||||
from_secret: MATRIX_ACCESSTOKEN
|
from_secret: MATRIX_ACCESSTOKEN
|
||||||
MATRIX_USERID:
|
MATRIX_USERID:
|
||||||
from_secret: MATRIX_USERID
|
from_secret: MATRIX_USERID
|
||||||
@@ -35,11 +35,6 @@ steps:
|
|||||||
homeserver: https://matrix.poneyworld.net
|
homeserver: https://matrix.poneyworld.net
|
||||||
template: "Une nouvelle version (${DRONE_TAG}) de pdf-oralia est publiée!"
|
template: "Une nouvelle version (${DRONE_TAG}) de pdf-oralia est publiée!"
|
||||||
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
include:
|
|
||||||
- tag
|
|
||||||
|
|
||||||
# Déclencheur de la pipeline
|
# Déclencheur de la pipeline
|
||||||
trigger:
|
trigger:
|
||||||
event:
|
event:
|
||||||
|
22
pdf_oralia/join.py
Normal file
22
pdf_oralia/join.py
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
import glob
|
||||||
|
|
||||||
|
import pandas as pd
|
||||||
|
|
||||||
|
|
||||||
|
def join_excel(src, dest, file_pattern):
|
||||||
|
"""Join every excel file in arc respecting file_pattern into on unique file in dist"""
|
||||||
|
filenames = list_files(src, file_pattern)
|
||||||
|
dfs = extract_dfs(filenames)
|
||||||
|
joined_df = pd.concat(dfs)
|
||||||
|
joined_df.to_excel(dest, index=False)
|
||||||
|
|
||||||
|
|
||||||
|
def list_files(src, file_glob):
|
||||||
|
return list(glob.iglob(f"{src}/{file_glob}"))
|
||||||
|
|
||||||
|
|
||||||
|
def extract_dfs(filenames):
|
||||||
|
dfs = []
|
||||||
|
for filename in filenames:
|
||||||
|
dfs.append(pd.read_excel(filename))
|
||||||
|
return dfs
|
@@ -5,6 +5,7 @@ from pathlib import Path
|
|||||||
import click
|
import click
|
||||||
|
|
||||||
from .extract import extract_save
|
from .extract import extract_save
|
||||||
|
from .join import join_excel
|
||||||
|
|
||||||
logging_config = dict(
|
logging_config = dict(
|
||||||
version=1,
|
version=1,
|
||||||
@@ -64,5 +65,29 @@ def all(src, dest):
|
|||||||
@main.command()
|
@main.command()
|
||||||
@click.option("--src", help="Tous les fichiers dans src", default="./")
|
@click.option("--src", help="Tous les fichiers dans src", default="./")
|
||||||
@click.option("--dest", help="Où mettre les fichiers produits", default="")
|
@click.option("--dest", help="Où mettre les fichiers produits", default="")
|
||||||
def join(src, dest):
|
@click.option(
|
||||||
join_excel(src, dest, df_names=["charge", "locataire"])
|
"--force",
|
||||||
|
help="Ecraser si le ficher destination existe.",
|
||||||
|
default=False,
|
||||||
|
is_flag=True,
|
||||||
|
)
|
||||||
|
def join(src, dest, force):
|
||||||
|
"""Join tous les fichiers excel charge (resp locataire) de src dans un seul fichier charge.xlsx dans dist.
|
||||||
|
|
||||||
|
Exemple:
|
||||||
|
|
||||||
|
pdf-oralia join --src <dossier_source> --dest <dossier_destination>
|
||||||
|
|
||||||
|
|
||||||
|
"""
|
||||||
|
dest_charge = f"{dest}/charge.xlsx"
|
||||||
|
if not force and Path(dest_charge).exists():
|
||||||
|
raise ValueError(f"The file {dest_charge} already exists")
|
||||||
|
dest_locataire = f"{dest}/locataire.xlsx"
|
||||||
|
if not force and Path(dest_locataire).exists():
|
||||||
|
raise ValueError(f"The file {dest_locataire} already exists")
|
||||||
|
|
||||||
|
join_excel(src, dest_charge, "*_charge.xlsx")
|
||||||
|
logging.info(f"Les données charges ont été concaténées dans {dest_charge}")
|
||||||
|
join_excel(src, dest_locataire, "*_locataire.xlsx")
|
||||||
|
logging.info(f"Les données locataires ont été concaténées dans {dest_locataire}")
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
[tool.poetry]
|
[tool.poetry]
|
||||||
name = "pdf-oralia"
|
name = "pdf-oralia"
|
||||||
version = "dev"
|
version = "0"
|
||||||
description = ""
|
description = ""
|
||||||
authors = ["Bertrand Benjamin <benjamin.bertrand@opytex.org>"]
|
authors = ["Bertrand Benjamin <benjamin.bertrand@opytex.org>"]
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
|
Reference in New Issue
Block a user