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.



264
265
266
267
268
269
270
# File 'lib/flickr/base.rb', line 264

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.



258
259
260
# File 'lib/flickr/base.rb', line 258

def bandwidth_max
  @bandwidth_max
end

#bandwidth_usedObject

Returns the value of attribute bandwidth_used.



258
259
260
# File 'lib/flickr/base.rb', line 258

def bandwidth_used
  @bandwidth_used
end

#familyObject

Returns the value of attribute family.



258
259
260
# File 'lib/flickr/base.rb', line 258

def family
  @family
end

#filesize_maxObject

Returns the value of attribute filesize_max.



258
259
260
# File 'lib/flickr/base.rb', line 258

def filesize_max
  @filesize_max
end

#friendObject

Returns the value of attribute friend.



258
259
260
# File 'lib/flickr/base.rb', line 258

def friend
  @friend
end

#iconserverObject

Returns the value of attribute iconserver.



258
259
260
# File 'lib/flickr/base.rb', line 258

def iconserver
  @iconserver
end

#ignoredObject

Returns the value of attribute ignored.



258
259
260
# File 'lib/flickr/base.rb', line 258

def ignored
  @ignored
end

#info_fetchedObject

Returns the value of attribute info_fetched.



258
259
260
# File 'lib/flickr/base.rb', line 258

def info_fetched
  @info_fetched
end

#isadminObject

Returns the value of attribute isadmin.



258
259
260
# File 'lib/flickr/base.rb', line 258

def isadmin
  @isadmin
end

#isproObject

Returns the value of attribute ispro.



258
259
260
# File 'lib/flickr/base.rb', line 258

def ispro
  @ispro
end

#locationObject

Returns the value of attribute location.



258
259
260
# File 'lib/flickr/base.rb', line 258

def location
  @location
end

#mbox_sha1sumObject

Returns the value of attribute mbox_sha1sum.



258
259
260
# File 'lib/flickr/base.rb', line 258

def mbox_sha1sum
  @mbox_sha1sum
end

#nsidObject

Returns the value of attribute nsid.



258
259
260
# File 'lib/flickr/base.rb', line 258

def nsid
  @nsid
end

#photos_countObject

Returns the value of attribute photos_count.



258
259
260
# File 'lib/flickr/base.rb', line 258

def photos_count
  @photos_count
end

#photos_firstdateObject

Returns the value of attribute photos_firstdate.



258
259
260
# File 'lib/flickr/base.rb', line 258

def photos_firstdate
  @photos_firstdate
end

#photos_firstdatetakenObject

Returns the value of attribute photos_firstdatetaken.



258
259
260
# File 'lib/flickr/base.rb', line 258

def photos_firstdatetaken
  @photos_firstdatetaken
end

#photosurlObject

Returns the value of attribute photosurl.



258
259
260
# File 'lib/flickr/base.rb', line 258

def photosurl
  @photosurl
end

#profileurlObject

Returns the value of attribute profileurl.



258
259
260
# File 'lib/flickr/base.rb', line 258

def profileurl
  @profileurl
end

#realnameObject

Returns the value of attribute realname.



258
259
260
# File 'lib/flickr/base.rb', line 258

def realname
  @realname
end

#upload_fetchedObject

Returns the value of attribute upload_fetched.



258
259
260
# File 'lib/flickr/base.rb', line 258

def upload_fetched
  @upload_fetched
end

#usernameObject

Returns the value of attribute username.



258
259
260
# File 'lib/flickr/base.rb', line 258

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



282
283
284
285
286
287
288
289
290
291
292
293
294
295
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
# File 'lib/flickr/base.rb', line 282

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



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

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

#upload_statusObject



275
276
# File 'lib/flickr/base.rb', line 275

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