ghtorrent 0.11 → 0.11.1

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: 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