Handling Comments#
Comments are an important part of zoopyper
’s functionality. They allow
access to discussions from Zooniverse’s Talk functionality, where volunteers
contribute comments on the crowdsourced citizen science projects where they can
discuss the project’s subjects.
This section will show you how to handle comments using the zoopyper
package, including how to get access to all comments, how to get pre-filtered
comments, and how to get comments for a specific subject.
Getting Access to All Comments#
To get access to all comments in the project, you can use the
Project.comments
property:
# Get all comments for the project
project.comments
This will return a pandas.DataFrame
containing all the comments for
the project.
Getting Pre-Filtered Comments#
To get a pre-filtered comments DataFrame, including only non-staff members,
you can use the Project.get_comments()
method with the
include_staff=False
setting.
If you run it before informing the Project
which users count as “staff”,
you will get a warning. In the example below, we start by letting the
Project
know who is a staff member:
# Set the staff property on the project to a list of usernames
project.set_staff(["miaridge", "kallewesterling"])
# Get pre-filtered comments
project.get_comments(include_staff=False)
This will return a pandas.DataFrame
containing only comments from
non-staff members.
Getting Comments for a Specific Subject#
To get comments for a specific subject, you can use the
Project.get_subject_comments()
method with the subject ID as the argument:
# Get comments for a specific subject
project.get_subject_comments(73334345)
This will return a pandas.DataFrame
containing all the comments for
the specified subject.
Note that, by default, the get_subject_comments
method will always includes
comments from contributors marked as “staff” in Zoonyper. You can disable this
by informing the Project
instance about which usernames count as staff and
then passing the parameter include_staff=False
to the method:
# Set the staff property on the project to a list of usernames
project.set_staff(["miaridge", "kallewesterling"])
# Get pre-filtered comments for the particular subject
project.get_subject_comments(73334345, include_staff=False)