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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3771351dea8525991671f8a22a1c6f8afe66bda09418b0bef89da2d439ae4034
4
- data.tar.gz: ac43bf7f92597cc06125e7cba3042db52ad0ef6e47b6959d21e94415927e1dbd
3
+ metadata.gz: e39aba1eab8611f039048c1ca160fb7b3febb0686e33a2b6a7bb5ac2ae25854e
4
+ data.tar.gz: 4269a9386a088430c3b7255e3569c5943425f57e0b00383ff91ebc83db5b55b0
5
5
  SHA512:
6
- metadata.gz: f123d2b903b3dad61bff621bcd0a888052570bdf7900ad708513811a6f0c29be1ad36621ebbff56dcfe8130e0938bfa5c62d64fc9d924fdc8291319d09a01340
7
- data.tar.gz: 84bc1cfac57611992e4bcd377483c8fa8efa130c91b6c854bed8d98aa4af1cda4c7d625e8542201a8b2dc68628b8627b1966ee78f625a0dc600e09aa237fa4a1
6
+ metadata.gz: 045cab095664a9164182cdafec0eeb803894f6d67bd653a2ee2ac5a38521158e956041c19ef125f0bf7d14be73b7567673ae4759b251733b0b6b814be58e0669
7
+ data.tar.gz: db3a671cea700c813466095c9faa25f864910f6b5b8d2d70c8b09e5b94264af34073784e44c9ef1a5c161aea1df24b0bba1f391634cc93375862a20dd5ba7608
@@ -1,29 +1,29 @@
1
- class BasicInfoDataReader
2
- def self.read(lines)
3
- require 'yaml'
4
- template = YAML.load_file('template.yml')
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
- lines.each_with_index do |line, i|
8
- next_line = lines[i + 1]&.strip
6
+ lines.each_with_index do |line, i|
7
+ next_line = lines[i + 1]&.strip
9
8
 
10
- case line
11
- when "UDISE CODE"
12
- if next_line && (match = next_line.match(/(\d{2})\s*(\d{2})\s*(\d{2})\s*(\d{2})\s*(\d{3})/))
13
- data['basic_info']['udise_code'] = match[1..5].join('')
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
- # Clean up empty sections
25
- data['basic_info'].reject! { |_, v| v.nil? || (v.is_a?(Hash) && v.empty?) }
23
+ # Clean up empty sections
24
+ data['basic_info'].reject! { |_, v| v.nil? || (v.is_a?(Hash) && v.empty?) }
26
25
 
27
- data
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('template.yml')
130
+ data = YAML.load_file(TemplateHelper.template_path)
131
131
 
132
132
  # Extract data using readers
133
133
  basic_info_data = BasicInfoDataReader.read(lines)
@@ -0,0 +1,7 @@
1
+ module UdiseSchoolReportReader
2
+ module TemplateHelper
3
+ def self.template_path
4
+ File.expand_path('../../../template.yml', __FILE__)
5
+ end
6
+ end
7
+ end
@@ -1,3 +1,3 @@
1
1
  module UdiseSchoolReportReader
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.3"
3
3
  end
@@ -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.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