Reads approval requests of a given type for a given user.

def ReadApprovalRequests(self,
                           requestor_username,
                           approval_type,
                           subject_id=None,
                           include_expired=False):
    """Reads approval requests of a given type for a given user."""
    now = rdfvalue.RDFDatetime.Now()

    result = []
    approvals = self.approvals_by_username.get(requestor_username, {})
    for approval in itervalues(approvals):
      if approval.approval_type != approval_type:
        continue

      if subject_id and approval.subject_id != subject_id:
        continue

      if not include_expired and approval.expiration_time < now:
        continue

      result.append(approval)

    return result