NAME
WWW::Geni - Perl extension for Geni.com
SYNOPSIS
use WWW::Geni;
my $geni = new WWW::Geni($username, $password, collaborators => 1);
DESCRIPTION
Use this module to manipulate Geni profiles and examine profile conflicts. This module contains four classes: WWW::Geni, WWW::Geni::List, WWW::Geni::Profile, and WWW::Geni::Conflict.
METHODS
WWW::Geni
WWW::Geni->new($username, $password)
Returns a WWW::Geni object or 0 if login credentials were not supplied or login fails. Optional argument "collaborators" specifies whether to retrieve collaborator conflicts or only your own.
$geni->user()
Get username the script is currently logged in as.
$geni->tree_conflicts()
Returns a WWW::Geni::List of WWW::Geni::Conflict objects. Access by using $list->has_next() and $list->next().
my $list = $geni->tree_conflicts();
while(my $conflict = $list->next()){
# do something
}
WWW::Geni::Conflict
This object should only be created internally by this module. It is used to group profiles that may be duplicates of each other and document the relationships between those profiles.
$conflict->profile()
Returns a WWW::Geni::Profile object describing the focal profile of this conflict.
$conflict->managers()
TODO: Make sure this is accurate
Returns a WWW::Geni::List of WWW::Geni::Profile objects describing the managers involved in this conflict.
$conflict->type()
Returns the type of conflict in the form "parent" or "partner".
$conflict->actor()
Returns a WWW::Geni::Profile describing the last Geni user who acted upon this conflict.
$conflict->fetch_list()
Returns a WWW::Geni::List of WWW::Geni::Profile objects describing, respectively, the spouses, parents, children, and siblings of the conflict's focal profile.
WWW::Geni::Profile
Describes a single Geni profile.
$profile->id()
Get the new-style ID of the profile, which is in the form "profile-0000000000", or if it is not known, the old-style ID, which is in the form "G00000000000000000".
$profile->first_name()
$profile->middle_name()
$profile->last_name()
$profile->maiden_name()
$profile->display_name()
$profile->gender()
$profile->birth_date()
$profile->birth_location()
$profile->death_date()
$profile->death_location()
$profile->locked()
Returns 1 if profile is locked, 0 if profile is not locked.
$profile->big_tree()
Returns 1 if the profile is in the Big Tree, 0 if it is not.
$profile->claimed()
Returns 1 if the profile is claimed, i. e., a living Geni user, 0 if it is not.
$profile->public()
Returns 1 if the profile is public, 0 if it is private.
$profile->creator()
Returns the WWW::Geni::Profile of the profile's creator.
$profile->guid()
Returns the profile's old-style ID in the form "G00000000000000000" if we have it.
$profile->managers()
TODO: Change this to a WWW::Geni::List of WWW::Geni::Profile objects.
Returns an array of profile ids representing the managers of the profile.
WWW::Geni::Family
This class may not ever be used and may be deleted.
WWW::Geni::List
TODO: see if there is any need for an existing iterable type class instead of defining our own, and weigh the benefits of an additional dependency.
A class representing an iterable group of items of the same type.
$list->has_next()
Return 1 if there are items left in the list, 0 if the list is empty.
$list->next()
Delete and return the next object in the list.
$list->add()
Add an item to the end of the list.
$list->count()
Return the number of items remaining in the list.
SEEALSO
GitHub: https://github.com/erinspice/geni-perl
AUTHOR
Erin Spiceland <lt>erin@thespicelands.com<gt> Erin is a software developer and part-time amateur genealogist, as well as a Geni Curator.
COPYRIGHT AND LICENSE
Copyright (C) 2010-2011 by Erin Spiceland
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.10.1 or, at your option, any later version of Perl 5 you may have available.