@@ -28,17 +28,7 @@ def initialize_results
28
28
end
29
29
30
30
def process_upload
31
- parse_csv . each { |row | process_row ( row ) }
32
- rescue CSV ::MalformedCSVError => e
33
- handle_csv_error ( e )
34
- end
35
-
36
- def parse_csv
37
- csv = CSV . parse ( File . read ( @file_path ) , headers : true )
38
- raise CSV ::MalformedCSVError , "Missing required headers" unless %w[ URL DOC_ID ] . all? { |col | csv . headers . include? ( col ) }
39
- csv
40
- rescue CSV ::MalformedCSVError , ArgumentError => e
41
- raise CSV ::MalformedCSVError . new ( 'CSV' , "Malformed or invalid CSV: #{ e . message } " )
31
+ CSV . parse ( File . read ( @file_path ) , headers : true ) . each { |row | process_row ( row ) }
42
32
end
43
33
44
34
def process_row ( row )
@@ -53,7 +43,7 @@ def process_row(row)
53
43
end
54
44
55
45
def handle_url_processing ( url , document_id , row )
56
- process_url_with_rescue ( url , document_id )
46
+ process_url ( url , document_id )
57
47
update_results
58
48
rescue StandardError => e
59
49
handle_processing_error ( e , url , document_id , row )
@@ -69,26 +59,15 @@ def log_missing_document_id(row, url)
69
59
Rails . logger . error ( "Skipping row: #{ row . inspect } . Document ID is mandatory." )
70
60
end
71
61
72
- def handle_csv_error ( error )
73
- @results . add_error ( 'Invalid CSV format' , 'Entire file' )
74
- Rails . logger . error ( "Error parsing CSV: #{ error . message } " )
75
- end
76
-
77
62
def log_upload_error ( error )
78
63
error_message = "Failed to process bulk zombie URL document (file: #{ @file_name } )."
79
- backtrace = error . backtrace ? error . backtrace . join ( "\n " ) : 'No backtrace available'
80
- Rails . logger . error ( "#{ error_message } Error: #{ error . message } \n #{ backtrace } " )
64
+ Rails . logger . error ( error_message , error )
81
65
end
82
66
83
67
def handle_processing_error ( error , url , document_id , row )
84
68
key = url . presence || document_id
85
69
@results &.add_error ( error . message , key )
86
- backtrace = error . backtrace ? error . backtrace . join ( "\n " ) : 'No backtrace available'
87
- Rails . logger . error ( "Failure to process bulk upload zombie URL row: #{ row . inspect } \n #{ error . message } \n #{ backtrace } " )
88
- end
89
-
90
- def process_url_with_rescue ( url , document_id )
91
- process_url ( url , document_id )
70
+ Rails . logger . error ( 'Failure to process bulk upload zombie URL row:' , error )
92
71
end
93
72
94
73
def process_url ( url , document_id )
0 commit comments