muri 1.1.4 → 1.1.5

Sign up to get free protection for your applications and to get access to all the features.
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