slaw 0.3.2 → 0.4.1

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
  SHA1:
3
- metadata.gz: 30ad1ae5e3d2aadfcf89800d91f16f0c0b38620f
4
- data.tar.gz: c93431db28804db785afda0dae9684bad5a62dbd
3
+ metadata.gz: 017be61dfca724d0875193ce8043557300bb1a45
4
+ data.tar.gz: b42b32a4e9eb80761b856e343d0c2c278c934adb
5
5
  SHA512:
6
- metadata.gz: 2a0881b4ba4225943bd4b491f7385ba7b70125301c0aed149f70144991c1fec5ee3bdee49d56123848abecd94fd6c9b73f06c15ca66b00e08e50d46dada2f6b3
7
- data.tar.gz: fa04f689a4a136067fe4b22961d6d6b5597ded5807cddb2b9fa7e620a25982ef31ed830e50df8a30e62300b3e51c79df5478020d74a391262981a41d50ae1311
6
+ metadata.gz: b2654b2c2242caff29794f601bfcccd8b6898ed1879e0ccf35bbdebfc3ed511bf68cbf2d5ad63eb4c6b3c898cbe9674686c1e4233198aa4e8ae85192ac6c63d1
7
+ data.tar.gz: ffd5e6fa31da9d4fb9c3766fcd850994418a108fb364eac9eab873b394ea0c9ba50c039deeffd5abd94eeeee7c5068c4399faf8503006d4795aa3a5990e33528
data/README.md CHANGED
@@ -31,12 +31,16 @@ Or install it with:
31
31
  To run PDF extraction you will also need [xpdf](http://www.foolabs.com/xpdf/) and
32
32
  If you're on a Mac, you can use:
33
33
 
34
- brew install xpdf
34
+ $ brew install xpdf
35
35
 
36
36
  You may also need Ghostscript to remove password protection from PDF files. This is
37
37
  installed by default on most systems (including Mac). On Ubuntu you can use:
38
38
 
39
- sudo apt-get install ghostscript
39
+ $ sudo apt-get install ghostscript
40
+
41
+ The simplest way to use Slaw is via the commandline:
42
+
43
+ $ slaw convert myfile.pdf
40
44
 
41
45
  ## Overview
42
46
 
data/bin/slaw ADDED
@@ -0,0 +1,36 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'thor'
4
+ require 'slaw'
5
+
6
+ class SlawCLI < Thor
7
+ desc "convert FILE", "convert FILE into Akoma Ntoso XML"
8
+ option :input, enum: ['text', 'pdf'], desc: "Type of input, determined by file extension by default."
9
+ option :output, enum: ['text', 'xml'], default: 'xml', desc: "Type of output required."
10
+
11
+ # TODO: support different grammars and locales
12
+
13
+ def convert(name)
14
+ extractor = Slaw::Extract::Extractor.new
15
+
16
+ case options[:input]
17
+ when 'pdf'
18
+ text = extractor.extract_from_pdf(name)
19
+ when 'text'
20
+ text = extractor.extract_from_text(name)
21
+ else
22
+ text = extractor.extract_from_file(name)
23
+ end
24
+
25
+ case options[:output]
26
+ when 'text'
27
+ puts text
28
+ when 'xml'
29
+ generator = Slaw::ZA::BylawGenerator.new
30
+ bylaw = generator.generate_from_text(text)
31
+ puts bylaw.to_xml(indent: 2)
32
+ end
33
+ end
34
+ end
35
+
36
+ SlawCLI.start(ARGV)
@@ -85,9 +85,9 @@ module Slaw
85
85
  logger.info("Parsed!")
86
86
 
87
87
  if tree.nil?
88
- raise Slaw::Parse::ParseError.new(parser.failure_reason || "Couldn't match to grammar",
89
- line: parser.failure_line || 0,
90
- column: parser.failure_column || 0)
88
+ raise Slaw::Parse::ParseError.new(@parser.failure_reason || "Couldn't match to grammar",
89
+ line: @parser.failure_line || 0,
90
+ column: @parser.failure_column || 0)
91
91
  end
92
92
 
93
93
  tree
data/lib/slaw/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Slaw
2
- VERSION = "0.3.2"
2
+ VERSION = "0.4.1"
3
3
  end
data/slaw.gemspec CHANGED
@@ -26,4 +26,5 @@ Gem::Specification.new do |spec|
26
26
  spec.add_runtime_dependency "treetop", "~> 1.5"
27
27
  spec.add_runtime_dependency "builder", "~> 3.2.2"
28
28
  spec.add_runtime_dependency "log4r", "~> 1.1.10"
29
+ spec.add_runtime_dependency "thor", "~> 0.19.1"
29
30
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slaw
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Greg Kempe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-07 00:00:00.000000000 Z
11
+ date: 2015-03-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -108,11 +108,26 @@ dependencies:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
110
  version: 1.1.10
111
+ - !ruby/object:Gem::Dependency
112
+ name: thor
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: 0.19.1
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: 0.19.1
111
125
  description: Slaw is a lightweight library for rendering and generating Akoma Ntoso
112
126
  acts from plain text and PDF documents.
113
127
  email:
114
128
  - greg@kempe.net
115
- executables: []
129
+ executables:
130
+ - slaw
116
131
  extensions: []
117
132
  extra_rdoc_files: []
118
133
  files:
@@ -122,6 +137,7 @@ files:
122
137
  - LICENSE.txt
123
138
  - README.md
124
139
  - Rakefile
140
+ - bin/slaw
125
141
  - lib/slaw.rb
126
142
  - lib/slaw/act.rb
127
143
  - lib/slaw/bylaw.rb
@@ -175,7 +191,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
175
191
  version: '0'
176
192
  requirements: []
177
193
  rubyforge_project:
178
- rubygems_version: 2.2.2
194
+ rubygems_version: 2.4.6
179
195
  signing_key:
180
196
  specification_version: 4
181
197
  summary: A lightweight library for using Akoma Ntoso acts in Ruby.