webscraper_framework 0.1.716 → 0.1.717

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 31af37c23a03169654f0f1b683440cdf16376082
4
- data.tar.gz: 274271e6ee96136e10b5bbb018f8ad1529020714
3
+ metadata.gz: 9c43021752c03d1223f4e2ceb8c9d71341db09a0
4
+ data.tar.gz: a62c5fb9fd2e89984dd55a4b9ba695cb68930c3c
5
5
  SHA512:
6
- metadata.gz: 590a88fc7ebbe4bc53b5b1763cfe7dfc0ef34430fce1665531226bbbe944d9a923579683873a55ebe5fbc9c2a33e5a8dc6bf2f217b69c16b0c2a41ed208b6401
7
- data.tar.gz: 16ee4ceb2d13c3b6729b86dd31f99421850a999e96cd51387aa830cd7a3bc51a6c049ebf67ba4483c3a4d3bee7d40080942581935982884dba97d1724a6e6c29
6
+ metadata.gz: ebc950f510dca10b78d8ea108482d2249ceffea71cede15653114577fa2b17ff6a55e8812cc4aed9476f926db6af5ccbab22c007d839202a499e392400e2007d
7
+ data.tar.gz: a8a88c4f997f3f8c707908d5af55138f4c21e365a075974915da4fa0747b508f1a6264b3ba54da65a18db614f245c657d5105ddf46c97e4b1ac8ec2153e21397
@@ -1,9 +1,24 @@
1
1
  require 'yaml'
2
+
3
+
4
+
5
+ require 'active_support/all'
6
+
7
+
2
8
  module WebscraperFramework
3
9
  class Application
10
+
11
+
12
+ def render_file(file, params= {})
13
+ gemdir = Gem.loaded_specs["webscraper_framework"].gem_dir
14
+ base_template = File.read(gemdir + "/views/base.html.haml")
15
+ content = Haml::Engine.new(File.read(gemdir + "/views/#{file}.html.haml")).render(Object.new, models: MODELS, scrapers: SCRAPERS, **params)
16
+ return Haml::Engine.new(base_template).render(Object.new, content: content, models: MODELS, scrapers: SCRAPERS)
17
+ end
18
+
4
19
  def initialize
5
20
 
6
- model_files = Dir["./models/*"]
21
+ model_files = Dir["./modelodels/*"]
7
22
  helper_files = Dir["./helpers/*"]
8
23
  scraper_files = Dir["./scrapers/*"]
9
24
 
@@ -14,6 +29,70 @@ module WebscraperFramework
14
29
  puts helper_files
15
30
  puts scraper_files
16
31
  puts "-"
32
+
33
+
34
+
35
+
36
+ data = {}
37
+
38
+ SCRAPERS = []
39
+ MODELS = []
40
+
41
+ model_files.each do |filename|
42
+ require filename
43
+ puts filename
44
+ MODELS << Object.const_get(filename.split("/").last.split(".").first.camelize)
45
+ end
46
+
47
+ helper_files.each do |filename|
48
+ require filename
49
+ puts filename
50
+ end
51
+
52
+ scraper_files.each do |filename|
53
+ require filename
54
+ puts filename
55
+ SCRAPERS << Object.const_get(filename.split("/").last.split(".").first.camelize)
56
+ Object.const_get(filename.split("/").last.split(".").first.camelize).data
57
+ end
58
+
59
+
60
+
61
+
62
+ ## System routes
63
+
64
+ get '/' do
65
+ render_file("home")
66
+ end
67
+
68
+ get '/models' do
69
+ render_file("models")
70
+ end
71
+
72
+ get '/scrapers' do
73
+ render_file("scrapers")
74
+ end
75
+
76
+
77
+ get '/models/:name/csv' do
78
+
79
+ content_type 'application/csv'
80
+ attachment "myfilename.csv"
81
+ m = MODELS.select { |model| params[:name] == model.name.underscore }.first
82
+ csv_string = CSV.generate(col_sep: ";") do |csv|
83
+ header_row = ["id"] + m.fields
84
+ m.all.each do |id, obj|
85
+ csv << [id] + m.fields.map {|a| obj[a]}
86
+ end
87
+ end
88
+ # render_file("model", { })
89
+ end
90
+ get '/models/:name' do
91
+ render_file("model", {model: MODELS.select { |model| params[:name] == model.name.underscore }.first })
92
+ end
93
+
94
+
95
+ puts MODELS
17
96
  end
18
97
  end
19
98
  end
@@ -46,9 +46,18 @@ module WebscraperFramework
46
46
  `mkdir #{project_name}`
47
47
  if File.directory?("./#{project_name}")
48
48
  puts "#{"[Success]".green.bold} created directory!\t ./#{project_name}/"
49
+
49
50
  `mkdir #{project_name}/config`
50
51
  puts "#{"[Success]".green.bold} created directory!\t ./#{project_name}/config"
51
52
 
53
+ `mkdir #{project_name}/models`
54
+ puts "#{"[Success]".green.bold} created directory!\t ./#{project_name}/models"
55
+
56
+ `mkdir #{project_name}/scrapers`
57
+ puts "#{"[Success]".green.bold} created directory!\t ./#{project_name}/scrapers"
58
+
59
+ `mkdir #{project_name}/helpers`
60
+ puts "#{"[Success]".green.bold} created directory!\t ./#{project_name}/helpers"
52
61
  else
53
62
  puts "Something went wrong. Exiting...".red.bold
54
63
  goodbye
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: webscraper_framework
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.716
4
+ version: 0.1.717
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rene van Pelt
@@ -52,6 +52,90 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: activesupport
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '1.4'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '1.4'
69
+ - !ruby/object:Gem::Dependency
70
+ name: sinatra
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: open-uri
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: uri
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: csv
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: haml
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
55
139
  description:
56
140
  email:
57
141
  executables: