organo 0.3.4 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/doc/anime.md +30 -8
  3. data/doc/readme.md +2 -2
  4. data/lib/organo/commands/anime/anime_add.rb +27 -22
  5. data/lib/organo/commands/anime/anime_find_broken_links.rb +31 -0
  6. data/lib/organo/commands/anime/anime_remove.rb +12 -12
  7. data/lib/organo/commands/anime/anime_set_sequel.rb +49 -0
  8. data/lib/organo/commands/anime/anime_show.rb +11 -13
  9. data/lib/organo/commands/anime/anime_update_image.rb +18 -33
  10. data/lib/organo/commands/anime/anime_update_query.rb +18 -19
  11. data/lib/organo/commands/api/api_get_anime.rb +5 -6
  12. data/lib/organo/commands/api/api_get_season.rb +6 -7
  13. data/lib/organo/commands/api/api_get_sequels.rb +5 -5
  14. data/lib/organo/commands/init.rb +32 -8
  15. data/lib/organo/commands/remote/remote_add.rb +14 -14
  16. data/lib/organo/commands/remote/remote_download.rb +10 -7
  17. data/lib/organo/commands/remote/remote_remove.rb +6 -4
  18. data/lib/organo/commands/remote/remote_upload.rb +6 -3
  19. data/lib/organo/commands/statistics.rb +8 -12
  20. data/lib/organo/commands/version.rb +3 -1
  21. data/lib/organo/query.rb +0 -1
  22. data/lib/organo/tools/string_utils.rb +28 -0
  23. data/lib/organo/{writer.rb → tools/writer.rb} +0 -5
  24. data/lib/organo/version.rb +1 -1
  25. data/lib/organo.rb +33 -47
  26. metadata +37 -17
  27. data/lib/organo/commands/anime/anime_add_sequel.rb +0 -50
  28. data/lib/organo/commands/anime/anime_get_broken_links.rb +0 -30
  29. data/lib/organo/commands/anime/anime_search.rb +0 -23
  30. data/lib/organo/commands/api/api_search_anime.rb +0 -27
  31. data/lib/organo/commands/merge.rb +0 -20
  32. data/lib/organo/reader.rb +0 -38
  33. data/lib/organo/search_show.rb +0 -58
  34. data/lib/organo/sequel.rb +0 -39
  35. data/lib/organo/show.rb +0 -36
  36. data/lib/organo/show_list.rb +0 -32
  37. data/lib/organo/tools/local_search.rb +0 -49
data/lib/organo/show.rb DELETED
@@ -1,36 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'json'
4
-
5
- class Show
6
- attr_accessor :id, :slug, :title, :image_url, :search_query, :sequels
7
-
8
- def initialize(id, slug, title, image_url, search_query, links = [], sequels = [])
9
- @id = id
10
- @slug = slug
11
- @title = title.to_s
12
- @image_url = image_url
13
- @search_query = search_query.empty? ? title : search_query
14
- @links = links.nil? ? [] : links
15
- @sequels = sequels.nil? ? [] : sequels
16
- end
17
-
18
- def to_s
19
- "id: #{@id}, title: #{@title}, image_url: #{@image_url}"
20
- end
21
-
22
- def as_json(_options = {})
23
- {
24
- id: @id,
25
- slug: @slug,
26
- title: @title,
27
- image_url: @image_url,
28
- sequels: @sequels,
29
- search_query: @search_query
30
- }
31
- end
32
-
33
- def to_json(*options)
34
- as_json(*options).to_json(*options)
35
- end
36
- end
@@ -1,32 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'json'
4
- require_relative 'search_show'
5
- require_relative 'sequel'
6
- require_relative 'query'
7
-
8
- module Organo
9
- class ShowList
10
- def self.create_search_show_list(json_obj)
11
- show_list = []
12
- json_obj.each do |entry|
13
- show = SearchShow.new(entry['mal_id'], entry['title'], entry['images']['jpg']['image_url'])
14
- show_list.push show
15
- end
16
- show_list.sort_by(&:title)
17
- end
18
-
19
- def self.create_search_sequel_list(json_obj)
20
- sequel_list = []
21
- json_obj.each do |relations|
22
- next unless relations['relation'] == 'Sequel'
23
-
24
- relations['entry'].each do |entry|
25
- image_url = Query.get_anime_image(entry['mal_id'])
26
- sequel_list.push Sequel.new(entry['mal_id'], entry['name'], image_url)
27
- end
28
- end
29
- sequel_list.sort_by(&:title)
30
- end
31
- end
32
- end
@@ -1,49 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'json'
4
- require_relative '../reader'
5
-
6
- module Organo
7
- class LocalSearch
8
-
9
- def self.find_anime_by_id(mal_id)
10
- anime_list = Reader.read_all_files
11
- get_anime_obj(mal_id, anime_list)
12
- end
13
-
14
- def self.get_anime_obj(mal_id, anime_list)
15
- return_value = nil
16
- anime_list.each do |anime|
17
- if anime.id == mal_id.to_i || anime.sequels.find { |sequel| sequel['id'] == mal_id.to_i }
18
- return_value = anime
19
- break
20
- end
21
- end
22
- return_value
23
- end
24
-
25
- def self.find_file_by_anime_id(mal_id)
26
- return_value = nil
27
- Dir["#{Config::DEFAULT_DIR}/*.json"].each do |file_path|
28
- anime_list = Reader.read_file(file_path)
29
- unless get_anime_obj(mal_id, anime_list).nil?
30
- return_value = file_path
31
- break
32
- end
33
- end
34
- return_value
35
- end
36
-
37
- def self.find_anime_by_query(query)
38
- anime_list = Reader.read_all_files
39
- return_value = []
40
- anime_list.each do |anime|
41
- if (anime.title.downcase.include? query.downcase) ||
42
- (anime.sequels.find { |sequel| sequel['title'].downcase.include? query.downcase })
43
- return_value.push(anime)
44
- end
45
- end
46
- return_value
47
- end
48
- end
49
- end