Recherche et dezippe (décompresse) les fichiers contenus dans une archive *.in ou *.out du PMSI en fonction de parametres.
adezip(...) # S3 method for pm_param adezip(.params, ...) # S3 method for default adezip( finess, annee, mois, path, liste = NULL, pathto = path, type = "in", recent = TRUE, nom_archive = NULL, quiet = FALSE, ... )
... | Paramètres supplémentaires. Permet par exemple de changer un des paramètres après avoir passé un noyau de paramètres sans changer le noyau de paramètres. |
---|---|
.params | Un noyau de paramètres définis par la fonction fonction |
finess | Finess de l'archive. |
annee | Année de l'archive. |
mois | Mois de l'archive. |
path | Chemin d'accès au répertoire contenant l'archive à décompresser |
liste | Vecteur de caractère avec le type de fichiers à dézipper (ex: ano, rss, rsa, dmi, ...). Par défaut, |
pathto | Par defaut la même valeur que |
type | Type de l'archive : in ou out. |
recent | par défaut |
nom_archive | Nom de l'archive à décompresser dans le dossier |
quiet | Affichage d'un message au dézippage |
Les chemins d'accès des fichiers décompressés, de manière invisible.
Il est possible de passer directement les paramètres permettant d'identifier l'archive à dézipper (méthode par défaut) ou à l'aide de paramètres enregistrés dans un noyau de paramètres (voir fonction noyau_pmeasyr
).
adezip2
, astat
, adelete
,
utiliser un noyau de parametres avec noyau_pmeasyr
G. Pressiat
# Chemin vers un dossier temporaire tmp_dir <- tempdir() # Chemin vers un dossier contenant des archives simulées dossier_archives <- system.file("extdata", "test_data", "test_adezip", package = "pmeasyr") # Décompresser en fonction du finess, année et mois du # fichier med d'une archive out adezip('123456789', 2016, 2, path = dossier_archives, liste = 'med', pathto = tmp_dir, type = "out")#> #>#> #> #> #> #> #>#> [1] "123456789.2016.2.med" "downlit" "file3e24bc50bf4.so" #> [4] "file3e262bb94d3" "file3e2927db49"# Décompresser plusieurs types de fichiers d'une archive in adezip('123456789', 2016, 2, path = dossier_archives, liste = c('med','rapss', 'ano'), pathto = tmp_dir, type = "in")#> #>#> #> #> #> #> #>#> [1] "123456789.2016.2.ano.txt" "123456789.2016.2.med" #> [3] "123456789.2016.2.med.txt" "downlit" #> [5] "file3e24bc50bf4.so" "file3e262bb94d3" #> [7] "file3e2927db49"# Utilisation avec un noyau de paramtères p <- noyau_pmeasyr( finess = '123456789', annee = 2016, mois = 12, path = dossier_archives, progress = FALSE ) adezip(p, type = "in", pathto = tmp_dir)#> #>#> #> #> #> #> #>#> [1] "123456789.2016.12.ano.txt" "123456789.2016.12.diap.txt" #> [3] "123456789.2016.12.dmi.txt" "123456789.2016.12.ium.txt" #> [5] "123456789.2016.12.med.ini.txt" "123456789.2016.12.med.txt" #> [7] "123456789.2016.12.porg.txt" "123456789.2016.12.rss.ini.txt" #> [9] "123456789.2016.12.rss.txt" "123456789.2016.2.ano.txt" #> [11] "123456789.2016.2.med" "123456789.2016.2.med.txt" #> [13] "downlit" "file3e24bc50bf4.so" #> [15] "file3e262bb94d3" "file3e2927db49"# Modification d'un paramètre du noyau adezip(p, mois = 11, type = "in", pathto = tmp_dir)#> #>#> #> #> #> #> #>#> [1] "123456789.2016.11.ano.txt" "123456789.2016.11.diap.txt" #> [3] "123456789.2016.11.dmi.txt" "123456789.2016.11.ium.txt" #> [5] "123456789.2016.11.med.ini.txt" "123456789.2016.11.med.txt" #> [7] "123456789.2016.11.porg.txt" "123456789.2016.11.rss.ini.txt" #> [9] "123456789.2016.11.rss.txt" "123456789.2016.12.ano.txt" #> [11] "123456789.2016.12.diap.txt" "123456789.2016.12.dmi.txt" #> [13] "123456789.2016.12.ium.txt" "123456789.2016.12.med.ini.txt" #> [15] "123456789.2016.12.med.txt" "123456789.2016.12.porg.txt" #> [17] "123456789.2016.12.rss.ini.txt" "123456789.2016.12.rss.txt" #> [19] "123456789.2016.2.ano.txt" "123456789.2016.2.med" #> [21] "123456789.2016.2.med.txt" "downlit" #> [23] "file3e24bc50bf4.so" "file3e262bb94d3" #> [25] "file3e2927db49"# Pour une même période (année/mois), il peut y avoir plusieurs archives si # il y a eu plusieurs envois. Par exemple il y a deux version de l'archive # out pour la période 2017.10 dans notre exemple simulé dir(dossier_archives, pattern = "2017\\.10.*out\\.zip")#> [1] "123456789.2017.10.21112017162343.out.zip" #> [2] "123456789.2017.10.24112017182343.out.zip"# Lorsque l'arguement `recent` est `TRUE` alors la fonction adezip # sélectionne automatiquement l'archive la plus récente adezip(123456789, 2017, 10, path = dossier_archives, liste = 'med', pathto = tmp_dir, type = "out")#> #>#> #> #> #> #> #>#> [1] "123456789.2016.11.med.ini.txt" "123456789.2016.11.med.txt" #> [3] "123456789.2016.12.med.ini.txt" "123456789.2016.12.med.txt" #> [5] "123456789.2016.2.med" "123456789.2016.2.med.txt" #> [7] "123456789.2017.10.med"# Si l'arguement `recent` est `FALSE` alors l'utilisateur est invité # à choisir if (FALSE) { adezip(123456789, 2017, 10, path = dossier_archives, liste = 'rsa', pathto = tmp_dir, recent = FALSE, type = "out") dir(tmp_dir, pattern = "rsa") } # Dézipper les logs if (FALSE) { adezip(p, type = "out", liste = c('chainage.log', 'comp.log', 'log')) }