Compare commits

..

16 Commits

7 changed files with 210 additions and 137 deletions

View File

@ -5,8 +5,8 @@ composer:
dev:
link: true
require:
nulib/php: ^8.2-dev
nulib/base: ^8.2-dev
dist:
link: false
require:
nulib/php: ^0.5.0p82
nulib/base: ^0.6.0p82

View File

@ -1,3 +1,9 @@
## Release 0.6.0p82 du 30/05/2025-23:01
## Release 0.6.0p74 du 30/05/2025-22:53
migrer de nulib/php à nulib/base
## Release 0.5.0p82 du 30/04/2025-04:43
## Release 0.5.0p74 du 30/04/2025-04:39

49
README.md Normal file
View File

@ -0,0 +1,49 @@
# nulib-spout
## Release
Exemple: release de la version 0.6.0
Avant de faire une release majeure sur nulib/spout, faire d'abord la release
majeure correspondante sur
* nulib/base
~~~sh
version=0.6.0
major="${version%.*}.0"
## branche dev74
git checkout dev74
sed -ri "\
/nulib\/.*:/s/[0-9]+.[0-9]+.0p74/${major}p74/
" .composer.pman.yml
pci "maj projet"
prel -v$version
# en cas de conflit, sélectionner HEAD
_merge82
## branche dev82
git checkout dev82
sed -ri "\
/nulib\/.*:/s/[0-9]+.[0-9]+.0p82/${major}p82/
" .composer.pman.yml
pci "maj projet"
prel -C
commit="$(git log --grep="Init changelog . version ${version}p82" --format=%H)" &&
echo "commit=$commit"
git checkout dev74
git cherry-pick "$commit"
pp -a
~~~
-*- coding: utf-8 mode: markdown -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8:noeol:binary

View File

@ -1 +1 @@
0.5.0
0.6.0

View File

