udise_school_report_reader 0.1.1 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/udise_school_report_reader/basic_info_data_reader.rb +21 -21
- data/lib/udise_school_report_reader/school_report_parser.rb +1 -1
- data/lib/udise_school_report_reader/template_helper.rb +7 -0
- data/lib/udise_school_report_reader/version.rb +1 -1
- data/lib/udise_school_report_reader.rb +1 -0
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e39aba1eab8611f039048c1ca160fb7b3febb0686e33a2b6a7bb5ac2ae25854e
|
4
|
+
data.tar.gz: 4269a9386a088430c3b7255e3569c5943425f57e0b00383ff91ebc83db5b55b0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 045cab095664a9164182cdafec0eeb803894f6d67bd653a2ee2ac5a38521158e956041c19ef125f0bf7d14be73b7567673ae4759b251733b0b6b814be58e0669
|
7
|
+
data.tar.gz: db3a671cea700c813466095c9faa25f864910f6b5b8d2d70c8b09e5b94264af34073784e44c9ef1a5c161aea1df24b0bba1f391634cc93375862a20dd5ba7608
|
@@ -1,29 +1,29 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
data = { 'basic_info' => template['basic_info'] }
|
1
|
+
module UdiseSchoolReportReader
|
2
|
+
class BasicInfoDataReader
|
3
|
+
def self.read(lines)
|
4
|
+
data = YAML.load_file(TemplateHelper.template_path)
|
6
5
|
|
7
|
-
|
8
|
-
|
6
|
+
lines.each_with_index do |line, i|
|
7
|
+
next_line = lines[i + 1]&.strip
|
9
8
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
9
|
+
case line
|
10
|
+
when "UDISE CODE"
|
11
|
+
if next_line && (match = next_line.match(/(\d{2})\s*(\d{2})\s*(\d{2})\s*(\d{2})\s*(\d{3})/))
|
12
|
+
data['basic_info']['udise_code'] = match[1..5].join('')
|
13
|
+
end
|
14
|
+
when "School Name"
|
15
|
+
if next_line && next_line.include?("CARMEL")
|
16
|
+
data['basic_info']['name'] = next_line
|
17
|
+
end
|
18
|
+
when /Academic Year.*:\s*(\d{4}-\d{2})/
|
19
|
+
data['basic_info']['academic_year'] = $1
|
14
20
|
end
|
15
|
-
when "School Name"
|
16
|
-
if next_line && next_line.include?("CARMEL")
|
17
|
-
data['basic_info']['name'] = next_line
|
18
|
-
end
|
19
|
-
when /Academic Year.*:\s*(\d{4}-\d{2})/
|
20
|
-
data['basic_info']['academic_year'] = $1
|
21
21
|
end
|
22
|
-
end
|
23
22
|
|
24
|
-
|
25
|
-
|
23
|
+
# Clean up empty sections
|
24
|
+
data['basic_info'].reject! { |_, v| v.nil? || (v.is_a?(Hash) && v.empty?) }
|
26
25
|
|
27
|
-
|
26
|
+
data
|
27
|
+
end
|
28
28
|
end
|
29
29
|
end
|
@@ -127,7 +127,7 @@ module UdiseSchoolReportReader
|
|
127
127
|
lines = compressed_content.split("\n").map { |line| line.strip.gsub(/\\/, '') } # Remove escape characters
|
128
128
|
|
129
129
|
# Load template as base structure
|
130
|
-
data = YAML.load_file(
|
130
|
+
data = YAML.load_file(TemplateHelper.template_path)
|
131
131
|
|
132
132
|
# Extract data using readers
|
133
133
|
basic_info_data = BasicInfoDataReader.read(lines)
|
@@ -1,6 +1,7 @@
|
|
1
1
|
require "udise_school_report_reader/version"
|
2
2
|
|
3
3
|
# Core functionality
|
4
|
+
require_relative "udise_school_report_reader/template_helper"
|
4
5
|
require_relative "udise_school_report_reader/pdf_block_extractor"
|
5
6
|
require_relative "udise_school_report_reader/pdf_rectangle_extractor"
|
6
7
|
require_relative "udise_school_report_reader/pdf_content_compressor"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: udise_school_report_reader
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Syed Fazil Basheer
|
@@ -134,6 +134,7 @@ files:
|
|
134
134
|
- lib/udise_school_report_reader/sanitation_data_reader.rb
|
135
135
|
- lib/udise_school_report_reader/school_report_parser.rb
|
136
136
|
- lib/udise_school_report_reader/teacher_data_reader.rb
|
137
|
+
- lib/udise_school_report_reader/template_helper.rb
|
137
138
|
- lib/udise_school_report_reader/version.rb
|
138
139
|
- template.yml
|
139
140
|
- test/school_report_parser_test.rb
|