koeppen_geiger 0.0.1 → 0.0.2

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.
data/Manifest CHANGED
@@ -15,7 +15,3 @@ lib/koeppen_geiger/utils.rb
15
15
  lib/locales/de.yml
16
16
  lib/locales/en.yml
17
17
  lib/tasks/koeppen_geiger.rake
18
- test/test_helper.rb
19
- test/unit/climate_classification_test.rb
20
- test/unit/pg_climate_classification_test.rb
21
- test/unit/utils_test.rb
data/README.rdoc CHANGED
@@ -1,6 +1,9 @@
1
1
  = KoeppenGeiger
2
2
 
3
- This gem adds a climate classification parameter to a location object based upon observed or predicted climate data
3
+ This gem adds a climate classification parameter to a location object based upon observed or predicted climate data.
4
+
5
+ Read more about the Köppen-Geiger climate classification system at:
6
+ http://en.wikipedia.org/wiki/K%C3%B6ppen_climate_classification
4
7
 
5
8
  == Installation
6
9
 
@@ -40,10 +43,10 @@ http://www.postgis.org/documentation/manual-1.5/ch02.html#id2630392
40
43
  location = Location.find(1)
41
44
  location.classify
42
45
 
43
- location.classified(:observed,1901,1925)
46
+ location.classified(:observed,1901)
44
47
  => "Am"
45
48
 
46
- location.classified(:observed,1901,1925).to_words
49
+ location.classified("a2",2015).to_words
47
50
  => "Equatorial monsoon"
48
51
 
49
52
  == Data
data/Rakefile CHANGED
@@ -2,15 +2,13 @@ require 'rubygems'
2
2
  require 'rake'
3
3
  require 'echoe'
4
4
 
5
- Echoe.new('koeppen_geiger', '0.0.1') do |p|
5
+ Echoe.new('koeppen_geiger', '0.0.2') do |p|
6
6
  p.summary = "A Climate Classification Gem for ActiveRecord"
7
7
  p.description = "A gem that adds a climate classification parameter based upon the Koeppen-Geiger climate classification system to a point location"
8
8
  p.url = "http://github.com/tpunkt/koeppen_geiger"
9
9
  p.author = "Tobias Weiss"
10
10
  p.email = "tobias.weiss@gmail.com"
11
- p.ignore_pattern = ["tmp/*", "script/*"]
11
+ p.ignore_pattern = FileList[".gitignore"]
12
12
  p.development_dependencies = []
13
- end
14
-
15
- # Load rake files used with this gem
16
- # Dir["#{File.dirname(__FILE__)}/lib/tasks/*.rake"].sort.each { |ext| load ext }
13
+ p.test_pattern = []
14
+ end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.1
1
+ 0.0.2
@@ -2,25 +2,22 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{koeppen_geiger}
5
- s.version = "0.0.1"
5
+ s.version = "0.0.2"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Tobias Weiss"]
9
- s.date = %q{2011-03-23}
9
+ s.date = %q{2011-04-08}
10
10
  s.description = %q{A gem that adds a climate classification parameter based upon the Koeppen-Geiger climate classification system to a point location}
11
11
  s.email = %q{tobias.weiss@gmail.com}
12
12
  s.extra_rdoc_files = ["CHANGELOG", "LICENSE", "README.rdoc", "lib/koeppen_geiger.rb", "lib/koeppen_geiger/climate_classification.rb", "lib/koeppen_geiger/has_climate_classification.rb", "lib/koeppen_geiger/pg_climate_classification.rb", "lib/koeppen_geiger/utils.rb", "lib/locales/de.yml", "lib/locales/en.yml", "lib/tasks/koeppen_geiger.rake"]
