ghtorrent 0.11 → 0.11.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: 68b11841a8dfbd0418723fce0620a5d625b4cca1
4
- data.tar.gz: d39f30596d257cfe5cb365e1365388169e50cc18
3
+ metadata.gz: 02d0d3901077bde8352f2cfaf52fcb83aa90fcc4
4
+ data.tar.gz: ca3d1320d374247884e26444b00a3a460f4101aa
5
5
  SHA512:
6
- metadata.gz: 6443373ff38703c8113c23716db591a1574eb7f2e36eba1ae68d78ce322b20e42f1c0c840c3a113bb870b7c8b5aae817cb07a60f46d6bccb07ed4058cabc23d2
7
- data.tar.gz: cfad88e464fad602f38f6f4cfb7963a0b7ac28f5c205ddf954939937c398d513e004725ef70e920b682b06239c2adc6663c3a29f6eea90913aad3611c9c2a310
6
+ metadata.gz: 6e1c9d5c24ffa30f9c693eefbc2b0409fbdf2f91ab2314881c5989cad9b716424eeb390b48d1b43f9a900b5fa9556e0f78ccc1ae73e995fcba564a9a1e0c9e57
7
+ data.tar.gz: 771b2d985ce9869a47bb35231732a72cd3601048ca7b31021396420dfbcdcb106d6408eb539ac9a4750a81984aa2fafe54a7e12e59f28676980e57dd45168c3a
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ghtorrent (0.11)
4
+ ghtorrent (0.12)
5
5
  bson_ext (~> 1.9, >= 1.9.0)
6
6
  bunny (~> 1.0, >= 1.0.0)
7
7
  mongo (~> 1.9, >= 1.9.0)
@@ -3,4 +3,4 @@
3
3
  require 'rubygems'
4
4
  require 'ghtorrent'
5
5
 
6
- GHTUpdateRepo.run(ARGV)
6
+ GHTRetrieveUser.run(ARGV)
@@ -63,6 +63,5 @@ require 'ghtorrent/commands/ght_retrieve_dependents'
63
63
  require 'ghtorrent/commands/ght_retrieve_repos'
64
64
  require 'ghtorrent/commands/ght_retrieve_one'
65
65
  require 'ghtorrent/commands/ght_retrieve_users'
66
- require 'ghtorrent/commands/ght_update_repo'
67
66
 
68
67
  # vim: set sta sts=2 shiftwidth=2 sw=2 et ai :
@@ -50,7 +50,7 @@ An efficient way to get all data for a single repo
50
50
 
51
51
  def stages
52
52
  %w(ensure_commits ensure_forks ensure_pull_requests
53
- ensure_issues ensure_watchers ensure_labels ensure_languages) #ensure_project_members
53
+ ensure_issues ensure_watchers ensure_labels) #ensure_project_members
54
54
  end
55
55
 
56
56
 
@@ -560,7 +560,7 @@ module GHTorrent
560
560
  end
561
561
 
562
562
  functions = %w(ensure_labels ensure_pull_requests
563
- ensure_issues ensure_watchers ensure_forks ensure_languages)
563
+ ensure_issues ensure_watchers ensure_forks)
564
564
 
565
565
  functions.each do |x|
566
566
  send(x, owner, repo)
@@ -568,29 +568,6 @@ module GHTorrent
568
568
 
569
569
  end
570
570
 
571
- # Get details about the languages used in the repository
572
- def ensure_languages(owner, repo)
573
- currepo = ensure_repo(owner, repo)
574
- langs = retrieve_languages(owner, repo)
575
-
576
- if langs.nil? or langs.empty?
577
- warn "Could not find languages for repo #{owner}/#{repo}"
578
- return
579
- end
580
-
581
- ts = Time.now
582
- langs.keys.each do |lang|
583
- @db[:project_languages].insert(
584
- :project_id => currepo[:id],
585
- :language => lang.downcase,
586
- :lines => langs[lang],
587
- :created_at => ts
588
- )
589
- info "Added project_language #{owner}/#{repo} -> #{lang} (#{langs[lang]} lines)"
590
- end
591
- @db[:project_languages].where(:project_id => currepo[:id]).where(:created_at => ts).all
592
- end
593
-
594
571
  # Fast path to project forking. Retrieve all commits page by page
595
572
  # until we reach a commit that has been registered with the parent
596
573
  # repository. Then, copy all remaining parent commits to this repo.
@@ -10,7 +10,7 @@ Sequel.migration do
10
10
  :default => false
11
11
 
12
12
  puts 'Field deleted added'
13
- puts 'Remember to run the fixes/ght_update_project_info.rb script to mark deleted projects'
13
+ puts 'Remember to run the fixes/update_deleted.rb script to mark deleted projects'
14
14
  end
15
15
 
16
16
  down do
@@ -210,10 +210,6 @@ module GHTorrent
210
210
  end
211
211
  end
212
212
 
213
- def retrieve_languages(owner, repo)
214
- paged_api_request ghurl "repos/#{owner}/#{repo}/languages"
215
- end
216
-
217
213
  # Retrieve organizations the provided user participates into
218
214
  def retrieve_orgs(user)
219
215
  url = ghurl "users/#{user}/orgs"
@@ -1,5 +1,5 @@
1
1
  module GHTorrent
2
2
 
3
- VERSION = '0.11'
3
+ VERSION = '0.11.1'
4
4
 
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ghtorrent
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.11'
4
+ version: 0.11.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Georgios Gousios
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-09-24 00:00:00.000000000 Z
12
+ date: 2015-09-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: mongo
@@ -143,7 +143,6 @@ files:
143
143
  - lib/ghtorrent/commands/ght_retrieve_repos.rb
