Skip to content

Commit 6647b0e

Browse files
Rename demo.csv_reader to demo.file.csv_reader. Add demo.file.[file_reader|input_csv_reader|input_file_reader|input_line_reader|line_reader]. Add substr as generic transformer. Add sample.txt file.
1 parent 3c8161f commit 6647b0e

8 files changed

+164
-2
lines changed

config/packages/cleverage_process.yaml

+11
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,14 @@ clever_age_process:
2121
callback:
2222
callback: json_decode
2323
right_parameters: [ true ] # $associative: When true, JSON objects will be returned as associative arrays
24+
substr:
25+
contextual_options:
26+
offset:
27+
required: true
28+
length:
29+
default_is_null: true
30+
transformers:
31+
callback:
32+
callback: substr
33+
right_parameters: [ '{{ offset }}', '{{ length }}' ]
34+

config/packages/process/demo.csv_reader.yaml renamed to config/packages/process/demo.file.csv_reader.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
clever_age_process:
22
configurations:
3-
demo.csv_reader:
3+
demo.file.csv_reader:
44
description: >
55
A simple process which read a specific csv to log/debug each line
66
help: >
7-
Ex: bin/console cleverage:process:execute demo.csv_reader
7+
Ex: bin/console cleverage:process:execute demo.file.csv_reader
88
options:
99
ui:
1010
source: Bar
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
clever_age_process:
2+
configurations:
3+
demo.file.file_reader:
4+
description: >
5+
A sample process to read a file from local storage and debug content
6+
help: >
7+
bin/console cleverage:process:execute demo.file.file_reader
8+
options:
9+
ui:
10+
source: Bar
11+
target: Foo
12+
tasks:
13+
entry:
14+
service: '@CleverAge\ProcessBundle\Task\File\FileReaderTask'
15+
options:
16+
filename: '%kernel.project_dir%/var/data/sample.txt'
17+
outputs: debug
18+
debug:
19+
service: '@CleverAge\ProcessBundle\Task\Debug\DebugTask'
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
clever_age_process:
2+
configurations:
3+
demo.file.input_csv_reader:
4+
description: >
5+
A simple process which read all csv from a specific directory to log/debug each line
6+
help: >
7+
Ex: bin/console cleverage:process:execute demo.file.input_csv_reader
8+
options:
9+
ui:
10+
source: Bar
11+
target: Foo
12+
tasks:
13+
entry:
14+
service: '@CleverAge\ProcessBundle\Task\File\FolderBrowserTask'
15+
options:
16+
folder_path: '%kernel.project_dir%/var/data'
17+
name_pattern: '*.csv'
18+
outputs: read
19+
read:
20+
service: '@CleverAge\ProcessBundle\Task\File\Csv\InputCsvReaderTask'
21+
outputs: [ log_line, dump ]
22+
log_line:
23+
service: '@CleverAge\ProcessBundle\Task\Reporting\LoggerTask'
24+
options:
25+
message: Read line
26+
level: info
27+
dump:
28+
service: '@CleverAge\ProcessBundle\Task\Debug\DebugTask'
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
clever_age_process:
2+
configurations:
3+
demo.file.input_file_reader:
4+
description: >
5+
A simple process which read all files from a specific directory to debug content
6+
help: >
7+
bin/console cleverage:process:execute demo.file.input_file_reader
8+
options:
9+
ui:
10+
source: Bar
11+
target: Foo
12+
tasks:
13+
entry:
14+
service: '@CleverAge\ProcessBundle\Task\File\FolderBrowserTask'
15+
options:
16+
folder_path: '%kernel.project_dir%/var/data'
17+
outputs: read
18+
read:
19+
service: '@CleverAge\ProcessBundle\Task\File\InputFileReaderTask'
20+
outputs: debug
21+
debug:
22+
service: '@CleverAge\ProcessBundle\Task\Debug\DebugTask'
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
clever_age_process:
2+
configurations:
3+
demo.file.input_line_reader:
4+
description: >
5+
A simple process which read all files from a specific directory to log/debug each line
6+
help: >
7+
bin/console cleverage:process:execute demo.file.input_line_reader
8+
options:
9+
ui:
10+
source: Bar
11+
target: Foo
12+
tasks:
13+
entry:
14+
service: '@CleverAge\ProcessBundle\Task\File\FolderBrowserTask'
15+
options:
16+
folder_path: '%kernel.project_dir%/var/data'
17+
outputs: read
18+
read:
19+
service: '@CleverAge\ProcessBundle\Task\File\InputLineReaderTask'
20+
outputs: [ log_line, dump ]
21+
log_line:
22+
service: '@CleverAge\ProcessBundle\Task\Reporting\LoggerTask'
23+
options:
24+
message: Read line
25+
level: info
26+
dump:
27+
service: '@CleverAge\ProcessBundle\Task\Debug\DebugTask'
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
clever_age_process:
2+
configurations:
3+
demo.file.line_reader:
4+
description: >
5+
A simple process which read each line of a specific file to extract data from specific offsets
6+
help: >
7+
bin/console cleverage:process:execute demo.file.line_reader
8+
options:
9+
ui:
10+
source: Bar
11+
target: Foo
12+
tasks:
13+
entry:
14+
service: '@CleverAge\ProcessBundle\Task\File\LineReaderTask'
15+
options:
16+
filename: '%kernel.project_dir%/var/data/sample.txt'
17+
outputs: array
18+
array:
19+
service: '@CleverAge\ProcessBundle\Task\InputAggregatorTask'
20+
options:
21+
input_codes: { entry: entry }
22+
outputs: transform
23+
transform:
24+
service: '@CleverAge\ProcessBundle\Task\TransformerTask'
25+
options:
26+
transformers:
27+
mapping:
28+
mapping:
29+
id:
30+
code: '[entry]'
31+
transformers:
32+
substr:
33+
offset: 0
34+
length: 6
35+
trim: ~
36+
title:
37+
code: '[entry]'
38+
transformers:
39+
substr:
40+
offset: 6
41+
length: 13
42+
trim: ~
43+
description:
44+
code: '[entry]'
45+
transformers:
46+
substr:
47+
offset: 19
48+
length: 20
49+
trim: ~
50+
outputs: debug
51+
debug:
52+
service: '@CleverAge\ProcessBundle\Task\Debug\DebugTask'

var/data/sample.txt

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
0001 TEST 1 ANOTHER TEST 1
2+
0021 TEST 21 TEST 21-2
3+
2025 TEST 2025 2025 TEST

0 commit comments

Comments
 (0)