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,
  ...
)

Arguments

...

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 noyau_pmeasyr

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, liste = "" dezippe la totalite de l'archive.

pathto

Par defaut la même valeur que path, dézipper dans le même répertoire que l'archive, sinon préciser le chemin ou dezipper les fichiers dans le répertoire indiqué par pathto.

type

Type de l'archive : in ou out.

recent

par défaut TRUE, l'archive la plus recente sera utilisee, sinon propose à l'utilisateur de choisir quelle archive dezipper

nom_archive

Nom de l'archive à décompresser dans le dossier path. Par défaut, NULL, n'utilise pas ce paramètre. Si le chemin est spécifié, alors les paramètres finess, annee, mois et recent ne sont pas utilisés.

quiet

Affichage d'un message au dézippage TRUE / FALSE

Value

Les chemins d'accès des fichiers décompressés, de manière invisible.

Details

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).

See also

adezip2, astat, adelete, utiliser un noyau de parametres avec noyau_pmeasyr

utils::unzip()

Author

G. Pressiat

Examples

# 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")
#> #> Dézippage de l'archive 123456789.2016.2.18032016182636.out.zip #> Taille : 0.0072 Mo #> Type : out #> Finess : 123456789 #> Période : 2016 M2 #> Date prod : 2016-03-18 18:26:36 #> Fichiers : med
dir(tmp_dir)
#> [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")
#> #> Dézippage de l'archive 123456789.2016.2.15032016152413.in.zip #> Taille : 0.0023 Mo #> Type : in #> Finess : 123456789 #> Période : 2016 M2 #> Date prod : 2016-03-15 15:24:13 #> Fichiers : ano, med
dir(tmp_dir)
#> [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)
#> #> Dézippage de l'archive 123456789.2016.12.16132016131502.in.zip #> Taille : 0.0023 Mo #> Type : in #> Finess : 123456789 #> Période : 2016 M12 #> Date prod : NA #> Fichiers : Tous
dir(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)
#> #> Dézippage de l'archive 123456789.2016.11.25122016154608.in.zip #> Taille : 0.0023 Mo #> Type : in #> Finess : 123456789 #> Période : 2016 M11 #> Date prod : 2016-12-25 15:46:08 #> Fichiers : Tous
dir(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")
#> #> Dézippage de l'archive 123456789.2017.10.24112017182343.out.zip #> Taille : 0.0067 Mo #> Type : out #> Finess : 123456789 #> Période : 2017 M10 #> Date prod : 2017-11-24 18:23:43 #> Fichiers : med
dir(tmp_dir, pattern = "med")
#> [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')) }