Class: Flickr::Person

Inherits:
Object
  • Object
show all
Defined in:
lib/flickr/base.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(flickr, nsid, username) ⇒ Person

Returns a new instance of Person.



278
279
280
281
282
283
284
# File 'lib/flickr/base.rb', line 278

def initialize(flickr, nsid, username)
	@flickr = flickr
	@nsid = nsid
	@username = username
	@info_fetched = false
	@upload_fetched = false
end

Instance Attribute Details

#bandwidth_maxObject

Returns the value of attribute bandwidth_max.



272
273
274
# File 'lib/flickr/base.rb', line 272

def bandwidth_max
  @bandwidth_max
end

#bandwidth_usedObject

Returns the value of attribute bandwidth_used.



272
273
274
# File 'lib/flickr/base.rb', line 272

def bandwidth_used
  @bandwidth_used
end

#familyObject

Returns the value of attribute family.



272
273
274
# File 'lib/flickr/base.rb', line 272

def family
  @family
end

#filesize_maxObject

Returns the value of attribute filesize_max.



272
273
274
# File 'lib/flickr/base.rb', line 272

def filesize_max
  @filesize_max
end

#friendObject

Returns the value of attribute friend.



272
273
274
# File 'lib/flickr/base.rb', line 272

def friend
  @friend
end

#iconserverObject

Returns the value of attribute iconserver.



272
273
274
# File 'lib/flickr/base.rb', line 272

def iconserver
  @iconserver
end

#ignoredObject

Returns the value of attribute ignored.



272
273
274
# File 'lib/flickr/base.rb', line 272

def ignored
  @ignored
end

#info_fetchedObject

Returns the value of attribute info_fetched.



272
273
274
# File 'lib/flickr/base.rb', line 272

def info_fetched
  @info_fetched
end

#isadminObject

Returns the value of attribute isadmin.



272
273
274
# File 'lib/flickr/base.rb', line 272

def isadmin
  @isadmin
end

#isproObject

Returns the value of attribute ispro.



272
273
274
# File 'lib/flickr/base.rb', line 272

def ispro
  @ispro
end

#locationObject

Returns the value of attribute location.



272
273
274
# File 'lib/flickr/base.rb', line 272

def location
  @location
end

#mbox_sha1sumObject

Returns the value of attribute mbox_sha1sum.



272
273
274
# File 'lib/flickr/base.rb', line 272

def mbox_sha1sum
  @mbox_sha1sum
end

#nsidObject

Returns the value of attribute nsid.



272
273
274
# File 'lib/flickr/base.rb', line 272

def nsid
  @nsid
end

#photos_countObject

Returns the value of attribute photos_count.



272
273
274
# File 'lib/flickr/base.rb', line 272

def photos_count
  @photos_count
end

#photos_firstdateObject

Returns the value of attribute photos_firstdate.



272
273
274
# File 'lib/flickr/base.rb', line 272

def photos_firstdate
  @photos_firstdate
end

#photos_firstdatetakenObject

Returns the value of attribute photos_firstdatetaken.



272
273
274
# File 'lib/flickr/base.rb', line 272

def photos_firstdatetaken
  @photos_firstdatetaken
end

#photosurlObject

Returns the value of attribute photosurl.



272
273
274
# File 'lib/flickr/base.rb', line 272

def photosurl
  @photosurl
end

#profileurlObject

Returns the value of attribute profileurl.



272
273
274
# File 'lib/flickr/base.rb', line 272

def profileurl
  @profileurl
end

#realnameObject

Returns the value of attribute realname.



272
273
274
# File 'lib/flickr/base.rb', line 272

def realname
  @realname
end

#upload_fetchedObject

Returns the value of attribute upload_fetched.



272
273
274
# File 'lib/flickr/base.rb', line 272

def upload_fetched
  @upload_fetched
end

#usernameObject

Returns the value of attribute username.



272
273
274
# File 'lib/flickr/base.rb', line 272

def username
  @username
end

Class Method Details

.from_xml(xml, flickr = nil) ⇒ Object

I think this will define a class method. You can’t use Flickr::Person.from_xml and if you just say Person.from_xml, it can’t resolve Flickr::Person::Person



296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
# File 'lib/flickr/base.rb', line 296

def self.from_xml(xml,flickr=nil)
	els = xml.elements
	att = xml.root.attributes

	nsid = cond_attr(att,'nsid')
	username = cond_text(els,'/person/username')

	p = flickr.person_cache_lookup(nsid) if flickr
	p ||= Flickr::Person.new(flickr,nsid,username)
	
	p.username = username
	p.isadmin = cond_attr(att,'isadmin') &&
	  cond_attr(att,'isadmin') == '1'
	p.ispro = cond_attr(att,'ispro') &&
	  cond_attr(att,'ispro') == '1'
	p.iconserver = cond_attr(att,'iconserver') &&
	  cond_attr(att,'iconserver').to_i
	p.realname = cond_text(els,'/person/realname')
	p.mbox_sha1sum = cond_text(els,'/person/mbox_sha1sum')
	p.location = cond_text(els,'/person/location')
	p.photosurl = cond_text(els,'/person/photosurl')
	p.profileurl = cond_text(els,'/person/profileurl')
	tstr = cond_text(els,'/person/photos/firstdate')
	p.photos_firstdate = Time.at(tstr.to_i) if tstr
	tstr = cond_text(els, '/person/photos/firstdatetaken')
	p.photos_firstdatetaken = Time.gm(*ParseDate.parsedate(tstr)) if
	tstr
	p.photos_count = cond_text(els,'/person/photos/count')
	p.photos_count = p.photos_count if p.photos_count

	p.info_fetched = true if p.photos_count

	if els['/user/bandwidth']
		att = els['/user/bandwidth'].attributes
		p.bandwidth_max = cond_attr(att,'max') &&
		  cond_attr(att,'max').to_i
		p.bandwidth_used = cond_attr(att,'used') &&
		  cond_attr(att,'used').to_i
	end
	if els['/user/filesize']
		att = els['/user/filesize'].attributes
		p.filesize_max = cond_attr(att,'max') &&
		  cond_attr(att,'max').to_i
	end

	p.upload_fetched = true if p.bandwidth_max

	flickr.person_cache_store(p) if flickr
	return p
end

Instance Method Details

#full_infoObject



286
287
288
# File 'lib/flickr/base.rb', line 286

def full_info()
	self.info_fetched ? self : @flickr.people.getInfo(self)
end

#upload_statusObject



289
290
# File 'lib/flickr/base.rb', line 289

def upload_status() self.upload_fetched ? self :
@flickr.people.getUploadStatus(self) end