muri 1.1.4 → 1.1.5

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/CHANGELOG CHANGED
@@ -1,6 +1,10 @@
1
1
  Muri Changelog
2
2
  ===================================
3
3
 
4
+ Version 1.1.5
5
+ * Minor update, changed facebook "media_api_id" to only return a string representation, not a hash
6
+ - Facebook provides "media_api_ids" which is a hash including pid, uid, and fql_id (the regular "media_api_id")
7
+
4
8
  Version 1.1.3
5
9
  * Changed "FLICKR_PHOTO" to "FLICKR_MEDIA" (since it can parse videos)
6
10
  - "flickr_photo?" is replaced by "flickr_media?" now
data/README.textile CHANGED
@@ -62,7 +62,7 @@ Assuming the URI was successfully parsed (thus @a.valid? == true@), all media ty
62
62
  * Services with a @media_api_id@ also have a @media_api_type@, which indicates what sort of API call should be made (be it 'photo', 'video', 'media', 'set', 'album', or 'playlist', depending on URI type)
63
63
 
64
64
 
65
- *NOTE: Facebook photos return a @media_api_id@ hash, keyed for photos by @uid@ and @pid@ (user and photo id, not the true Graph API id), and for videos by @v@ (the video id)*
65
+ *NOTE: Facebook content returns a @media_api_id@ string which is the FQL compatible ID. Facebook photos can also returns a @media_api_ids@ hash, keyed by @:uid@, @:pid@, and @:fql_id@ (user, photo, and fql id). This is courtesy the new Facebook Graph API messing stuff up.*
66
66
 
67
67
  *ALSO NOTE: Picasa @media_api_id@ is a partial string for using the photo API call, so for example @'bananastalktome/album/TestForAPI/photoid/5450524726782297346'@, thus the API call would be @"http://picasaweb.google.com/data/feed/api/user/#{media_api_id}"@*
68
68
 
data/VERSION.yml CHANGED
@@ -1,5 +1,4 @@
1
1
  ---
2
- :patch: 4
3
- :build:
4
2
  :major: 1
5
3
  :minor: 1
4
+ :patch: 5
@@ -32,7 +32,7 @@ class Muri
32
32
 
33
33
  self.media_api_type = FACEBOOK_VIDEO
34
34
  self.media_id = v
35
- self.media_api_id = {:v => v}
35
+ self.media_api_id = v
36
36
  self.media_website = "#{url_common}/video/video.php?v=#{self.media_id}"
37
37
  elsif (url_string =~ REGEX_FACEBOOK_PHOTO &&
38
38
  (pid = url_string.gsub(/\A.*?pid=(\d+)(&.*|\Z)/i, '\1')) &&
@@ -41,7 +41,13 @@ class Muri
41
41
  self.media_api_type = FACEBOOK_PHOTO
42
42
  self.media_id = pid
43
43
  media_creator = uid
44
- self.media_api_id = {:pid => pid, :uid => media_creator}
44
+
45
+ fql_id = ((media_creator.to_i << 32) + self.media_id.to_i).to_s
46
+
47
+ self.media_api_id = fql_id
48
+
49
+ #ugh, ugly, I hate facebook. FQL id's may stop working soon, so this may become media_api_id again later.
50
+ self.media_api_ids = { :pid => pid, :uid => media_creator, :fql_id => fql_id }
45
51
 
46
52
  self.media_website = "#{url_common}/photo.php?pid=#{self.media_id}&id=#{media_creator}"
47
53
  # elsif ((self.uri.path =~ REGEX_FACEBOOK_ALBUM) &&
data/muri.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{muri}
8
- s.version = "1.1.4"
8
+ s.version = "1.1.5"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["William Schneider"]
@@ -55,19 +55,21 @@ end
55
55
  { :type => :photo,
56
56
  :media_id => '34929102',
57
57
  :media_website => 'http://www.facebook.com/photo.php?pid=34929102&id=15201063',
58
- :media_api_id => {:pid => "34929102", :uid => "15201063"}
58
+ :media_api_id => '65288068484364750',
59
+ :media_api_ids => {:pid => "34929102", :uid => "15201063", :fql_id => '65288068484364750'}
59
60
  },
60
61
  'http://www.facebook.com/photo.php?pid=3343211&l=a1abf8cd37&id=322232#!/photo.php?pid=34929102&l=a1abf8cd37&id=15201063' =>
61
62
  { :type => :photo,
62
63
  :media_id => '34929102',
63
64
  :media_website => 'http://www.facebook.com/photo.php?pid=34929102&id=15201063',
64
- :media_api_id => {:pid => "34929102", :uid => "15201063"}
65
+ :media_api_id => '65288068484364750',
66
+ :media_api_ids => {:pid => "34929102", :uid => "15201063", :fql_id => '65288068484364750'}
65
67
  },
66
68
  'http://www.facebook.com/photo.php?pid=34929101&id=15201063#!/video/video.php?v=545993063513&subj=15201063' =>
67
69
  { :type => :video,
68
70
  :media_id => '545993063513',
69
71
  :media_website => "http://www.facebook.com/video/video.php?v=545993063513",
70
- :media_api_id => {:v => '545993063513'}
72
+ :media_api_id => '545993063513'
71
73
  }
72
74
  }.each do |url, values|
73
75
  describe "Facebook parse #{url}" do
@@ -86,6 +88,12 @@ end
86
88
  end
87
89
  end
88
90
 
91
+ if values[:media_api_ids]
92
+ it "should have media api id hash" do
93
+ @a.media_api_ids.should == values[:media_api_ids]
94
+ end
95
+ end
96
+
89
97
  if values[:media_website]
90
98
  it "should have a website" do
91
99
  @a.media_website.should == values[:media_website]
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 1
7
7
  - 1
8
- - 4
9
- version: 1.1.4
8
+ - 5
9
+ version: 1.1.5
10
10
  platform: ruby
11
11
  authors:
12
12
  - William Schneider