video_chat_get 0.1.2 → 0.1.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.circleci/config.yml +55 -0
- data/Gemfile.lock +1 -1
- data/README.md +15 -6
- data/lib/file_operats/file_operat_chatdata.rb +11 -9
- data/lib/requests/request.rb +8 -6
- data/lib/site_list/mildom_analyze.rb +17 -20
- data/lib/site_list/openrec_analyze.rb +20 -18
- data/lib/site_list/twitcasting_analyze.rb +112 -0
- data/lib/site_list/whowatch_analyze.rb +8 -10
- data/lib/site_list/youtubelive_analyze.rb +88 -82
- data/lib/video_chat_get.rb +7 -5
- data/lib/video_chat_get/version.rb +1 -1
- data/vendor/bundle/ruby/2.5.0/bin/htmldiff +1 -1
- data/vendor/bundle/ruby/2.5.0/bin/ldiff +1 -1
- data/vendor/bundle/ruby/2.5.0/extensions/{x86_64-darwin-16 → x86_64-darwin-18}/2.5.0/json-2.3.0/gem.build_complete +0 -0
- data/vendor/bundle/ruby/2.5.0/extensions/x86_64-darwin-18/2.5.0/json-2.3.0/gem_make.out +13 -0
- data/vendor/bundle/ruby/2.5.0/extensions/{x86_64-darwin-16 → x86_64-darwin-18}/2.5.0/json-2.3.0/json/ext/generator.bundle +0 -0
- data/vendor/bundle/ruby/2.5.0/extensions/{x86_64-darwin-16 → x86_64-darwin-18}/2.5.0/json-2.3.0/json/ext/parser.bundle +0 -0
- data/vendor/bundle/ruby/2.5.0/extensions/x86_64-darwin-18/2.5.0/json-2.3.0/mkmf.log +60 -0
- data/vendor/bundle/ruby/2.5.0/extensions/{x86_64-darwin-16 → x86_64-darwin-18}/2.5.0/nokogiri-1.10.9/gem.build_complete +0 -0
- data/vendor/bundle/ruby/2.5.0/extensions/{x86_64-darwin-16 → x86_64-darwin-18}/2.5.0/nokogiri-1.10.9/gem_make.out +21 -21
- data/vendor/bundle/ruby/2.5.0/extensions/x86_64-darwin-18/2.5.0/nokogiri-1.10.9/mkmf.log +542 -0
- data/vendor/bundle/ruby/2.5.0/extensions/{x86_64-darwin-16 → x86_64-darwin-18}/2.5.0/nokogiri-1.10.9/nokogiri/nokogiri.bundle +0 -0
- data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/Makefile +16 -15
- data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/html_document.o +0 -0
- data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/html_element_description.o +0 -0
- data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/html_entity_lookup.o +0 -0
- data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/html_sax_parser_context.o +0 -0
- data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/html_sax_push_parser.o +0 -0
- data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/nokogiri.bundle +0 -0
- data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/nokogiri.o +0 -0
- data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_attr.o +0 -0
- data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_attribute_decl.o +0 -0
- data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_cdata.o +0 -0
- data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_comment.o +0 -0
- data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_document.o +0 -0
- data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_document_fragment.o +0 -0
- data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_dtd.o +0 -0
- data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_element_content.o +0 -0
- data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_element_decl.o +0 -0
- data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_encoding_handler.o +0 -0
- data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_entity_decl.o +0 -0
- data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_entity_reference.o +0 -0
- data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_io.o +0 -0
- data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_namespace.o +0 -0
- data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_node.o +0 -0
- data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_node_set.o +0 -0
- data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_processing_instruction.o +0 -0
- data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_reader.o +0 -0
- data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_relax_ng.o +0 -0
- data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_sax_parser.o +0 -0
- data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_sax_parser_context.o +0 -0
- data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_sax_push_parser.o +0 -0
- data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_schema.o +0 -0
- data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_syntax_error.o +0 -0
- data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_text.o +0 -0
- data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_xpath_context.o +0 -0
- data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xslt_stylesheet.o +0 -0
- data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/nokogiri.bundle +0 -0
- data/vendor/bundle/ruby/2.5.0/specifications/diff-lcs-1.3.gemspec +2 -2
- data/vendor/bundle/ruby/2.5.0/specifications/httpclient-2.8.3.gemspec +2 -2
- data/vendor/bundle/ruby/2.5.0/specifications/json-2.3.0.gemspec +0 -0
- data/vendor/bundle/ruby/2.5.0/specifications/mini_portile2-2.4.0.gemspec +2 -2
- data/vendor/bundle/ruby/2.5.0/specifications/nokogiri-1.10.9.gemspec +2 -2
- data/vendor/bundle/ruby/2.5.0/specifications/rake-10.5.0.gemspec +2 -2
- data/vendor/bundle/ruby/2.5.0/specifications/rspec-3.9.0.gemspec +2 -2
- data/vendor/bundle/ruby/2.5.0/specifications/rspec-core-3.9.2.gemspec +2 -2
- data/vendor/bundle/ruby/2.5.0/specifications/rspec-expectations-3.9.2.gemspec +2 -2
- data/vendor/bundle/ruby/2.5.0/specifications/rspec-mocks-3.9.1.gemspec +2 -2
- data/vendor/bundle/ruby/2.5.0/specifications/rspec-support-3.9.3.gemspec +2 -2
- metadata +14 -12
- data/vendor/bundle/ruby/2.5.0/extensions/x86_64-darwin-16/2.5.0/json-2.3.0/gem_make.out +0 -13
- data/vendor/bundle/ruby/2.5.0/extensions/x86_64-darwin-16/2.5.0/json-2.3.0/mkmf.log +0 -60
- data/vendor/bundle/ruby/2.5.0/extensions/x86_64-darwin-16/2.5.0/nokogiri-1.10.9/mkmf.log +0 -542
@@ -16,20 +16,19 @@ class Whowatch_analyze<Video_analyze
|
|
16
16
|
@VIDEOINFO_REQEST_URL="https://api.whowatch.tv/lives/"
|
17
17
|
|
18
18
|
@video_url=url
|
19
|
-
@video_id=videoid_get
|
20
|
-
@videoinfo,@chat_body,@videoandchat_info_request_status=videoinfo_get
|
19
|
+
@video_id=videoid_get()
|
20
|
+
@videoinfo,@chat_body,@videoandchat_info_request_status=videoinfo_get(@VIDEOINFO_REQEST_URL+@video_id)
|
21
21
|
@chatlog_filepath="./"+@video_id+".txt"
|
22
22
|
|
23
23
|
end
|
24
24
|
|
25
25
|
|
26
|
-
def videoid_get
|
27
|
-
|
28
|
-
return videoid
|
26
|
+
def videoid_get()
|
27
|
+
return @video_url.split("/")[4]
|
29
28
|
end
|
30
29
|
|
31
30
|
|
32
|
-
def videoinfo_get
|
31
|
+
def videoinfo_get(url)
|
33
32
|
body,status=request_json_parse(url)
|
34
33
|
chat_body=body.delete("comments")
|
35
34
|
return body,chat_body,status
|
@@ -37,15 +36,14 @@ class Whowatch_analyze<Video_analyze
|
|
37
36
|
|
38
37
|
|
39
38
|
def chat_scrape(log_flag=true,log_path=@chatlog_filepath)
|
40
|
-
|
41
|
-
comment_count=@videoinfo["live"]["comment_count"]
|
39
|
+
|
42
40
|
chat_list=[]
|
43
41
|
count=0
|
44
42
|
|
45
43
|
@chat_body[0..-1].each do |chat|
|
46
44
|
chat_list.push chat
|
47
45
|
count+=1
|
48
|
-
progressbar(count
|
46
|
+
progressbar(count,@videoinfo["live"]["comment_count"])
|
49
47
|
end
|
50
48
|
|
51
49
|
file_write(chat_list,log_flag,log_path)
|
@@ -53,6 +51,6 @@ class Whowatch_analyze<Video_analyze
|
|
53
51
|
end
|
54
52
|
|
55
53
|
public :chat_scrape
|
56
|
-
private :videoid_get
|
54
|
+
private :videoid_get, :videoinfo_get
|
57
55
|
|
58
56
|
end
|
@@ -8,122 +8,128 @@ require 'nokogiri'
|
|
8
8
|
|
9
9
|
class Youtubelive_analyze<Video_analyze
|
10
10
|
|
11
|
-
attr_reader :video_id
|
11
|
+
attr_reader :video_id, :videoinfo, :videoinfo_request_status
|
12
12
|
|
13
13
|
def initialize(url)
|
14
14
|
@CHAT_REQUEST_URL="https://www.youtube.com/live_chat_replay?continuation="
|
15
15
|
@USER_AGENT='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36'
|
16
16
|
|
17
17
|
@video_url=url
|
18
|
-
@video_id=videoid_get
|
18
|
+
@video_id=videoid_get()
|
19
|
+
@videoinfo_body,@videoinfo_request_status=videoinfo_get()
|
20
|
+
@videoinfo=videoinfo_extraction()
|
19
21
|
@chatlog_filepath="./"+@video_id+".txt"
|
20
22
|
end
|
21
23
|
|
22
24
|
|
23
|
-
def videoid_get
|
24
|
-
|
25
|
-
return videoid
|
25
|
+
def videoid_get()
|
26
|
+
return @video_url.split("=")[1].split("&")[0]
|
26
27
|
end
|
27
28
|
|
28
|
-
|
29
|
+
|
29
30
|
def videoinfo_get()
|
30
|
-
end
|
31
31
|
|
32
|
+
videoinfo_respons,videoinfo_status=request_html_parse(@video_url,{})
|
32
33
|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
def chat_url_get_iframe_extraction(url=@video_url)
|
38
|
-
|
39
|
-
next_url=""
|
40
|
-
body_status=""
|
41
|
-
iframe_count=0
|
42
|
-
opt={}
|
43
|
-
|
44
|
-
while next_url.empty?
|
45
|
-
sleep(1)
|
46
|
-
iframe_count+=1
|
47
|
-
first_respons, body_status=request_html_parse(url,opt)
|
48
|
-
first_respons.search('iframe').each do |info|
|
49
|
-
puts info
|
50
|
-
if info["src"].include?("live_chat_replay") then
|
51
|
-
next_url=info["src"]
|
52
|
-
end
|
34
|
+
videoinfo_respons.search('script').each do |script|
|
35
|
+
|
36
|
+
if script.to_s.include?("window[\"ytInitialData\"]") then
|
37
|
+
return htmlpage_script_parse(script,method(:videoinfo_script_cleanup)),videoinfo_status
|
53
38
|
end
|
54
|
-
|
39
|
+
|
40
|
+
if script.to_s.include?("var ytInitialData =") then
|
41
|
+
return htmlpage_script_parse(script,method(:videoinfo_script_cleanup_p2)),videoinfo_status
|
42
|
+
end
|
43
|
+
|
55
44
|
end
|
56
45
|
|
57
|
-
|
58
|
-
return next_url,body_status
|
46
|
+
return ""
|
59
47
|
end
|
60
48
|
|
61
49
|
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
50
|
+
def videoinfo_extraction()
|
51
|
+
|
52
|
+
videoinfo={}
|
53
|
+
common_hash=@videoinfo_body["contents"]["twoColumnWatchNextResults"]["results"]["results"]["contents"]
|
54
|
+
|
55
|
+
videoinfo["ch"]=common_hash[1]["videoSecondaryInfoRenderer"]["owner"]["videoOwnerRenderer"]["title"]["runs"][0]["text"]
|
56
|
+
videoinfo["title"]=common_hash[0]["videoPrimaryInfoRenderer"]["title"]["runs"][0]["text"]
|
57
|
+
videoinfo["starttime"]=common_hash[0]["videoPrimaryInfoRenderer"]["dateText"]["simpleText"]
|
58
|
+
videoinfo["videocount"]=common_hash[0]["videoPrimaryInfoRenderer"]["viewCount"]["videoViewCountRenderer"]["viewCount"]["simpleText"]
|
59
|
+
videoinfo["good"]=common_hash[0]["videoPrimaryInfoRenderer"]["videoActions"]["menuRenderer"]["topLevelButtons"][0]["toggleButtonRenderer"]["defaultText"]["simpleText"]
|
60
|
+
videoinfo["bad"]=common_hash[0]["videoPrimaryInfoRenderer"]["videoActions"]["menuRenderer"]["topLevelButtons"][1]["toggleButtonRenderer"]["defaultText"]["simpleText"]
|
61
|
+
return videoinfo
|
62
|
+
end
|
63
|
+
|
64
|
+
|
65
|
+
def videoinfo_script_cleanup(script_date)
|
66
|
+
return script_date.split("=",2)[1].split("\n",2)[0].strip.chomp(";")
|
67
|
+
end
|
68
|
+
|
69
|
+
|
70
|
+
def videoinfo_script_cleanup_p2(script_date)
|
71
|
+
return script_date.split("var ytInitialData =",2)[1].split(";if (window.ytcsi)",2)[0].strip.chomp(";</script>").strip
|
72
|
+
end
|
73
|
+
|
74
|
+
|
75
|
+
def chatinfo_script_cleanup(script_date)
|
76
|
+
return script_date.split('window["ytInitialData"] = ',2)[1].strip.chomp("</script>").strip.chomp(";")
|
77
|
+
end
|
78
|
+
|
79
|
+
|
80
|
+
def htmlpage_script_parse(respons,callback)
|
81
|
+
script_body=callback.call(respons.to_s)
|
82
|
+
return JSON.parse(script_body)
|
83
|
+
end
|
84
|
+
|
85
|
+
|
86
|
+
def chat_body_get(next_url, opt={'User-Agent' => @USER_AGENT})
|
87
|
+
|
88
|
+
chat_respons,chat_status=request_html_parse(next_url,opt)
|
71
89
|
|
72
|
-
chat_respons,chat_status=request_html_parse(url,opt)
|
73
90
|
chat_respons.search('script').each do |script|
|
74
|
-
|
75
|
-
if script.include?("window[\"ytInitialData\"]") then
|
76
|
-
|
77
|
-
next_url_polymer=next_url_polymer.strip.chomp(";")
|
78
|
-
next_url_polymer=JSON.parse(next_url_polymer)
|
91
|
+
|
92
|
+
if script.to_s.include?("window[\"ytInitialData\"]") then
|
93
|
+
return htmlpage_script_parse(script,method(:chatinfo_script_cleanup))
|
79
94
|
end
|
95
|
+
|
80
96
|
end
|
81
97
|
|
82
|
-
|
83
|
-
next_url=@CHAT_REQUEST_URL+next_url
|
84
|
-
return next_url,chat_status
|
98
|
+
return ""
|
85
99
|
end
|
86
100
|
|
87
101
|
|
102
|
+
|
88
103
|
def chat_scrape(log_flag=true,log_path=@chatlog_filepath)
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
chat_respons.search('script').each do |script|
|
102
|
-
script=script.to_s
|
103
|
-
|
104
|
-
if script.include?("window[\"ytInitialData\"]") then
|
105
|
-
chat_body=script.split("=",2)[1].chomp("</script>").strip.chomp(";")
|
106
|
-
chat_body=JSON.parse(chat_body)
|
107
|
-
continue_url = chat_body["continuationContents"]["liveChatContinuation"]["continuations"][0]["liveChatReplayContinuationData"]["continuation"]
|
108
|
-
next_url=@CHAT_REQUEST_URL+continue_url
|
109
|
-
|
110
|
-
chat_body["continuationContents"]["liveChatContinuation"]["actions"][1..-1].each do |chat|
|
111
|
-
chat_count+=1
|
112
|
-
chat_list.push chat
|
113
|
-
end
|
114
|
-
progressbar(chat_count,"chat_count_inf")
|
104
|
+
|
105
|
+
chat_list=[]
|
106
|
+
chat_count=0
|
107
|
+
next_url=@CHAT_REQUEST_URL + @videoinfo_body["contents"]["twoColumnWatchNextResults"]["conversationBar"]["liveChatRenderer"]["continuations"][0]["reloadContinuationData"]["continuation"]
|
108
|
+
|
109
|
+
while true do
|
110
|
+
begin
|
111
|
+
chat_body=chat_body_get(next_url)
|
112
|
+
chat_body["continuationContents"]["liveChatContinuation"]["actions"][1..-1].each do |chat|
|
113
|
+
chat_count+=1
|
114
|
+
chat_list.push chat
|
115
115
|
end
|
116
|
+
progressbar(chat_count,"chat_count_inf")
|
117
|
+
|
118
|
+
next_url=@CHAT_REQUEST_URL + chat_body["continuationContents"]["liveChatContinuation"]["continuations"][0]["liveChatReplayContinuationData"]["continuation"]
|
119
|
+
sleep(1)
|
120
|
+
|
121
|
+
rescue
|
122
|
+
break
|
116
123
|
end
|
117
|
-
|
118
|
-
break
|
124
|
+
|
119
125
|
end
|
120
|
-
end
|
121
126
|
|
122
|
-
|
123
|
-
|
127
|
+
file_write(chat_list,log_flag,log_path)
|
128
|
+
return chat_list
|
124
129
|
end
|
125
130
|
|
126
|
-
public :chat_scrape, :chat_url_get_iframe_extraction, :chat_url_get_js_extraction
|
127
|
-
private :videoid_get!, :videoinfo_get
|
128
131
|
|
129
|
-
|
132
|
+
public :chat_scrape
|
133
|
+
private :videoid_get, :videoinfo_get, :videoinfo_extraction, :htmlpage_script_parse, :videoinfo_script_cleanup, :chatinfo_script_cleanup, :chat_body_get, :videoinfo_script_cleanup_p2
|
134
|
+
|
135
|
+
end
|
data/lib/video_chat_get.rb
CHANGED
@@ -1,9 +1,5 @@
|
|
1
1
|
require 'video_chat_get/version'
|
2
|
-
|
3
|
-
require 'site_list/openrec_analyze'
|
4
|
-
require 'site_list/mildom_analyze'
|
5
|
-
require 'site_list/whowatch_analyze'
|
6
|
-
require 'site_list/youtubelive_analyze'
|
2
|
+
Dir[File.expand_path('../site_list',__FILE__)<<'/*.rb'].each do |file| require file end
|
7
3
|
|
8
4
|
"""
|
9
5
|
・argument
|
@@ -11,6 +7,7 @@ require 'site_list/youtubelive_analyze'
|
|
11
7
|
@@MILDOM_IDENTFIER:
|
12
8
|
@@WHOWATCH_IDENTFIER:
|
13
9
|
@@YOUTUBELIVE_IDENTFIER:
|
10
|
+
@@TWITCASTING_IDENTFIER:
|
14
11
|
|
15
12
|
・method
|
16
13
|
url_route():
|
@@ -22,6 +19,7 @@ module VideoChatGet
|
|
22
19
|
@@MILDOM_IDENTFIER="https://www.mildom.com/playback/"
|
23
20
|
@@WHOWATCH_IDENTFIER="https://whowatch.tv/archives/"
|
24
21
|
@@YOUTUBELIVE_IDENTFIER="https://www.youtube.com/watch?"
|
22
|
+
@@TWITCASTING_IDENTFIER="https://twitcasting.tv/"
|
25
23
|
|
26
24
|
def self.test
|
27
25
|
"hello"
|
@@ -45,6 +43,10 @@ module VideoChatGet
|
|
45
43
|
puts "identifier:youtube videourl:#{url}"
|
46
44
|
obj=Youtubelive_analyze.new(url)
|
47
45
|
obj.chat_scrape
|
46
|
+
elsif url.include?(@@TWITCASTING_IDENTFIER) then
|
47
|
+
puts "identifier:twitcasting videourl:#{url}"
|
48
|
+
obj=Twitcasting_analyze.new(url)
|
49
|
+
obj.chat_scrape
|
48
50
|
else
|
49
51
|
puts "urlerr"
|
50
52
|
end
|
File without changes
|
@@ -0,0 +1,13 @@
|
|
1
|
+
current directory: /Users/tf0101/Desktop/ruby_devlop/video_chat_get/video_chat_get/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/ext/json
|
2
|
+
/Users/tf0101/.rbenv/versions/2.5.8/bin/ruby -r ./siteconf20200821-51303-1433jf5.rb extconf.rb
|
3
|
+
creating Makefile
|
4
|
+
|
5
|
+
current directory: /Users/tf0101/Desktop/ruby_devlop/video_chat_get/video_chat_get/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/ext/json
|
6
|
+
make "DESTDIR=" clean
|
7
|
+
|
8
|
+
current directory: /Users/tf0101/Desktop/ruby_devlop/video_chat_get/video_chat_get/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/ext/json
|
9
|
+
make "DESTDIR="
|
10
|
+
make: Nothing to be done for `all'.
|
11
|
+
|
12
|
+
current directory: /Users/tf0101/Desktop/ruby_devlop/video_chat_get/video_chat_get/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/ext/json
|
13
|
+
make "DESTDIR=" install
|
Binary file
|
Binary file
|
@@ -0,0 +1,60 @@
|
|
1
|
+
have_func: checking for rb_enc_raise() in ruby.h... -------------------- yes
|
2
|
+
|
3
|
+
"clang -o conftest -I/Users/tf0101/.rbenv/versions/2.5.8/include/ruby-2.5.0/x86_64-darwin18 -I/Users/tf0101/.rbenv/versions/2.5.8/include/ruby-2.5.0/ruby/backward -I/Users/tf0101/.rbenv/versions/2.5.8/include/ruby-2.5.0 -I. -I/Users/tf0101/.rbenv/versions/2.5.8/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wno-tautological-compare -Wno-parentheses-equality -Wno-constant-logical-operand -Wno-self-assign -Wunused-variable -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens -fno-common -pipe conftest.c -L. -L/Users/tf0101/.rbenv/versions/2.5.8/lib -L. -L/Users/tf0101/.rbenv/versions/2.5.8/lib -fstack-protector -L/usr/local/lib -lruby.2.5.8 -lpthread -lgmp -ldl -lobjc "
|
4
|
+
checked program was:
|
5
|
+
/* begin */
|
6
|
+
1: #include "ruby.h"
|
7
|
+
2:
|
8
|
+
3: int main(int argc, char **argv)
|
9
|
+
4: {
|
10
|
+
5: return 0;
|
11
|
+
6: }
|
12
|
+
/* end */
|
13
|
+
|
14
|
+
"clang -o conftest -I/Users/tf0101/.rbenv/versions/2.5.8/include/ruby-2.5.0/x86_64-darwin18 -I/Users/tf0101/.rbenv/versions/2.5.8/include/ruby-2.5.0/ruby/backward -I/Users/tf0101/.rbenv/versions/2.5.8/include/ruby-2.5.0 -I. -I/Users/tf0101/.rbenv/versions/2.5.8/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wno-tautological-compare -Wno-parentheses-equality -Wno-constant-logical-operand -Wno-self-assign -Wunused-variable -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens -fno-common -pipe conftest.c -L. -L/Users/tf0101/.rbenv/versions/2.5.8/lib -L. -L/Users/tf0101/.rbenv/versions/2.5.8/lib -fstack-protector -L/usr/local/lib -lruby.2.5.8 -lpthread -lgmp -ldl -lobjc "
|
15
|
+
conftest.c:15:57: error: use of undeclared identifier 'rb_enc_raise'
|
16
|
+
int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_enc_raise; return !p; }
|
17
|
+
^
|
18
|
+
1 error generated.
|
19
|
+
checked program was:
|
20
|
+
/* begin */
|
21
|
+
1: #include "ruby.h"
|
22
|
+
2:
|
23
|
+
3: #include <ruby.h>
|
24
|
+
4:
|
25
|
+
5: /*top*/
|
26
|
+
6: extern int t(void);
|
27
|
+
7: int main(int argc, char **argv)
|
28
|
+
8: {
|
29
|
+
9: if (argc > 1000000) {
|
30
|
+
10: printf("%p", &t);
|
31
|
+
11: }
|
32
|
+
12:
|
33
|
+
13: return 0;
|
34
|
+
14: }
|
35
|
+
15: int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_enc_raise; return !p; }
|
36
|
+
/* end */
|
37
|
+
|
38
|
+
"clang -o conftest -I/Users/tf0101/.rbenv/versions/2.5.8/include/ruby-2.5.0/x86_64-darwin18 -I/Users/tf0101/.rbenv/versions/2.5.8/include/ruby-2.5.0/ruby/backward -I/Users/tf0101/.rbenv/versions/2.5.8/include/ruby-2.5.0 -I. -I/Users/tf0101/.rbenv/versions/2.5.8/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wno-tautological-compare -Wno-parentheses-equality -Wno-constant-logical-operand -Wno-self-assign -Wunused-variable -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens -fno-common -pipe conftest.c -L. -L/Users/tf0101/.rbenv/versions/2.5.8/lib -L. -L/Users/tf0101/.rbenv/versions/2.5.8/lib -fstack-protector -L/usr/local/lib -lruby.2.5.8 -lpthread -lgmp -ldl -lobjc "
|
39
|
+
checked program was:
|
40
|
+
/* begin */
|
41
|
+
1: #include "ruby.h"
|
42
|
+
2:
|
43
|
+
3: #include <ruby.h>
|
44
|
+
4:
|
45
|
+
5: /*top*/
|
46
|
+
6: extern int t(void);
|
47
|
+
7: int main(int argc, char **argv)
|
48
|
+
8: {
|
49
|
+
9: if (argc > 1000000) {
|
50
|
+
10: printf("%p", &t);
|
51
|
+
11: }
|
52
|
+
12:
|
53
|
+
13: return 0;
|
54
|
+
14: }
|
55
|
+
15: extern void rb_enc_raise();
|
56
|
+
16: int t(void) { rb_enc_raise(); return 0; }
|
57
|
+
/* end */
|
58
|
+
|
59
|
+
--------------------
|
60
|
+
|
File without changes
|
@@ -1,12 +1,12 @@
|
|
1
|
-
current directory: /Users/tf0101/Desktop/
|
2
|
-
/
|
1
|
+
current directory: /Users/tf0101/Desktop/ruby_devlop/video_chat_get/video_chat_get/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri
|
2
|
+
/Users/tf0101/.rbenv/versions/2.5.8/bin/ruby -r ./siteconf20200821-51303-1wdw2z5.rb extconf.rb
|
3
3
|
checking if the C compiler accepts -I /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libxml2... yes
|
4
4
|
checking if the C compiler accepts -Wno-error=unused-command-line-argument-hard-error-in-future... no
|
5
5
|
Building nokogiri using packaged libraries.
|
6
6
|
Using mini_portile version 2.4.0
|
7
7
|
checking for iconv.h... yes
|
8
8
|
checking for gzdopen() in -lz... yes
|
9
|
-
checking for iconv
|
9
|
+
checking for iconv... yes
|
10
10
|
************************************************************************
|
11
11
|
IMPORTANT NOTICE:
|
12
12
|
|
@@ -35,16 +35,16 @@ If you are using Bundler, tell it to use the option:
|
|
35
35
|
Note, however, that nokogiri is not fully compatible with arbitrary
|
36
36
|
versions of libxml2 provided by OS/package vendors.
|
37
37
|
************************************************************************
|
38
|
-
Extracting libxml2-2.9.10.tar.gz into tmp/x86_64-apple-
|
39
|
-
Running git apply with /Users/tf0101/Desktop/
|
40
|
-
Running git apply with /Users/tf0101/Desktop/
|
41
|
-
Running git apply with /Users/tf0101/Desktop/
|
42
|
-
Running git apply with /Users/tf0101/Desktop/
|
43
|
-
Running git apply with /Users/tf0101/Desktop/
|
38
|
+
Extracting libxml2-2.9.10.tar.gz into tmp/x86_64-apple-darwin18.7.0/ports/libxml2/2.9.10... OK
|
39
|
+
Running git apply with /Users/tf0101/Desktop/ruby_devlop/video_chat_get/video_chat_get/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/patches/libxml2/0001-Revert-Do-not-URI-escape-in-server-side-includes.patch... OK
|
40
|
+
Running git apply with /Users/tf0101/Desktop/ruby_devlop/video_chat_get/video_chat_get/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/patches/libxml2/0002-Remove-script-macro-support.patch... OK
|
41
|
+
Running git apply with /Users/tf0101/Desktop/ruby_devlop/video_chat_get/video_chat_get/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/patches/libxml2/0003-Update-entities-to-remove-handling-of-ssi.patch... OK
|
42
|
+
Running git apply with /Users/tf0101/Desktop/ruby_devlop/video_chat_get/video_chat_get/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/patches/libxml2/0004-libxml2.la-is-in-top_builddir.patch... OK
|
43
|
+
Running git apply with /Users/tf0101/Desktop/ruby_devlop/video_chat_get/video_chat_get/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/patches/libxml2/0005-Fix-infinite-loop-in-xmlStringLenDecodeEntities.patch... OK
|
44
44
|
Running 'configure' for libxml2 2.9.10... OK
|
45
45
|
Running 'compile' for libxml2 2.9.10... OK
|
46
46
|
Running 'install' for libxml2 2.9.10... OK
|
47
|
-
Activating libxml2 2.9.10 (from /Users/tf0101/Desktop/
|
47
|
+
Activating libxml2 2.9.10 (from /Users/tf0101/Desktop/ruby_devlop/video_chat_get/video_chat_get/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ports/x86_64-apple-darwin18.7.0/libxml2/2.9.10)...
|
48
48
|
************************************************************************
|
49
49
|
IMPORTANT NOTICE:
|
50
50
|
|
@@ -64,11 +64,11 @@ If you are using Bundler, tell it to use the option:
|
|
64
64
|
bundle config build.nokogiri --use-system-libraries
|
65
65
|
bundle install
|
66
66
|
************************************************************************
|
67
|
-
Extracting libxslt-1.1.34.tar.gz into tmp/x86_64-apple-
|
67
|
+
Extracting libxslt-1.1.34.tar.gz into tmp/x86_64-apple-darwin18.7.0/ports/libxslt/1.1.34... OK
|
68
68
|
Running 'configure' for libxslt 1.1.34... OK
|
69
69
|
Running 'compile' for libxslt 1.1.34... OK
|
70
70
|
Running 'install' for libxslt 1.1.34... OK
|
71
|
-
Activating libxslt 1.1.34 (from /Users/tf0101/Desktop/
|
71
|
+
Activating libxslt 1.1.34 (from /Users/tf0101/Desktop/ruby_devlop/video_chat_get/video_chat_get/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ports/x86_64-apple-darwin18.7.0/libxslt/1.1.34)...
|
72
72
|
checking for -llzma... yes
|
73
73
|
checking for xmlParseDoc() in libxml/parser.h... yes
|
74
74
|
checking for xsltParseStylesheetDoc() in libxslt/xslt.h... yes
|
@@ -82,10 +82,10 @@ checking for xmlSchemaSetValidStructuredErrors()... yes
|
|
82
82
|
checking for xmlSchemaSetParserStructuredErrors()... yes
|
83
83
|
creating Makefile
|
84
84
|
|
85
|
-
current directory: /Users/tf0101/Desktop/
|
85
|
+
current directory: /Users/tf0101/Desktop/ruby_devlop/video_chat_get/video_chat_get/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri
|
86
86
|
make "DESTDIR=" clean
|
87
87
|
|
88
|
-
current directory: /Users/tf0101/Desktop/
|
88
|
+
current directory: /Users/tf0101/Desktop/ruby_devlop/video_chat_get/video_chat_get/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri
|
89
89
|
make "DESTDIR="
|
90
90
|
compiling html_document.c
|
91
91
|
compiling html_element_description.c
|
@@ -99,16 +99,16 @@ compiling xml_cdata.c
|
|
99
99
|
xml_cdata.c:29:23: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
|
100
100
|
content_str_len = RSTRING_LEN(content);
|
101
101
|
~ ^~~~~~~~~~~~~~~~~~~~
|
102
|
-
/
|
102
|
+
/Users/tf0101/.rbenv/versions/2.5.8/include/ruby-2.5.0/ruby/ruby.h:975:6: note: expanded from macro 'RSTRING_LEN'
|
103
103
|
RSTRING_EMBED_LEN(str) : \
|
104
104
|
^~~~~~~~~~~~~~~~~~~~~~
|
105
|
-
/
|
105
|
+
/Users/tf0101/.rbenv/versions/2.5.8/include/ruby-2.5.0/ruby/ruby.h:971:6: note: expanded from macro 'RSTRING_EMBED_LEN'
|
106
106
|
(long)((RBASIC(str)->flags >> RSTRING_EMBED_LEN_SHIFT) & \
|
107
107
|
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
108
108
|
xml_cdata.c:29:23: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
|
109
109
|
content_str_len = RSTRING_LEN(content);
|
110
110
|
~ ^~~~~~~~~~~~~~~~~~~~
|
111
|
-
/
|
111
|
+
/Users/tf0101/.rbenv/versions/2.5.8/include/ruby-2.5.0/ruby/ruby.h:976:28: note: expanded from macro 'RSTRING_LEN'
|
112
112
|
RSTRING(str)->as.heap.len)
|
113
113
|
~~~~~~~~~~~~~~~~~~~~~~^~~
|
114
114
|
2 warnings generated.
|
@@ -147,9 +147,9 @@ static void swallow_superfluous_xml_errors(void * userdata, xmlErrorPtr error, .
|
|
147
147
|
1 warning generated.
|
148
148
|
linking shared-object nokogiri/nokogiri.bundle
|
149
149
|
Cleaning files only used during build.
|
150
|
-
rm -rf /Users/tf0101/Desktop/
|
151
|
-
rm -rf /Users/tf0101/Desktop/
|
150
|
+
rm -rf /Users/tf0101/Desktop/ruby_devlop/video_chat_get/video_chat_get/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/tmp/x86_64-apple-darwin18.7.0/ports
|
151
|
+
rm -rf /Users/tf0101/Desktop/ruby_devlop/video_chat_get/video_chat_get/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ports
|
152
152
|
|
153
|
-
current directory: /Users/tf0101/Desktop/
|
153
|
+
current directory: /Users/tf0101/Desktop/ruby_devlop/video_chat_get/video_chat_get/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri
|
154
154
|
make "DESTDIR=" install
|
155
|
-
/usr/bin/install -c -m 0755 nokogiri.bundle ./.gem.
|
155
|
+
/usr/bin/install -c -m 0755 nokogiri.bundle ./.gem.20200821-51303-1lgbzii/nokogiri
|