@ -18,7 +18,7 @@
"openspout/openspout": "v4.27.0"
},
"require": {
"nulib/php": "^0.5.0p82",
"nulib/base": "^0.6.0p82",
"ext-dom": "*",
"ext-fileinfo": "*",
"ext-filter": "*",

269
composer.lock generated
View File

@ -4,21 +4,24 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "a52c55d2e232adab0d6e67b6b6358568",
"content-hash": "d329eabc94497092305a2f9f9039340f",
"packages": [
{
"name": "nulib/php",
"version": "0.5.0p82",
"name": "nulib/base",
"version": "0.6.0p82",
"source": {
"type": "git",
"url": "https://git.univ-reunion.fr/sda-php/nulib.git",
"reference": "9f8b6545e68079728bb7349487b99024bd7d5090"
"url": "https://git.univ-reunion.fr/sda-php/nulib-base.git",
"reference": "34ef2b7bf55e45c70db2cf8f6bd814f86f47f478"
},
"require": {
"ext-json": "*",
"php": "^8.2",
"symfony/yaml": "^7.1"
},
"replace": {
"nulib/php": "<0.6.0"
},
"require-dev": {
"ext-curl": "*",
"ext-pcntl": "*",
@ -52,20 +55,20 @@
}
],
"description": "fonctions et classes essentielles",
"time": "2025-04-30T00:33:36+00:00"
"time": "2025-05-30T18:38:04+00:00"
},
{
"name": "symfony/deprecation-contracts",
"version": "v3.5.1",
"version": "v3.6.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
"reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6"
"reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6",
"reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6",
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62",
"reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62",
"shasum": ""
},
"require": {
@ -78,7 +81,7 @@
"name": "symfony/contracts"
},
"branch-alias": {
"dev-main": "3.5-dev"
"dev-main": "3.6-dev"
}
},
"autoload": {
@ -103,7 +106,7 @@
"description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.1"
"source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0"
},
"funding": [
{
@ -119,11 +122,11 @@
"type": "tidelift"
}
],
"time": "2024-09-25T14:20:29+00:00"
"time": "2024-09-25T14:21:43+00:00"
},
{
"name": "symfony/polyfill-ctype",
"version": "v1.31.0",
"version": "v1.32.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
@ -182,7 +185,7 @@
"portable"
],
"support": {
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.31.0"
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.32.0"
},
"funding": [
{
@ -202,16 +205,16 @@
},
{
"name": "symfony/yaml",
"version": "v7.2.5",
"version": "v7.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
"reference": "4c4b6f4cfcd7e52053f0c8bfad0f7f30fb924912"
"reference": "cea40a48279d58dc3efee8112634cb90141156c2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/yaml/zipball/4c4b6f4cfcd7e52053f0c8bfad0f7f30fb924912",
"reference": "4c4b6f4cfcd7e52053f0c8bfad0f7f30fb924912",
"url": "https://api.github.com/repos/symfony/yaml/zipball/cea40a48279d58dc3efee8112634cb90141156c2",
"reference": "cea40a48279d58dc3efee8112634cb90141156c2",
"shasum": ""
},
"require": {
@ -254,7 +257,7 @@
"description": "Loads and dumps YAML files",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/yaml/tree/v7.2.5"
"source": "https://github.com/symfony/yaml/tree/v7.3.0"
},
"funding": [
{
@ -270,7 +273,7 @@
"type": "tidelift"
}
],
"time": "2025-03-03T07:12:39+00:00"
"time": "2025-04-04T10:10:33+00:00"
}
],
"packages-dev": [
@ -2026,16 +2029,16 @@
},
{
"name": "phpstan/phpstan",
"version": "1.12.25",
"version": "1.12.27",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan.git",
"reference": "e310849a19e02b8bfcbb63147f495d8f872dd96f"
"reference": "3a6e423c076ab39dfedc307e2ac627ef579db162"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/e310849a19e02b8bfcbb63147f495d8f872dd96f",
"reference": "e310849a19e02b8bfcbb63147f495d8f872dd96f",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/3a6e423c076ab39dfedc307e2ac627ef579db162",
"reference": "3a6e423c076ab39dfedc307e2ac627ef579db162",
"shasum": ""
},
"require": {
@ -2080,7 +2083,7 @@
"type": "github"
}
],
"time": "2025-04-27T12:20:45+00:00"
"time": "2025-05-21T20:51:45+00:00"
},
{
"name": "phpstan/phpstan-phpunit",
@ -2506,16 +2509,16 @@
},
{
"name": "phpunit/phpunit",
"version": "10.5.45",
"version": "10.5.46",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "bd68a781d8e30348bc297449f5234b3458267ae8"
"reference": "8080be387a5be380dda48c6f41cee4a13aadab3d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/bd68a781d8e30348bc297449f5234b3458267ae8",
"reference": "bd68a781d8e30348bc297449f5234b3458267ae8",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/8080be387a5be380dda48c6f41cee4a13aadab3d",
"reference": "8080be387a5be380dda48c6f41cee4a13aadab3d",
"shasum": ""
},
"require": {
@ -2525,7 +2528,7 @@
"ext-mbstring": "*",
"ext-xml": "*",
"ext-xmlwriter": "*",
"myclabs/deep-copy": "^1.12.1",
"myclabs/deep-copy": "^1.13.1",
"phar-io/manifest": "^2.0.4",
"phar-io/version": "^3.2.1",
"php": ">=8.1",
@ -2587,7 +2590,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
"source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.45"
"source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.46"
},
"funding": [
{
@ -2598,12 +2601,20 @@
"url": "https://github.com/sebastianbergmann",
"type": "github"
},
{
"url": "https://liberapay.com/sebastianbergmann",
"type": "liberapay"
},
{
"url": "https://thanks.dev/u/gh/sebastianbergmann",
"type": "thanks_dev"
},
{
"url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit",
"type": "tidelift"
}
],
"time": "2025-02-06T16:08:12+00:00"
"time": "2025-05-02T06:46:24+00:00"
},
{
"name": "psr/cache",
@ -3335,20 +3346,20 @@
},
{
"name": "sanmai/later",
"version": "0.1.5",
"version": "0.1.7",
"source": {
"type": "git",
"url": "https://github.com/sanmai/later.git",
"reference": "cf5164557d19930295892094996f049ea12ba14d"
"reference": "72a82d783864bca90412d8a26c1878f8981fee97"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sanmai/later/zipball/cf5164557d19930295892094996f049ea12ba14d",
"reference": "cf5164557d19930295892094996f049ea12ba14d",
"url": "https://api.github.com/repos/sanmai/later/zipball/72a82d783864bca90412d8a26c1878f8981fee97",
"reference": "72a82d783864bca90412d8a26c1878f8981fee97",
"shasum": ""
},
"require": {
"php": ">=7.4"
"php": ">=8.2"
},
"require-dev": {
"ergebnis/composer-normalize": "^2.8",
@ -3387,7 +3398,7 @@
"description": "Later: deferred wrapper object",
"support": {
"issues": "https://github.com/sanmai/later/issues",
"source": "https://github.com/sanmai/later/tree/0.1.5"
"source": "https://github.com/sanmai/later/tree/0.1.7"
},
"funding": [
{
@ -3395,24 +3406,24 @@
"type": "github"
}
],
"time": "2024-12-06T02:36:26+00:00"
"time": "2025-05-11T01:48:00+00:00"
},
{
"name": "sanmai/pipeline",
"version": "6.12",
"version": "6.15",
"source": {
"type": "git",
"url": "https://github.com/sanmai/pipeline.git",
"reference": "ad7dbc3f773eeafb90d5459522fbd8f188532e25"
"reference": "a60dfb63569913f563587a0f102316a3dc24242c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sanmai/pipeline/zipball/ad7dbc3f773eeafb90d5459522fbd8f188532e25",
"reference": "ad7dbc3f773eeafb90d5459522fbd8f188532e25",
"url": "https://api.github.com/repos/sanmai/pipeline/zipball/a60dfb63569913f563587a0f102316a3dc24242c",
"reference": "a60dfb63569913f563587a0f102316a3dc24242c",
"shasum": ""
},
"require": {
"php": "^7.4 || ^8.0"
"php": ">=8.2"
},
"require-dev": {
"ergebnis/composer-normalize": "^2.8",
@ -3421,8 +3432,8 @@
"league/pipeline": "^0.3 || ^1.0",
"phan/phan": ">=1.1",
"php-coveralls/php-coveralls": "^2.4.1",
"phpstan/phpstan": ">=0.10",
"phpunit/phpunit": ">=9.4",
"phpstan/phpstan": ">=0.10 <2",
"phpunit/phpunit": ">=9.4 <12",
"vimeo/psalm": ">=2"
},
"type": "library",
@ -3452,7 +3463,7 @@
"description": "General-purpose collections pipeline",
"support": {
"issues": "https://github.com/sanmai/pipeline/issues",
"source": "https://github.com/sanmai/pipeline/tree/6.12"
"source": "https://github.com/sanmai/pipeline/tree/6.15"
},
"funding": [
{
@ -3460,7 +3471,7 @@
"type": "github"
}
],
"time": "2024-10-17T02:22:57+00:00"
"time": "2025-05-30T06:51:34+00:00"
},
{
"name": "sebastian/cli-parser",
@ -4444,23 +4455,24 @@
},
{
"name": "symfony/console",
"version": "v7.2.5",
"version": "v7.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "e51498ea18570c062e7df29d05a7003585b19b88"
"reference": "66c1440edf6f339fd82ed6c7caa76cb006211b44"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/e51498ea18570c062e7df29d05a7003585b19b88",
"reference": "e51498ea18570c062e7df29d05a7003585b19b88",
"url": "https://api.github.com/repos/symfony/console/zipball/66c1440edf6f339fd82ed6c7caa76cb006211b44",
"reference": "66c1440edf6f339fd82ed6c7caa76cb006211b44",
"shasum": ""
},
"require": {
"php": ">=8.2",
"symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-mbstring": "~1.0",
"symfony/service-contracts": "^2.5|^3",
"symfony/string": "^6.4|^7.0"
"symfony/string": "^7.2"
},
"conflict": {
"symfony/dependency-injection": "<6.4",
@ -4517,7 +4529,7 @@
"terminal"
],
"support": {
"source": "https://github.com/symfony/console/tree/v7.2.5"
"source": "https://github.com/symfony/console/tree/v7.3.0"
},
"funding": [
{
@ -4533,20 +4545,20 @@
"type": "tidelift"
}
],
"time": "2025-03-12T08:11:12+00:00"
"time": "2025-05-24T10:34:04+00:00"
},
{
"name": "symfony/event-dispatcher",
"version": "v7.2.0",
"version": "v7.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
"reference": "910c5db85a5356d0fea57680defec4e99eb9c8c1"
"reference": "497f73ac996a598c92409b44ac43b6690c4f666d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/910c5db85a5356d0fea57680defec4e99eb9c8c1",
"reference": "910c5db85a5356d0fea57680defec4e99eb9c8c1",
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/497f73ac996a598c92409b44ac43b6690c4f666d",
"reference": "497f73ac996a598c92409b44ac43b6690c4f666d",
"shasum": ""
},
"require": {
@ -4597,7 +4609,7 @@
"description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/event-dispatcher/tree/v7.2.0"
"source": "https://github.com/symfony/event-dispatcher/tree/v7.3.0"
},
"funding": [
{
@ -4613,20 +4625,20 @@
"type": "tidelift"
}
],
"time": "2024-09-25T14:21:43+00:00"
"time": "2025-04-22T09:11:45+00:00"
},
{
"name": "symfony/event-dispatcher-contracts",
"version": "v3.5.1",
"version": "v3.6.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher-contracts.git",
"reference": "7642f5e970b672283b7823222ae8ef8bbc160b9f"
"reference": "59eb412e93815df44f05f342958efa9f46b1e586"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/7642f5e970b672283b7823222ae8ef8bbc160b9f",
"reference": "7642f5e970b672283b7823222ae8ef8bbc160b9f",
"url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/59eb412e93815df44f05f342958efa9f46b1e586",
"reference": "59eb412e93815df44f05f342958efa9f46b1e586",
"shasum": ""
},
"require": {
@ -4640,7 +4652,7 @@
"name": "symfony/contracts"
},
"branch-alias": {
"dev-main": "3.5-dev"
"dev-main": "3.6-dev"
}
},
"autoload": {
@ -4673,7 +4685,7 @@
"standards"
],
"support": {
"source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.1"
"source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.6.0"
},
"funding": [
{
@ -4689,11 +4701,11 @@
"type": "tidelift"
}
],
"time": "2024-09-25T14:20:29+00:00"
"time": "2024-09-25T14:21:43+00:00"
},
{
"name": "symfony/filesystem",
"version": "v7.2.0",
"version": "v7.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
@ -4739,7 +4751,7 @@
"description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/filesystem/tree/v7.2.0"
"source": "https://github.com/symfony/filesystem/tree/v7.3.0"
},
"funding": [
{
@ -4759,16 +4771,16 @@
},
{
"name": "symfony/finder",
"version": "v7.2.2",
"version": "v7.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
"reference": "87a71856f2f56e4100373e92529eed3171695cfb"
"reference": "ec2344cf77a48253bbca6939aa3d2477773ea63d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/finder/zipball/87a71856f2f56e4100373e92529eed3171695cfb",
"reference": "87a71856f2f56e4100373e92529eed3171695cfb",
"url": "https://api.github.com/repos/symfony/finder/zipball/ec2344cf77a48253bbca6939aa3d2477773ea63d",
"reference": "ec2344cf77a48253bbca6939aa3d2477773ea63d",
"shasum": ""
},
"require": {
@ -4803,7 +4815,7 @@
"description": "Finds files and directories via an intuitive fluent interface",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/finder/tree/v7.2.2"
"source": "https://github.com/symfony/finder/tree/v7.3.0"
},
"funding": [
{
@ -4819,20 +4831,20 @@
"type": "tidelift"
}
],
"time": "2024-12-30T19:00:17+00:00"
"time": "2024-12-30T19:00:26+00:00"
},
{
"name": "symfony/options-resolver",
"version": "v7.2.0",
"version": "v7.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/options-resolver.git",
"reference": "7da8fbac9dcfef75ffc212235d76b2754ce0cf50"
"reference": "afb9a8038025e5dbc657378bfab9198d75f10fca"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/options-resolver/zipball/7da8fbac9dcfef75ffc212235d76b2754ce0cf50",
"reference": "7da8fbac9dcfef75ffc212235d76b2754ce0cf50",
"url": "https://api.github.com/repos/symfony/options-resolver/zipball/afb9a8038025e5dbc657378bfab9198d75f10fca",
"reference": "afb9a8038025e5dbc657378bfab9198d75f10fca",
"shasum": ""
},
"require": {
@ -4870,7 +4882,7 @@
"options"
],
"support": {
"source": "https://github.com/symfony/options-resolver/tree/v7.2.0"
"source": "https://github.com/symfony/options-resolver/tree/v7.3.0"
},
"funding": [
{
@ -4886,11 +4898,11 @@
"type": "tidelift"
}
],
"time": "2024-11-20T11:17:29+00:00"
"time": "2025-04-04T13:12:05+00:00"
},
{
"name": "symfony/polyfill-intl-grapheme",
"version": "v1.31.0",
"version": "v1.32.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
@ -4948,7 +4960,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.31.0"
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.32.0"
},
"funding": [
{
@ -4968,7 +4980,7 @@
},
{
"name": "symfony/polyfill-intl-normalizer",
"version": "v1.31.0",
"version": "v1.32.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
@ -5029,7 +5041,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.0"
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.32.0"
},
"funding": [
{
@ -5049,19 +5061,20 @@
},
{
"name": "symfony/polyfill-mbstring",
"version": "v1.31.0",
"version": "v1.32.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341"
"reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341",
"reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493",
"reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493",
"shasum": ""
},
"require": {
"ext-iconv": "*",
"php": ">=7.2"
},
"provide": {
@ -5109,7 +5122,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0"
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.32.0"
},
"funding": [
{
@ -5125,20 +5138,20 @@
"type": "tidelift"
}
],
"time": "2024-09-09T11:45:10+00:00"
"time": "2024-12-23T08:48:59+00:00"
},
{
"name": "symfony/polyfill-php80",
"version": "v1.31.0",
"version": "v1.32.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
"reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8"
"reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",
"reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608",
"reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608",
"shasum": ""
},
"require": {
@ -5189,7 +5202,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php80/tree/v1.31.0"
"source": "https://github.com/symfony/polyfill-php80/tree/v1.32.0"
},
"funding": [
{
@ -5205,11 +5218,11 @@
"type": "tidelift"
}
],
"time": "2024-09-09T11:45:10+00:00"
"time": "2025-01-02T08:10:11+00:00"
},
{
"name": "symfony/polyfill-php81",
"version": "v1.31.0",
"version": "v1.32.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php81.git",
@ -5265,7 +5278,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php81/tree/v1.31.0"
"source": "https://github.com/symfony/polyfill-php81/tree/v1.32.0"
},
"funding": [
{
@ -5285,16 +5298,16 @@
},
{
"name": "symfony/process",
"version": "v7.2.5",
"version": "v7.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
"reference": "87b7c93e57df9d8e39a093d32587702380ff045d"
"reference": "40c295f2deb408d5e9d2d32b8ba1dd61e36f05af"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/process/zipball/87b7c93e57df9d8e39a093d32587702380ff045d",
"reference": "87b7c93e57df9d8e39a093d32587702380ff045d",
"url": "https://api.github.com/repos/symfony/process/zipball/40c295f2deb408d5e9d2d32b8ba1dd61e36f05af",
"reference": "40c295f2deb408d5e9d2d32b8ba1dd61e36f05af",
"shasum": ""
},
"require": {
@ -5326,7 +5339,7 @@
"description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/process/tree/v7.2.5"
"source": "https://github.com/symfony/process/tree/v7.3.0"
},
"funding": [
{
@ -5342,20 +5355,20 @@
"type": "tidelift"
}
],
"time": "2025-03-13T12:21:46+00:00"
"time": "2025-04-17T09:11:12+00:00"
},
{
"name": "symfony/service-contracts",
"version": "v3.5.1",
"version": "v3.6.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
"reference": "e53260aabf78fb3d63f8d79d69ece59f80d5eda0"
"reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/e53260aabf78fb3d63f8d79d69ece59f80d5eda0",
"reference": "e53260aabf78fb3d63f8d79d69ece59f80d5eda0",
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/f021b05a130d35510bd6b25fe9053c2a8a15d5d4",
"reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4",
"shasum": ""
},
"require": {
@ -5373,7 +5386,7 @@
"name": "symfony/contracts"
},
"branch-alias": {
"dev-main": "3.5-dev"
"dev-main": "3.6-dev"
}
},
"autoload": {
@ -5409,7 +5422,7 @@
"standards"
],
"support": {
"source": "https://github.com/symfony/service-contracts/tree/v3.5.1"
"source": "https://github.com/symfony/service-contracts/tree/v3.6.0"
},
"funding": [
{
@ -5425,11 +5438,11 @@
"type": "tidelift"
}
],
"time": "2024-09-25T14:20:29+00:00"
"time": "2025-04-25T09:37:31+00:00"
},
{
"name": "symfony/stopwatch",
"version": "v7.2.4",
"version": "v7.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/stopwatch.git",
@ -5471,7 +5484,7 @@
"description": "Provides a way to profile code",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/stopwatch/tree/v7.2.4"
"source": "https://github.com/symfony/stopwatch/tree/v7.3.0"
},
"funding": [
{
@ -5491,16 +5504,16 @@
},
{
"name": "symfony/string",
"version": "v7.2.0",
"version": "v7.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
"reference": "446e0d146f991dde3e73f45f2c97a9faad773c82"
"reference": "f3570b8c61ca887a9e2938e85cb6458515d2b125"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/string/zipball/446e0d146f991dde3e73f45f2c97a9faad773c82",
"reference": "446e0d146f991dde3e73f45f2c97a9faad773c82",
"url": "https://api.github.com/repos/symfony/string/zipball/f3570b8c61ca887a9e2938e85cb6458515d2b125",
"reference": "f3570b8c61ca887a9e2938e85cb6458515d2b125",
"shasum": ""
},
"require": {
@ -5558,7 +5571,7 @@
"utf8"
],
"support": {
"source": "https://github.com/symfony/string/tree/v7.2.0"
"source": "https://github.com/symfony/string/tree/v7.3.0"
},
"funding": [
{
@ -5574,20 +5587,20 @@
"type": "tidelift"
}
],
"time": "2024-11-13T13:31:26+00:00"
"time": "2025-04-20T20:19:01+00:00"
},
{
"name": "thecodingmachine/safe",
"version": "v3.1.1",
"version": "v3.3.0",
"source": {
"type": "git",
"url": "https://github.com/thecodingmachine/safe.git",
"reference": "234f6fe34a0bead8c5ae1cfc0800539442e6f619"
"reference": "2cdd579eeaa2e78e51c7509b50cc9fb89a956236"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thecodingmachine/safe/zipball/234f6fe34a0bead8c5ae1cfc0800539442e6f619",
"reference": "234f6fe34a0bead8c5ae1cfc0800539442e6f619",
"url": "https://api.github.com/repos/thecodingmachine/safe/zipball/2cdd579eeaa2e78e51c7509b50cc9fb89a956236",
"reference": "2cdd579eeaa2e78e51c7509b50cc9fb89a956236",
"shasum": ""
},
"require": {
@ -5697,7 +5710,7 @@
"description": "PHP core functions that throw exceptions instead of returning FALSE on error",
"support": {
"issues": "https://github.com/thecodingmachine/safe/issues",
"source": "https://github.com/thecodingmachine/safe/tree/v3.1.1"
"source": "https://github.com/thecodingmachine/safe/tree/v3.3.0"
},
"funding": [
{
@ -5713,7 +5726,7 @@
"type": "github"
}
],
"time": "2025-04-28T07:56:17+00:00"
"time": "2025-05-14T06:15:44+00:00"
},
{
"name": "theseer/tokenizer",

View File

@ -3,7 +3,10 @@ namespace nulib\ext\spout;
use nulib\cl;
use nulib\file\tab\AbstractReader;
use OpenSpout\Reader\Common\Creator\ReaderEntityFactory;
use nulib\ValueException;
use OpenSpout\Reader\CSV\Reader as CsvReader;
use OpenSpout\Reader\ODS\Reader as ODSReader;
use OpenSpout\Reader\XLSX\Reader as XLSXReader;
class SpoutReader extends AbstractReader {
/** @var string|int|null nom de la feuille depuis laquelle lire */
@ -67,14 +70,16 @@ class SpoutReader extends AbstractReader {
function getIterator() {
switch ($this->ssType) {
case "ods":
$ss = ReaderEntityFactory::createODSReader();
$ss = new ODSReader();
break;
case "xlsx":
$ss = ReaderEntityFactory::createXLSXReader();
$ss = new XLSXReader();
break;
case "csv":
$ss = new CsvReader();
break;
default:
$ss = ReaderEntityFactory::createReaderFromFile($this->input);
break;
throw ValueException::invalid_kind($this->ssType, "file type");
}
$ss->open($this->input);
try {