Skip to content

Commit 3060821

Browse files
committed
feat: update code using functions new names and response body's
1 parent 7617fed commit 3060821

File tree

1 file changed

+29
-40
lines changed

1 file changed

+29
-40
lines changed

csv/write.go

Lines changed: 29 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ import (
99
"strconv"
1010
)
1111

12-
func Write(fileName string, folderName string, responses []models.ResponseBody) error {
12+
// WriteLawsuits writes two CSV files with the given file name and folder name, and the data from the responses. One file for the Lawsuits and another for the lawsuit movements
13+
func WriteLawsuits(fileName string, folderName string, responses []models.ResponseBodyLawsuit) error {
1314
err := writeLawsuits(fileName, folderName, responses)
1415
if err != nil {
1516
return err
@@ -21,8 +22,17 @@ func Write(fileName string, folderName string, responses []models.ResponseBody)
2122
return nil
2223
}
2324

24-
// WriteLawsuits writes a CSV file with the given file name and folder name, and the data from the responses.
25-
func writeLawsuits(fileName string, folderName string, responses []models.ResponseBody) error {
25+
// createFile function takes in a file path and creates a file in the specified directory. It returns a pointer to the created file and an error if there is any.
26+
func createFile(p string) (*os.File, error) {
27+
if err := os.MkdirAll(filepath.Dir(p), 0770); err != nil {
28+
log.Println(err)
29+
return nil, err
30+
}
31+
return os.Create(p)
32+
}
33+
34+
// writeLawsuits writes a CSV file with the given file name and folder name, and the data from the responses.
35+
func writeLawsuits(fileName string, folderName string, responses []models.ResponseBodyLawsuit) error {
2636
// Create a slice to hold all the rows for the CSV file
2737
var rows [][]string
2838

@@ -35,7 +45,7 @@ func writeLawsuits(fileName string, folderName string, responses []models.Respon
3545
}
3646

3747
// Create the CSV file
38-
cf, err := createFile(folderName + "/" + fileName + "requests.csv")
48+
cf, err := createFile(folderName + "/" + fileName + "requestsLawsuits.csv")
3949
if err != nil {
4050
log.Println(err)
4151
return err
@@ -57,15 +67,6 @@ func writeLawsuits(fileName string, folderName string, responses []models.Respon
5767
return nil
5868
}
5969

60-
// createFile function takes in a file path and creates a file in the specified directory. It returns a pointer to the created file and an error if there is any.
61-
func createFile(p string) (*os.File, error) {
62-
if err := os.MkdirAll(filepath.Dir(p), 0770); err != nil {
63-
log.Println(err)
64-
return nil, err
65-
}
66-
return os.Create(p)
67-
}
68-
6970
// generateHeadersLawsuits function returns a slice of strings containing the header values for the CSV file.
7071
func generateHeadersLawsuits() []string {
7172
return []string{
@@ -105,33 +106,9 @@ func generateHeadersLawsuits() []string {
105106
}
106107

107108
// generateRowLawsuits function takes in a single models.WriteStruct argument and returns a slice of strings containing the values to be written in a row of the CSV file.
108-
func generateRowLawsuits(response models.ResponseBody) [][]string {
109+
func generateRowLawsuits(response models.ResponseBodyLawsuit) [][]string {
109110
var rows [][]string
110111

111-
// Create subject codes string
112-
var subjectsCodes string
113-
for _, hit := range response.Hit.Hits {
114-
for i, s := range hit.Source.Subjects {
115-
if i != 0 {
116-
subjectsCodes += " | " + strconv.Itoa(s.Code)
117-
} else {
118-
subjectsCodes += strconv.Itoa(s.Code)
119-
}
120-
}
121-
}
122-
123-
// Create subject string
124-
var subjects string
125-
for _, hit := range response.Hit.Hits {
126-
for i, s := range hit.Source.Subjects {
127-
if i != 0 {
128-
subjects += " | " + s.Name
129-
} else {
130-
subjects += s.Name
131-
}
132-
}
133-
}
134-
135112
for _, lawsuit := range response.Hit.Hits {
136113
row := []string{
137114
// All those that repeat
@@ -168,6 +145,18 @@ func generateRowLawsuits(response models.ResponseBody) [][]string {
168145
row = append(row, strconv.Itoa(lawsuit.Source.CourtInstance.CountyCodeIBGE))
169146
row = append(row, strconv.Itoa(lawsuit.Source.CourtInstance.Code))
170147
row = append(row, lawsuit.Source.CourtInstance.Name)
148+
149+
var subjectsCodes string
150+
var subjects string
151+
for j, s := range lawsuit.Source.Subjects {
152+
if j != 0 {
153+
subjects += " | " + s.Name
154+
subjectsCodes += " | " + strconv.Itoa(s.Code)
155+
} else {
156+
subjects += s.Name
157+
subjectsCodes += strconv.Itoa(s.Code)
158+
}
159+
}
171160
row = append(row, subjectsCodes)
172161
row = append(row, subjects)
173162
rows = append(rows, row)
@@ -177,7 +166,7 @@ func generateRowLawsuits(response models.ResponseBody) [][]string {
177166
}
178167

179168
// WriteMovements writes a CSV file with the given file name and folder name, and the data from the responses.
180-
func writeMovements(fileName string, folderName string, responses []models.ResponseBody) error {
169+
func writeMovements(fileName string, folderName string, responses []models.ResponseBodyLawsuit) error {
181170
// Create a slice to hold all the rows for the CSV file
182171
var rows [][]string
183172

@@ -228,7 +217,7 @@ func generateHeadersMovements() []string {
228217
}
229218

230219
// generateRowLawsuits function takes in a single models.WriteStruct argument and returns a slice of strings containing the values to be written in a row of the CSV file.
231-
func generateRowMovements(response models.ResponseBody) [][]string {
220+
func generateRowMovements(response models.ResponseBodyLawsuit) [][]string {
232221
var rows [][]string
233222

234223
for _, lawsuit := range response.Hit.Hits {

0 commit comments

Comments
 (0)