13
- s.files = ["CHANGELOG", "LICENSE", "Manifest", "README.rdoc", "Rakefile", "VERSION", "data/koeppen-geiger.zip", "generators/koeppen_geiger_generator.rb", "generators/templates/migration.rb", "lib/koeppen_geiger.rb", "lib/koeppen_geiger/climate_classification.rb", "lib/koeppen_geiger/has_climate_classification.rb", "lib/koeppen_geiger/pg_climate_classification.rb", "lib/koeppen_geiger/utils.rb", "lib/locales/de.yml", "lib/locales/en.yml", "lib/tasks/koeppen_geiger.rake", "test/test_helper.rb", "test/unit/climate_classification_test.rb", "test/unit/pg_climate_classification_test.rb", "test/unit/utils_test.rb", "koeppen_geiger.gemspec"]
13
+ s.files = ["CHANGELOG", "LICENSE", "Manifest", "README.rdoc", "Rakefile", "VERSION", "data/koeppen-geiger.zip", "generators/koeppen_geiger_generator.rb", "generators/templates/migration.rb", "lib/koeppen_geiger.rb", "lib/koeppen_geiger/climate_classification.rb", "lib/koeppen_geiger/has_climate_classification.rb", "lib/koeppen_geiger/pg_climate_classification.rb", "lib/koeppen_geiger/utils.rb", "lib/locales/de.yml", "lib/locales/en.yml", "lib/tasks/koeppen_geiger.rake", "koeppen_geiger.gemspec"]
14
14
  s.homepage = %q{http://github.com/tpunkt/koeppen_geiger}
15
15
  s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Koeppen_geiger", "--main", "README.rdoc"]
16
16
  s.require_paths = ["lib"]
17
17
  s.rubyforge_project = %q{koeppen_geiger}
18
18
  s.rubygems_version = %q{1.6.2}
19
19
  s.summary = %q{A Climate Classification Gem for ActiveRecord}
20
- s.test_files = ["test/test_helper.rb", "test/unit/climate_classification_test.rb", "test/unit/pg_climate_classification_test.rb", "test/unit/utils_test.rb"]
21
- s.signing_key = '/Users/tweiss/Documents/#private_keys/gem-private_key.pem'
22
- s.cert_chain = ['gem-public_cert.pem']
23
-
20
+
24
21
  if s.respond_to? :specification_version then
25
22
  s.specification_version = 3
26
23
 
@@ -1,11 +1,5 @@
1
1
  module KoeppenGeiger
2
2
 
3
- # 1. Has a table in the RDBMS of the Rails App
4
- # 2. Copy migration from lib/migrate/template.rb to RAILS_ROOT/db/migrate
5
- # 3. Create table via rake db:migrate
6
- # 5. Defines a method thats grabs climate classifications from PostgreSQL and store it in RDBMS after creation
7
- # 6. Defines methods to get climate classification for a "scenario" and "time period"
8
-
9
3
  class ClimateClassification < ActiveRecord::Base
10
4
 
11
5
  CLIMATE_ZONES = {"11" => "Af","12" => "Am","13" => "As","14" => "Aw",
@@ -17,6 +11,15 @@ module KoeppenGeiger
17
11
  "48" => "Dsd","49" => "Dwa","50" => "Dwb","51" => "Dwc",
18
12
  "52" => "Dwd","61" => "EF","62" => "ET" }
19
13
 
14
+ TIME_RANGES = { "observed" => [1901..1925,1926..1950,1951..1975,1976..2000],
15
+ "a1f1" => [2001..2025,2026..2050,2051..2075,2076..2100],
16
+ "a2" => [2001..2025,2026..2050,2051..2075,2076..2100],
17
+ "b1" => [2001..2025,2026..2050,2051..2075,2076..2100],
18
+ "b2" => [2001..2025,2026..2050,2051..2075,2076..2100]}
19
+
20
+ SCENARIOS = ["observed","a1f1","a2","b1","b2"]
21
+
22
+
20
23
  def self.create_column_name(*args)
21
24
  args.join("_")
22
25
  end
@@ -24,6 +27,20 @@ module KoeppenGeiger
24
27
  def self.climate_zone_to_words(str)
25
28
  I18n.t(str.downcase.to_sym, :scope => [:climate_zones])
26
29
  end
30
+
31
+ def self.determine_time_range(scenario,year)
32
+ return nil unless KoeppenGeiger::ClimateClassification.valid_scenario?(scenario)
33
+
34
+ TIME_RANGES[scenario].each do |timerange|
35
+ return timerange if timerange.member?(year.to_i)
36
+ end
37
+
38
+ nil
39
+ end
40
+
41
+ def self.valid_scenario?(scenario)
42
+ SCENARIOS.include?(scenario)
43
+ end
27
44
 
28
45
  end
29
46
 
@@ -1,6 +1,6 @@
1
1
  module KoeppenGeiger
2
2
 
3
- # Can be mixed into any ActiveRecord class that has lat/lng columns
3
+ # Can be mixed into a ActiveRecord class that has lat/lng columns
4
4
  #
5
5
  # Example:
6
6
  # class Location < ActiveRecord::Base
@@ -9,9 +9,9 @@ module KoeppenGeiger
9
9
  # end
10
10
  #
11
11
  # location = Location.find(1)
12
- # location.climate_classification("observed",1901,1925)
12
+ # location.climate_classification("observed",1901)
13
13
  # => "Cfa"
14
- # location.climate_classification("observed",1901,1925).to_words
14
+ # location.climate_classification("a2",2025).to_words
15
15
  # => "Equatorial climate, fully humid, hot summer"
16
16
  #
17
17
  # Declares a 1:1 association to the model when embedding has_climate_classification
@@ -23,8 +23,11 @@ module KoeppenGeiger
23
23
  @@options = options
24
24
 
25
25
  class_eval do
26
- has_one :climate_classification, :class_name => "KoeppenGeiger::ClimateClassification", :foreign_key => "classified_id"
26
+ has_one :climate_classification, :class_name => "KoeppenGeiger::ClimateClassification", :foreign_key => "classified_id", :dependent => :destroy
27
27
 
28
+ #
29
+ # Adds available climate classifications to a location
30
+ #
28
31
  def classify
29
32
  unless @@options[:lat_column_name].nil? || @@options[:lng_column_name].nil?
30
33
  self[:lat] = self[@@options[:lat_column_name].to_sym] || self[:lat]
@@ -34,15 +37,32 @@ module KoeppenGeiger
34
37
  if self.has_coordinates?
35
38
  self.climate_classification = KoeppenGeiger::ClimateClassification.new if self.climate_classification.nil?
36
39
  pg_cc = KoeppenGeiger::PgClimateClassification.new
37
- self.climate_classification.attributes = pg_cc.get_climate_zones(self[:lat],self[:lng])
40
+ gridcodes = pg_cc.get_climate_zones(self[:lat],self[:lng])
41
+
42
+ # Delete instance to reconnect to former rails db
43
+ pg_cc.delete
44
+
45
+ self.climate_classification.attributes = gridcodes
38
46
  self.climate_classification.save
39
47
  else
40
- "Object cannot be classified. Please specify correct column names and make sure your location has correct coordinates."
48
+ puts "Object cannot be classified. Please specify correct column names and make sure your location has correct coordinates."
41
49
  end
42
50
  end
43
51
 
44
- def classified(scenario,from,to)
45
- self.climate_classification[KoeppenGeiger::ClimateClassification.create_column_name(scenario,from,to).to_sym] || "Scenario and/or time period not found"
52
+ # Returns a classification code for a certain scenario and year
53
+ #
54
+ # Example:
55
+ # location.classified("observed",1905)
56
+ #
57
+ def classified(scenario,year)
58
+ timerange = KoeppenGeiger::ClimateClassification.determine_time_range(scenario,year)
59
+
60
+ unless timerange.nil?
61
+ column_name = KoeppenGeiger::ClimateClassification.create_column_name(scenario,timerange.first.to_s,timerange.last.to_s).to_sym
62
+ return self.climate_classification[column_name] || "No value found"
63
+ else
64
+ return "No data found within the year #{year} in the scenario #{scenario}"
65
+ end
46
66
  end
47
67
 
48
68
  def has_coordinates?
@@ -7,8 +7,7 @@ module KoeppenGeiger
7
7
  # http://snipplr.com/view/1849/tableless-model/
8
8
 
9
9
  class PgClimateClassification < ActiveRecord::Base
10
- establish_connection "koeppen_geiger"
11
-
10
+
12
11
  def self.columns
13
12
  @columns ||= []
14
13
  end
@@ -20,6 +19,14 @@ module KoeppenGeiger
20
19
  ##########################
21
20
 
22
21
  def initialize
22
+ begin
23
+ ActiveRecord::Base.establish_connection "koeppen_geiger"
24
+ rescue ActiveRecord::ConnectionNotEstablished
25
+ puts "Connection could not be established"
26
+ rescue ActiveRecord::AdapterNotSpecified
27
+ puts "Oops! Adapter not specified. This is okay when running rake:test"
28
+ end
29
+
23
30
  get_scenario_tables
24
31
  end
25
32
 
@@ -27,17 +34,18 @@ module KoeppenGeiger
27
34
  # Get all tables from database to see how many different scenarios and timeperiods
28
35
  # have been imported
29
36
  #
30
- # Each shapefile imported into the database should create a new table
37
+ # Each shapefile imported into the database creates a new table
31
38
  #
32
39
  def get_scenario_tables
33
40
  res = self.connection.execute( "SELECT table_name FROM information_schema.tables
34
- WHERE table_schema = 'public'
35
- AND table_name != 'geometry_columns'
36
- AND table_name != 'spatial_ref_sys'")
41
+ WHERE table_schema = 'public'
42
+ AND table_name != 'geometry_columns'
43
+ AND table_name != 'spatial_ref_sys'")
37
44
  @scenarios = []
38
45
  if res.num_tuples >= 1
39
46
  res.each do |tuple|
40
- @scenarios << tuple["table_name"]
47
+ # The unless statement is only needed for testing purposes
48
+ @scenarios << tuple["table_name"] unless tuple["table_name"].eql?("locations")
41
49
  end
42
50
  else
43
51
  puts "No data imported yet. Please run rake koeppen_geiger:db:import_data"
@@ -52,10 +60,18 @@ module KoeppenGeiger
52
60
  gridcodes[scenario] = KoeppenGeiger::ClimateClassification::CLIMATE_ZONES[res.getvalue(0,0).to_s]
53
61
  end
54
62
  end
55
-
63
+
56
64
  return gridcodes
57
65
  end
58
66
 
67
+ #
68
+ # Reconnect to former database when instance is deleted
69
+ # otherwise the rails app starts operating on the wrong db
70
+ #
71
+ def delete
72
+ ActiveRecord::Base.establish_connection RAILS_ENV
73
+ end
74
+
59
75
  end
60
76
 
61
77
  end
@@ -4,20 +4,6 @@ module KoeppenGeiger
4
4
  require 'zip/zip'
5
5
  require 'fileutils'
6
6
 
7
- # Steps
8
- #
9
- # 1. Add default configuration for koeppen_geiger to database.yml
10
- #
11
- # 2. Copy migration to create climate classifications table
12
- #
13
- # 3. run rake db:migrate [RAILS_ENV]
14
- #
15
- # 4. Create a spatially-enabled database in PostgreSQL
16
- # http://postgis.org/documentation/manual-1.5/ch02.html#id2630392
17
- #
18
- # 5. Load GIS data via shp2pgsql into PostgreSQL database
19
- # http://postgis.org/documentation/manual-1.5/ch04.html#shp2pgsql_usage
20
-
21
7
  class Utils
22
8
 
23
9
  @@rails_root = defined?(RAILS_ROOT) ? RAILS_ROOT : ""
@@ -45,26 +31,26 @@ module KoeppenGeiger
45
31
 
46
32
  # Open database.yml and add config lines
47
33
  def configure_db
48
- yaml = Utils.get_db_config
49
- yaml = Hash.new unless yaml
34
+ begin
35
+ yaml = Utils.get_db_config
36
+ yaml = Hash.new unless yaml
50
37
 
51
- unless yaml.has_key?("koeppen_geiger")
52
- yaml.update(KoeppenGeiger::Utils::DEFAULT_CONFIG)
53
- File.open(KoeppenGeiger::Utils::DB_CONFIG, 'w') do |out|
54
- YAML::dump(yaml,out)
38
+ unless yaml.has_key?("koeppen_geiger")
39
+ yaml.update(KoeppenGeiger::Utils::DEFAULT_CONFIG)
40
+ File.open(KoeppenGeiger::Utils::DB_CONFIG, 'w') do |out|
41
+ YAML::dump(yaml,out)
42
+ end
43
+ puts ">> Updated database.yml. Please enter correct username/password combination."
44
+ else
45
+ puts ">> Your database.yml has already been updated"
55
46
  end
56
- puts ">> Updated database.yml. Please enter correct username/password combination."
57
- else
58
- puts ">> Your database.yml has already been updated"
47
+ rescue Errno::ENOENT
48
+ raise StandardError, "Could not find database configuration file"
59
49
  end
60
50
  end
61
51
 
62
52
  def get_db_config
63
- begin
64
- YAML::load_file(KoeppenGeiger::Utils::DB_CONFIG)
65
- rescue IOError
66
- puts "Could not find database configuration file"
67
- end
53
+ YAML::load_file(KoeppenGeiger::Utils::DB_CONFIG)
68
54
  end
69
55
 
70
56
  ########
@@ -98,6 +84,7 @@ module KoeppenGeiger
98
84
  filehash
99
85
  end
100
86
 
87
+ # Extract compressed ziop data
101
88
  def extract_gis_data
102
89
  if File.exists?(KoeppenGeiger::Utils::ARCHIVE)
103
90
  begin
@@ -1,3 +1,26 @@
1
+ # encoding: utf-8
2
+ #--
3
+ # Copyright (c) 2011 Tobias Weiss <tobias.weiss@gmail.com>
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the 'Software'), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be included in all
13
+ # copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ # SOFTWARE.
22
+ #++
23
+
1
24
  require 'rubygems'
2
25
  require 'active_record'
3
26
  require 'active_support'
metadata CHANGED
@@ -1,42 +1,21 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: koeppen_geiger
3
3
  version: !ruby/object:Gem::Version
4
- hash: 29
4
+ hash: 27
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 1
10
- version: 0.0.1
9
+ - 2
10
+ version: 0.0.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Tobias Weiss
14
14
  autorequire:
15
15
  bindir: bin
16
- cert_chain:
17
- - |
18
- -----BEGIN CERTIFICATE-----
19
- MIIDOjCCAiKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBDMRUwEwYDVQQDDAx0b2Jp
20
- YXMud2Vpc3MxFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixkARkW
21
- A2NvbTAeFw0xMTAzMjMxMzQ1NDZaFw0xMjAzMjIxMzQ1NDZaMEMxFTATBgNVBAMM
22
- DHRvYmlhcy53ZWlzczEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYKCZImiZPy
23
- LGQBGRYDY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAl5YA7OBO
24
- /oeOJIdLoGig5D/O2o9vaqizuVisG0W0Br88A5zLCoSC1KAZ6Wdtl3NqqN4CBJ2J
25
- zeA82X1b25FjkxHMFBTGhcqBz9ubInX37myHsTq+BzejLakkYlxnpSyAvtYCYJBv
26
- nk897vzgNugJUSpQK7p0NfsDA9Utku7ZyuOZ/sQJhZju2GhkNN4h5xMLYiaVdSPu
27
- gRPv3d7U/T8ynK01TihhmSMPVjJJXBwxTkgm2pnN4Vt27OgI3qYSNa1LWSMMkste
28
- VFKv0vbZmMT1P4WHAGLyIueyMPISwG0RBV2ki3zLd2PkO/8HVKb4MEuZ6ow6GTqf
29
- aIgGM+zMvQtpfQIDAQABozkwNzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNV
30
- HQ4EFgQUglZplVwHjFDAGwgV1sNwgZvE1sAwDQYJKoZIhvcNAQEFBQADggEBAH/X
31
- p6YgH9u+hI5Y6GP4apDwp6/5mTDrHi32URkK4DR+EYev9+7B5UhJirkRr+HwJkZq
32
- s2t7bbeCP2Da6Q2fLIzHyapMSpxHXVsiEADDSOZu7a7IwWNie76+8A0bJLoglrI6
33
- X5Z0+aLxpj9qLKvhseewhJ8ckUVWViLdIkw56Xco5BSPxI6SEtA9OkEY7hw/Tp7B
34
- jzmvl/O54R4hAX2l/2+6TnBNKqk30Rcv4x6bHooTjF0/vs4qvuo9UwVxa+ZQ/xu1
35
- RReLEXx35Rm+lRHb5X6nUkC80H2Y3FUBiykkPyJdURmVas5wQ0EwW1l/KEyXDoNY
36
- ZHSsbf0Us43IP9I3KVo=
37
- -----END CERTIFICATE-----
16
+ cert_chain: []
38
17
 
39
- date: 2011-03-23 00:00:00 +01:00
18
+ date: 2011-04-08 00:00:00 +02:00
40
19
  default_executable:
41
20
  dependencies: []
42
21
 
@@ -76,10 +55,6 @@ files:
76
55
  - lib/locales/de.yml
77
56
  - lib/locales/en.yml
78
57
  - lib/tasks/koeppen_geiger.rake
79
- - test/test_helper.rb
80
- - test/unit/climate_classification_test.rb
81
- - test/unit/pg_climate_classification_test.rb
82
- - test/unit/utils_test.rb
83
58
  - koeppen_geiger.gemspec
84
59
  has_rdoc: true
85
60
  homepage: http://github.com/tpunkt/koeppen_geiger
@@ -121,8 +96,5 @@ rubygems_version: 1.6.2
121
96
  signing_key:
122
97
  specification_version: 3
123
98
  summary: A Climate Classification Gem for ActiveRecord
124
- test_files:
125
- - test/test_helper.rb
126
- - test/unit/climate_classification_test.rb
127
- - test/unit/pg_climate_classification_test.rb
128
- - test/unit/utils_test.rb
99
+ test_files: []
100
+
data/test/test_helper.rb DELETED
@@ -1,5 +0,0 @@
1
- require 'rubygems'
2
- require 'yaml'
3
- require 'active_record'
4
- require 'shoulda'
5
- require 'lib/koeppen_geiger'
@@ -1,5 +0,0 @@
1
- require 'test/test_helper'
2
-
3
- class ClimateClassificationTest < Test::Unit::TestCase
4
-
5
- end
@@ -1,5 +0,0 @@
1
- require 'test/test_helper'
2
-
3
- class PgClimateClassificationTest < Test::Unit::TestCase
4
-
5
- end
@@ -1,5 +0,0 @@
1
- require 'test/test_helper'
2
-
3
- class UtilsTest < Test::Unit::TestCase
4
-
5
- end
data.tar.gz.sig DELETED
@@ -1,2 +0,0 @@
1
- Qc���:�9k��ܰ��RQ��s�W
2
- O$��ծ �gG������ˎBr�|!�8��ŭ�d�f�5��b[)��8���,l���풛bDNJ�_�ͧ�s��-�$ %
metadata.gz.sig DELETED
@@ -1 +0,0 @@
1
- s��n