144
144
  - lib/ghtorrent/commands/ght_retrieve_user.rb
145
145
  - lib/ghtorrent/commands/ght_retrieve_users.rb
146
- - lib/ghtorrent/commands/ght_update_repo.rb
147
146
  - lib/ghtorrent/event_processing.rb
148
147
  - lib/ghtorrent/ghtorrent.rb
149
148
  - lib/ghtorrent/hash.rb
@@ -169,7 +168,6 @@ files:
169
168
  - lib/ghtorrent/migrations/019_add_fake_to_users.rb
170
169
  - lib/ghtorrent/migrations/020_add_deleted_to_users.rb
171
170
  - lib/ghtorrent/migrations/021_remove_ext_ref_id.rb
172
- - lib/ghtorrent/migrations/022_add_project_languages.rb
173
171
  - lib/ghtorrent/migrations/mysql_defaults.rb
174
172
  - lib/ghtorrent/multiprocess_queue_client.rb
175
173
  - lib/ghtorrent/persister.rb
@@ -1,126 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'ghtorrent'
4
-
5
- class GHTUpdateRepo < GHTorrent::Command
6
-
7
- include GHTorrent::Settings
8
- include GHTorrent::Retriever
9
- include GHTorrent::Persister
10
- include GHTorrent::Logging
11
-
12
- def prepare_options(options)
13
- options.banner <<-BANNER
14
- Updates the deleted field in the project table with current data
15
-
16
- #{command_name} owner repo
17
-
18
- BANNER
19
- end
20
-
21
- def validate
22
- super
23
- Trollop::die "Takes two arguments" if ARGV.size == 1
24
- end
25
-
26
- def persister
27
- @persister ||= connect(:mongo, settings)
28
- @persister
29
- end
30
-
31
- def db
32
- @db ||= @ght.get_db
33
- end
34
-
35
- def date(arg)
36
- if arg.class != Time
37
- Time.parse(arg)#.to_i
38
- else
39
- arg
40
- end
41
- end
42
-
43
- def set_deleted(owner, repo)
44
- db.from(:projects, :users).\
45
- where(:projects__owner_id => :users__id).\
46
- where(:users__login => owner).\
47
- where(:projects__name => repo).\
48
- update(:projects__deleted => true)
49
- info("Project #{owner}/#{repo} marked as deleted")
50
- end
51
-
52
- def update_mysql(owner, repo, retrieved)
53
-
54
- parent = unless retrieved['parent'].nil?
55
- @ght.ensure_repo(retrieved['parent']['owner']['login'],
56
- retrieved['parent']['name'])
57
- end
58
-
59
- db.from(:projects, :users).\
60
- where(:projects__owner_id => :users__id).\
61
- where(:users__login => owner).\
62
- where(:projects__name => repo).\
63
- update(
64
- :projects__url => retrieved['url'],
65
- :projects__description => retrieved['description'],
66
- :projects__language => retrieved['language'],
67
- :projects__created_at => date(retrieved['created_at']),
68
- :projects__forked_from => unless parent.nil? then parent[:id] end)
69
- debug("Repo #{owner}/#{repo} updated")
70
-
71
- @ght.ensure_languages(owner, repo)
72
- end
73
-
74
- def process_project(owner, name)
75
- @ght.transaction do
76
-
77
- in_mongo = persister.find(:repos, {'owner.login' => owner, 'name' => name })
78
- on_github = api_request(ghurl ("repos/#{owner}/#{name}"))
79
-
80
- unless in_mongo.empty? and on_github.empty?
81
- in_mysql = retrieve_repo(owner, name)
82
- end
83
-
84
- if in_mongo.empty?
85
- if on_github.empty?
86
- if in_mysql.nil?
87
- # Project does not exist anywhere
88
- warn "Repo #{owner}/#{name} does not exist in MySQL"
89
- else
90
- # Project exists in MySQL but not on Github or Mongo
91
- # Mark it as deleted
92
- set_deleted(owner, name)
93
- end
94
- else
95
- # Project does not exist in Mongo, but exists in Github
96
- if in_mysql.nil?
97
- warn "Repo #{owner}/#{name} does not exist in MySQL"
98
- else
99
- # The retrieval process already added it to Mongo, so update MySQL
100
- update_mysql(owner, name, in_mysql)
101
- end
102
- end
103
- else
104
- if on_github.empty?
105
- # Project was deleted on Github. Mark it as deleted.
106
- set_deleted(owner, name)
107
- else
108
- update_mysql(owner, name, in_mysql)
109
- end
110
- end
111
- end
112
- end
113
-
114
- def go
115
-
116
- @ght ||= GHTorrent::Mirror.new(settings)
117
-
118
- unless ARGV[1].nil?
119
- process_project(ARGV[0], ARGV[1])
120
- exit(0)
121
- end
122
-
123
- end
124
- end
125
-
126
- GHTUpdateRepo.run
@@ -1,24 +0,0 @@
1
- require 'sequel'
2
-
3
- require 'ghtorrent/migrations/mysql_defaults'
4
-
5
-
6
- Sequel.migration do
7
-
8
- up do
9
- puts 'Adding table project_languages'
10
-
11
- create_table :project_languages do
12
- foreign_key :project_id, :projects, :null => false
13
- String :language, :null => false
14
- Integer :lines, :null => false, :default => 0
15
- DateTime :created_at, :null => false,
16
- :default => Sequel::CURRENT_TIMESTAMP
17
- end
18
- end
19
-
20
- down do
21
- puts 'Dropping table project_languages'
22
- drop_table :project_languages
23
- end
24
- end